@@ -11903,13 +11903,13 @@ namespace ts {
1190311903 }
1190411904 attributeSymbol.type = exprType;
1190511905 attributeSymbol.target = member;
11906- attributesTable[ attributeSymbol.name] = attributeSymbol;
11906+ attributesTable.set( attributeSymbol.name, attributeSymbol) ;
1190711907 attributesArray.push(attributeSymbol);
1190811908 }
1190911909 else {
1191011910 Debug.assert(attributeDecl.kind === SyntaxKind.JsxSpreadAttribute);
1191111911 if (attributesArray.length > 0) {
11912- spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable), /*isFromObjectLiteral*/ true );
11912+ spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
1191311913 attributesArray = [];
1191411914 attributesTable = createMap<Symbol>();
1191511915 }
@@ -11922,13 +11922,13 @@ namespace ts {
1192211922 if (isTypeAny(widenExprType)) {
1192311923 return undefined;
1192411924 }
11925- spread = getSpreadType(spread, exprType, /*isFromObjectLiteral*/ false );
11925+ spread = getSpreadType(spread, exprType);
1192611926 }
1192711927 }
1192811928
1192911929 if (spread !== emptyObjectType) {
1193011930 if (attributesArray.length > 0) {
11931- spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable), /*isFromObjectLiteral*/ true );
11931+ spread = getSpreadType(spread, createJsxAttributesType(attributes.symbol, attributesTable));
1193211932 attributesArray = [];
1193311933 attributesTable = createMap<Symbol>();
1193411934 }
@@ -11962,7 +11962,7 @@ namespace ts {
1196211962 if (symbolArray) {
1196311963 const symbolTable = createMap<Symbol>();
1196411964 forEach(symbolArray, (attr) => {
11965- symbolTable[ attr.name] = attr;
11965+ symbolTable.set( attr.name, attr) ;
1196611966 });
1196711967 argAttributesType = createJsxAttributesType(node.symbol, symbolTable);
1196811968 }
@@ -11986,7 +11986,7 @@ namespace ts {
1198611986 }
1198711987
1198811988 const symbolArray = getJsxAttributesSymbolArrayFromAttributesProperty(openingLikeElement);
11989- // sourceAttributesType is a type of an attributes properties.
11989+ // sourceAttributesType is a type of attributes properties.
1199011990 // i.e <div attr1={10} attr2="string" />
1199111991 // attr1 and attr2 are treated as JSXAttributes attached in the JsxOpeningLikeElement as "attributes". They resolved to be sourceAttributesType.
1199211992 let sourceAttributesType = anyType as Type;
@@ -11996,7 +11996,7 @@ namespace ts {
1199611996 const symbolTable = createMap<Symbol>();
1199711997 forEach(symbolArray, (attr) => {
1199811998 if (isUnhyphenatedJsxName(attr.name) || getPropertyOfType(targetAttributesType, attr.name)) {
11999- symbolTable[ attr.name] = attr;
11999+ symbolTable.set( attr.name, attr) ;
1200012000 isSourceAttributesTypeEmpty = false;
1200112001 }
1200212002 });
@@ -12450,7 +12450,7 @@ namespace ts {
1245012450 }
1245112451 }
1245212452
12453- checkJSXAttributesAssignableToTagnameAttributes(openingLikeElement );
12453+ checkJSXAttributesAssignableToTagnameAttributes(node );
1245412454 }
1245512455
1245612456 function checkJsxExpression(node: JsxExpression) {
0 commit comments