Skip to content

Commit 5ea2952

Browse files
authored
Resolve JSX intrinsic elements to index signature symbols (#55245)
1 parent e936eb1 commit 5ea2952

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
@@ -30680,15 +30680,21 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3068030680
if (!isErrorType(intrinsicElementsType)) {
3068130681
// Property case
3068230682
if (!isIdentifier(node.tagName) && !isJsxNamespacedName(node.tagName)) return Debug.fail();
30683-
const intrinsicProp = getPropertyOfType(intrinsicElementsType, isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText);
30683+
const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
30684+
const intrinsicProp = getPropertyOfType(intrinsicElementsType, propName);
3068430685
if (intrinsicProp) {
3068530686
links.jsxFlags |= JsxFlags.IntrinsicNamedElement;
3068630687
return links.resolvedSymbol = intrinsicProp;
3068730688
}
3068830689

3068930690
// Intrinsic string indexer case
30690-
const indexSignatureType = getIndexTypeOfType(intrinsicElementsType, stringType);
30691-
if (indexSignatureType) {
30691+
const indexSymbol = getApplicableIndexSymbol(intrinsicElementsType, getStringLiteralType(unescapeLeadingUnderscores(propName)));
30692+
if (indexSymbol) {
30693+
links.jsxFlags |= JsxFlags.IntrinsicIndexedElement;
30694+
return links.resolvedSymbol = indexSymbol;
30695+
}
30696+
30697+
if (getTypeOfPropertyOrIndexSignatureOfType(intrinsicElementsType, propName)) {
3069230698
links.jsxFlags |= JsxFlags.IntrinsicIndexedElement;
3069330699
return links.resolvedSymbol = intrinsicElementsType.symbol;
3069430700
}
@@ -30916,8 +30922,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
3091630922
return links.resolvedJsxElementAttributesType = getTypeOfSymbol(symbol) || errorType;
3091730923
}
3091830924
else if (links.jsxFlags & JsxFlags.IntrinsicIndexedElement) {
30925+
const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
3091930926
return links.resolvedJsxElementAttributesType =
30920-
getIndexTypeOfType(getJsxType(JsxNames.IntrinsicElements, node), stringType) || errorType;
30927+
getApplicableIndexInfoForName(getJsxType(JsxNames.IntrinsicElements, node), propName)?.type || errorType;
3092130928
}
3092230929
else {
3092330930
return links.resolvedJsxElementAttributesType = errorType;
@@ -45709,33 +45716,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4570945716
if (name.kind === SyntaxKind.PropertyAccessExpression) {
4571045717
checkPropertyAccessExpression(name, CheckMode.Normal);
4571145718
if (!links.resolvedSymbol) {
45712-
const expressionType = checkExpressionCached(name.expression);
45713-
const infos = getApplicableIndexInfos(expressionType, getLiteralTypeFromPropertyName(name.name));
45714-
if (infos.length && (expressionType as ObjectType).members) {
45715-
const resolved = resolveStructuredTypeMembers(expressionType as ObjectType);
45716-
const symbol = resolved.members.get(InternalSymbolName.Index);
45717-
if (infos === getIndexInfosOfType(expressionType)) {
45718-
links.resolvedSymbol = symbol;
45719-
}
45720-
else if (symbol) {
45721-
const symbolLinks = getSymbolLinks(symbol);
45722-
const declarationList = mapDefined(infos, i => i.declaration);
45723-
const nodeListId = map(declarationList, getNodeId).join(",");
45724-
if (!symbolLinks.filteredIndexSymbolCache) {
45725-
symbolLinks.filteredIndexSymbolCache = new Map();
45726-
}
45727-
if (symbolLinks.filteredIndexSymbolCache.has(nodeListId)) {
45728-
links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45729-
}
45730-
else {
45731-
const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index);
45732-
copy.declarations = mapDefined(infos, i => i.declaration);
45733-
copy.parent = expressionType.aliasSymbol ? expressionType.aliasSymbol : expressionType.symbol ? expressionType.symbol : getSymbolAtLocation(copy.declarations[0].parent);
45734-
symbolLinks.filteredIndexSymbolCache.set(nodeListId, copy);
45735-
links.resolvedSymbol = symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45736-
}
45737-
}
45738-
}
45719+
links.resolvedSymbol = getApplicableIndexSymbol(checkExpressionCached(name.expression), getLiteralTypeFromPropertyName(name.name));
4573945720
}
4574045721
}
4574145722
else {
@@ -45762,6 +45743,34 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4576245743
return undefined;
4576345744
}
4576445745

45746+
function getApplicableIndexSymbol(type: Type, keyType: Type) {
45747+
const infos = getApplicableIndexInfos(type, keyType);
45748+
if (infos.length && (type as ObjectType).members) {
45749+
const symbol = getIndexSymbolFromSymbolTable(resolveStructuredTypeMembers(type as ObjectType).members);
45750+
if (infos === getIndexInfosOfType(type)) {
45751+
return symbol;
45752+
}
45753+
else if (symbol) {
45754+
const symbolLinks = getSymbolLinks(symbol);
45755+
const declarationList = mapDefined(infos, i => i.declaration);
45756+
const nodeListId = map(declarationList, getNodeId).join(",");
45757+
if (!symbolLinks.filteredIndexSymbolCache) {
45758+
symbolLinks.filteredIndexSymbolCache = new Map();
45759+
}
45760+
if (symbolLinks.filteredIndexSymbolCache.has(nodeListId)) {
45761+
return symbolLinks.filteredIndexSymbolCache.get(nodeListId)!;
45762+
}
45763+
else {
45764+
const copy = createSymbol(SymbolFlags.Signature, InternalSymbolName.Index);
45765+
copy.declarations = mapDefined(infos, i => i.declaration);
45766+
copy.parent = type.aliasSymbol ? type.aliasSymbol : type.symbol ? type.symbol : getSymbolAtLocation(copy.declarations[0].parent);
45767+
symbolLinks.filteredIndexSymbolCache.set(nodeListId, copy);
45768+
return copy;
45769+
}
45770+
}
45771+
}
45772+
}
45773+
4576545774
/**
4576645775
* Recursively resolve entity names and jsdoc instance references:
4576745776
* 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)