Skip to content

Commit c366dac

Browse files
committed
Resolve JSX intrinsic elements to index signature symbols
1 parent defe33a commit c366dac

File tree

45 files changed

+750
-335
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+750
-335
lines changed

src/compiler/checker.ts

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -30668,15 +30668,21 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3066830668
if (!isErrorType(intrinsicElementsType)) {
3066930669
// Property case
3067030670
if (!isIdentifier(node.tagName) && !isJsxNamespacedName(node.tagName)) return Debug.fail();
30671-
const intrinsicProp = getPropertyOfType(intrinsicElementsType, isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText);
30671+
const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
30672+
const intrinsicProp = getPropertyOfType(intrinsicElementsType, propName);
3067230673
if (intrinsicProp) {
3067330674
links.jsxFlags |= JsxFlags.IntrinsicNamedElement;
3067430675
return links.resolvedSymbol = intrinsicProp;
3067530676
}
3067630677

3067730678
// Intrinsic string indexer case
30678-
const indexSignatureType = getIndexTypeOfType(intrinsicElementsType, stringType);
30679-
if (indexSignatureType) {
30679+
const indexSymbol = getApplicableIndexSymbol(intrinsicElementsType, getStringLiteralType(unescapeLeadingUnderscores(propName)));
30680+
if (indexSymbol) {
30681+
links.jsxFlags |= JsxFlags.IntrinsicIndexedElement;
30682+
return links.resolvedSymbol = indexSymbol;
30683+
}
30684+
30685+
if (getTypeOfPropertyOrIndexSignatureOfType(intrinsicElementsType, propName)) {
3068030686
links.jsxFlags |= JsxFlags.IntrinsicIndexedElement;
3068130687
return links.resolvedSymbol = intrinsicElementsType.symbol;
3068230688
}
@@ -30904,8 +30910,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3090430910
return links.resolvedJsxElementAttributesType = getTypeOfSymbol(symbol) || errorType;
3090530911
}
3090630912
else if (links.jsxFlags & JsxFlags.IntrinsicIndexedElement) {
30913+
const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
3090730914
return links.resolvedJsxElementAttributesType =
30908-
getIndexTypeOfType(getJsxType(JsxNames.IntrinsicElements, node), stringType) || errorType;
30915+
getApplicableIndexInfoForName(getJsxType(JsxNames.IntrinsicElements, node), propName)?.type || errorType;
3090930916
}
3091030917
else {
3091130918
return links.resolvedJsxElementAttributesType = errorType;
@@ -45699,33 +45706,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4569945706
if (name.kind === SyntaxKind.PropertyAccessExpression) {
4570045707
checkPropertyAccessExpression(name, CheckMode.Normal);
4570145708
if (!links.resolvedSymbol) {
45702-
const expressionType = checkExpressionCached(name.expression);
45703-
const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name));
45704-
if (infos.length && (expressionType as ObjectType).members) {
45705-
const resolved = resolveStructuredTypeMembers(expressionType as ObjectType);
45706-
const symbol = resolved.members.get(InternalSymbolName.Index);
45707-
if (infos === getIndexInfosOfType(expressionType)) {
45708-
links.resolvedSymbol = symbol;
45709-
}
45710-
else if (symbol) {
45711-
const symbolLinks = getSymbolLinks(symbol);
45712-
const declarationList = mapDefined(infos, i => i.declaration);
45713-
const nodeListId = map(declarationList, getNodeId).join(",");
45714-
if (!symbolLinks.filteredIndexSymbolCache) {
45715-
symbolLinks.filteredIndexSymbolCache = new Map();
45716-
}
45717-
if (symbolLinks.filteredIndexSymbolCache.has(nodeListId)) {
45718-
links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45719-
}
45720-
else {
45721-
const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index);
45722-
copy.declarations = mapDefined(infos, i => i.declaration);
45723-
copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent);
45724-
symbolLinks.filteredIndexSymbolCache.set(nodeListId, copy);
45725-
links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45726-
}
45727-
}
45728-
}
45709+
links.resolvedSymbol = getApplicableIndexSymbol(checkExpressionCached(name.expression), getLiteralTypeFromPropertyName(name.name));
4572945710
}
4573045711
}
4573145712
else {
@@ -45752,6 +45733,34 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4575245733
return undefined;
4575345734
}
4575445735

45736+
function getApplicableIndexSymbol(type: Type, keyType: Type) {
45737+
const infos = getApplicableIndexInfos(type, keyType);
45738+
if (infos.length && (type as ObjectType).members) {
45739+
const symbol = getIndexSymbolFromSymbolTable(resolveStructuredTypeMembers(type as ObjectType).members)
45740+
if (infos === getIndexInfosOfType(type)) {
45741+
return symbol;
45742+
}
45743+
else if (symbol) {
45744+
const symbolLinks = getSymbolLinks(symbol);
45745+
const declarationList = mapDefined(infos, i => i.declaration);
45746+
const nodeListId = map(declarationList, getNodeId).join(",");
45747+
if (!symbolLinks.filteredIndexSymbolCache) {
45748+
symbolLinks.filteredIndexSymbolCache = new Map();
45749+
}
45750+
if (symbolLinks.filteredIndexSymbolCache.has(nodeListId)) {
45751+
return symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45752+
}
45753+
else {
45754+
const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index);
45755+
copy.declarations = mapDefined(infos, i => i.declaration);
45756+
copy.parent = type.aliasSymbol ? type.aliasSymbol : type.symbol ? type.symbol : getSymbolAtLocation(copy.declarations[0].parent);
45757+
symbolLinks.filteredIndexSymbolCache.set(nodeListId, copy);
45758+
return copy;
45759+
}
45760+
}
45761+
}
45762+
}
45763+
4575545764
/**
4575645765
* Recursively resolve entity names and jsdoc instance references:
4575745766
* 1. K#m as K.prototype.m for a class (or other value) K

tests/baselines/reference/inlineJsxAndJsxFragPragma.symbols

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import {h, Fragment} from "./renderer";
3434
>Fragment : Symbol(Fragment, Decl(preacty.tsx, 4, 10))
3535

3636
<><div></div></>
37-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
38-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
37+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
38+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
3939

4040
=== snabbdomy.tsx ===
4141
/* @jsx jsx */
@@ -44,8 +44,8 @@ import {jsx} from "./renderer";
4444
>jsx : Symbol(jsx, Decl(snabbdomy.tsx, 2, 8))
4545

4646
<><span></span></>
47-
>span : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
48-
>span : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
47+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
48+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
4949

5050
=== preacty-only-fragment.tsx ===
5151
/**
@@ -93,8 +93,8 @@ import {h, Fragment} from "./renderer";
9393
>Fragment : Symbol(Fragment, Decl(preacty-no-fragment.tsx, 4, 10))
9494

9595
<div></div>
96-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
97-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
96+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
97+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
9898

9999
=== snabbdomy-no-fragment.tsx ===
100100
/* @jsx jsx */
@@ -103,8 +103,8 @@ import {jsx} from "./renderer";
103103
>jsx : Symbol(jsx, Decl(snabbdomy-no-fragment.tsx, 2, 8))
104104

105105
<div></div>
106-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
107-
>div : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
106+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
107+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
108108

109109
=== preacty-only-component.tsx ===
110110
/**

tests/baselines/reference/inlineJsxAndJsxFragPragmaOverridesCompilerOptions.symbols

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ import {createElement, Fragment} from "./react";
3838
>Fragment : Symbol(Fragment, Decl(reacty.tsx, 0, 22))
3939

4040
<><span></span></>
41-
>span : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
42-
>span : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
41+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
42+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
4343

4444
=== preacty.tsx ===
4545
/**
@@ -51,8 +51,8 @@ import {h, Frag} from "./preact";
5151
>Frag : Symbol(Frag, Decl(preacty.tsx, 4, 10))
5252

5353
<><div></div></>
54-
>div : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
55-
>div : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
54+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
55+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
5656

5757
=== snabbdomy.tsx ===
5858
/**
@@ -63,8 +63,8 @@ import {h} from "./snabbdom";
6363
>h : Symbol(h, Decl(snabbdomy.tsx, 4, 8))
6464

6565
<><div></div></>
66-
>div : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
67-
>div : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
66+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
67+
>div : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
6868

6969
=== mix-n-match.tsx ===
7070
/* @jsx h */
@@ -76,6 +76,6 @@ import {Fragment} from "./react";
7676
>Fragment : Symbol(Fragment, Decl(mix-n-match.tsx, 3, 8))
7777

7878
<><span></span></>
79-
>span : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
80-
>span : Symbol(JSX.IntrinsicElements, Decl(react.d.ts, 1, 19))
79+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
80+
>span : Symbol(JSX.IntrinsicElements.__index, Decl(react.d.ts, 2, 37))
8181

tests/baselines/reference/inlineJsxFactoryDeclarations.symbols

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import * as React from "./renderer";
3434
>React : Symbol(React, Decl(otherreacty.tsx, 1, 6))
3535

3636
<h></h>
37-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
38-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
37+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
38+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
3939

4040
=== other.tsx ===
4141
/** @jsx h */
@@ -45,8 +45,8 @@ import { dom as h } from "./renderer"
4545

4646
export const prerendered = <h></h>;
4747
>prerendered : Symbol(prerendered, Decl(other.tsx, 2, 12))
48-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
49-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
48+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
49+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
5050

5151
=== othernoalias.tsx ===
5252
/** @jsx otherdom */
@@ -55,26 +55,26 @@ import { otherdom } from "./renderer"
5555

5656
export const prerendered2 = <h></h>;
5757
>prerendered2 : Symbol(prerendered2, Decl(othernoalias.tsx, 2, 12))
58-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
59-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
58+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
59+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
6060

6161
=== reacty.tsx ===
6262
import React from "./renderer"
6363
>React : Symbol(React, Decl(reacty.tsx, 0, 6))
6464

6565
export const prerendered3 = <h></h>;
6666
>prerendered3 : Symbol(prerendered3, Decl(reacty.tsx, 1, 12))
67-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
68-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
67+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
68+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
6969

7070
=== index.tsx ===
7171
/** @jsx dom */
7272
import { dom } from "./renderer"
7373
>dom : Symbol(dom, Decl(index.tsx, 1, 8))
7474

7575
<h></h>
76-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
77-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
76+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
77+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
7878

7979
export * from "./other";
8080
export * from "./othernoalias";

tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.symbols

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Elemen
116116
>predom : Symbol(predom, Decl(component.tsx, 1, 8))
117117
>JSX : Symbol(predom.JSX, Decl(renderer2.d.ts, 0, 25))
118118
>Element : Symbol(predom.JSX.Element, Decl(renderer2.d.ts, 4, 9))
119-
>p : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
119+
>p : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
120120
>props.x : Symbol(x, Decl(component.tsx, 3, 30))
121121
>props : Symbol(props, Decl(component.tsx, 3, 22))
122122
>x : Symbol(x, Decl(component.tsx, 3, 30))
@@ -129,7 +129,7 @@ export const MySFC = (props: {x: number, y: number, children?: predom.JSX.Elemen
129129
>props.y : Symbol(y, Decl(component.tsx, 3, 40))
130130
>props : Symbol(props, Decl(component.tsx, 3, 22))
131131
>y : Symbol(y, Decl(component.tsx, 3, 40))
132-
>p : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
132+
>p : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
133133

134134
export class MyClass implements predom.JSX.Element {
135135
>MyClass : Symbol(MyClass, Decl(component.tsx, 3, 164))
@@ -155,7 +155,7 @@ export class MyClass implements predom.JSX.Element {
155155
>render : Symbol(MyClass.render, Decl(component.tsx, 7, 89))
156156

157157
return <p>
158-
>p : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
158+
>p : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
159159

160160
{this.props.x} + {this.props.y} = {this.props.x + this.props.y}
161161
>this.props.x : Symbol(x, Decl(component.tsx, 7, 31))
@@ -187,7 +187,7 @@ export class MyClass implements predom.JSX.Element {
187187
>children : Symbol(children, Decl(component.tsx, 7, 52))
188188

189189
</p>;
190-
>p : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
190+
>p : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
191191
}
192192
}
193193
export const tree = <MySFC x={1} y={2}><MyClass x={3} y={4} /><MyClass x={5} y={6} /></MySFC>
@@ -204,8 +204,8 @@ export const tree = <MySFC x={1} y={2}><MyClass x={3} y={4} /><MyClass x={5} y={
204204
>MySFC : Symbol(MySFC, Decl(component.tsx, 3, 12))
205205

206206
export default <h></h>
207-
>h : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
208-
>h : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
207+
>h : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
208+
>h : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
209209

210210
=== index.tsx ===
211211
/** @jsx dom */
@@ -224,8 +224,8 @@ let elem = prerendered;
224224

225225
elem = <h></h>; // Expect assignability error here
226226
>elem : Symbol(elem, Decl(index.tsx, 3, 3))
227-
>h : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
228-
>h : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
227+
>h : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
228+
>h : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
229229

230230
const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) => <p>{props.x} + {props.y} = {props.x + props.y}{props.children}</p>;
231231
>DOMSFC : Symbol(DOMSFC, Decl(index.tsx, 6, 5))
@@ -236,7 +236,7 @@ const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) =>
236236
>dom : Symbol(dom, Decl(index.tsx, 1, 8))
237237
>JSX : Symbol(dom.JSX, Decl(renderer.d.ts, 0, 22))
238238
>Element : Symbol(dom.JSX.Element, Decl(renderer.d.ts, 4, 9))
239-
>p : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
239+
>p : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
240240
>props.x : Symbol(x, Decl(index.tsx, 6, 24))
241241
>props : Symbol(props, Decl(index.tsx, 6, 16))
242242
>x : Symbol(x, Decl(index.tsx, 6, 24))
@@ -252,7 +252,7 @@ const DOMSFC = (props: {x: number, y: number, children?: dom.JSX.Element[]}) =>
252252
>props.children : Symbol(children, Decl(index.tsx, 6, 45))
253253
>props : Symbol(props, Decl(index.tsx, 6, 16))
254254
>children : Symbol(children, Decl(index.tsx, 6, 45))
255-
>p : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
255+
>p : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
256256

257257
class DOMClass implements dom.JSX.Element {
258258
>DOMClass : Symbol(DOMClass, Decl(index.tsx, 6, 147))
@@ -278,7 +278,7 @@ class DOMClass implements dom.JSX.Element {
278278
>render : Symbol(DOMClass.render, Decl(index.tsx, 10, 86))
279279

280280
return <p>{this.props.x} + {this.props.y} = {this.props.x + this.props.y}{...this.props.children}</p>;
281-
>p : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
281+
>p : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
282282
>this.props.x : Symbol(x, Decl(index.tsx, 10, 31))
283283
>this.props : Symbol(DOMClass.props, Decl(index.tsx, 10, 16))
284284
>this : Symbol(DOMClass, Decl(index.tsx, 6, 147))
@@ -304,7 +304,7 @@ class DOMClass implements dom.JSX.Element {
304304
>this : Symbol(DOMClass, Decl(index.tsx, 6, 147))
305305
>props : Symbol(DOMClass.props, Decl(index.tsx, 10, 16))
306306
>children : Symbol(children, Decl(index.tsx, 10, 52))
307-
>p : Symbol(dom.JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
307+
>p : Symbol(dom.JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
308308
}
309309
}
310310

tests/baselines/reference/inlineJsxFactoryLocalTypeGlobalFallback.symbols

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ import { predom } from "./renderer2"
8787
>predom : Symbol(predom, Decl(component.tsx, 1, 8))
8888

8989
export default <h></h>
90-
>h : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
91-
>h : Symbol(predom.JSX.IntrinsicElements, Decl(renderer2.d.ts, 1, 19))
90+
>h : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
91+
>h : Symbol(predom.JSX.IntrinsicElements.__index, Decl(renderer2.d.ts, 2, 37))
9292

9393
=== index.tsx ===
9494
/** @jsx dom */
@@ -104,6 +104,6 @@ let elem = prerendered;
104104

105105
elem = <h></h>; // Expect assignability error here
106106
>elem : Symbol(elem, Decl(index.tsx, 3, 3))
107-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
108-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
107+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
108+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
109109

tests/baselines/reference/inlineJsxFactoryOverridesCompilerOption.symbols

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ import {dom} from "./renderer";
2828
>dom : Symbol(dom, Decl(reacty.tsx, 1, 8))
2929

3030
<h></h>
31-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
32-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
31+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
32+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
3333

3434
=== index.tsx ===
3535
import { p } from "./renderer";
3636
>p : Symbol(p, Decl(index.tsx, 0, 8))
3737

3838
<h></h>
39-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
40-
>h : Symbol(JSX.IntrinsicElements, Decl(renderer.d.ts, 1, 19))
39+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
40+
>h : Symbol(JSX.IntrinsicElements.__index, Decl(renderer.d.ts, 2, 37))
4141

0 commit comments

Comments
 (0)