Skip to content

Commit e047025

Browse files
committed
Update LKG
1 parent 637b378 commit e047025

File tree

6 files changed

+58
-12
lines changed

6 files changed

+58
-12
lines changed

lib/tsc.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1573,6 +1573,7 @@ var ts;
15731573
Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
15741574
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
15751575
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
1576+
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
15761577
Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
15771578
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
15781579
Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
@@ -12680,7 +12681,7 @@ var ts;
1268012681
return members;
1268112682
}
1268212683
function resolveTupleTypeMembers(type) {
12683-
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes)));
12684+
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes, true)));
1268412685
var members = createTupleTypeMemberSymbols(type.elementTypes);
1268512686
addInheritedMembers(members, arrayType.properties);
1268612687
setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexType, arrayType.numberIndexType);
@@ -15973,7 +15974,7 @@ var ts;
1597315974
var propertiesTable = {};
1597415975
var propertiesArray = [];
1597515976
var contextualType = getContextualType(node);
15976-
var typeFlags;
15977+
var typeFlags = 0;
1597715978
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
1597815979
var memberDecl = _a[_i];
1597915980
var member = memberDecl.symbol;
@@ -16014,7 +16015,8 @@ var ts;
1601416015
var stringIndexType = getIndexType(0);
1601516016
var numberIndexType = getIndexType(1);
1601616017
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
16017-
result.flags |= 524288 | 1048576 | 4194304 | (typeFlags & 14680064);
16018+
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
16019+
result.flags |= 524288 | 4194304 | freshObjectLiteralFlag | (typeFlags & 14680064);
1601816020
return result;
1601916021
function getIndexType(kind) {
1602016022
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -19714,6 +19716,7 @@ var ts;
1971419716
if (baseTypes.length && produceDiagnostics) {
1971519717
var baseType = baseTypes[0];
1971619718
var staticBaseType = getBaseConstructorTypeOfClass(type);
19719+
checkSourceElement(baseTypeNode.expression);
1971719720
if (baseTypeNode.typeArguments) {
1971819721
ts.forEach(baseTypeNode.typeArguments, checkSourceElement);
1971919722
for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments); _i < _a.length; _i++) {
@@ -20613,6 +20616,8 @@ var ts;
2061320616
case 209:
2061420617
case 210:
2061520618
case 212:
20619+
case 241:
20620+
case 186:
2061620621
case 215:
2061720622
case 245:
2061820623
case 225:
@@ -30376,6 +30381,12 @@ var ts;
3037630381
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
3037730382
paramType: ts.Diagnostics.LOCATION
3037830383
},
30384+
{
30385+
name: "suppressExcessPropertyErrors",
30386+
type: "boolean",
30387+
description: ts.Diagnostics.Suppress_excess_property_checks_for_object_literals,
30388+
experimental: true
30389+
},
3037930390
{
3038030391
name: "suppressImplicitAnyIndexErrors",
3038130392
type: "boolean",

lib/tsserver.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1573,6 +1573,7 @@ var ts;
15731573
Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
15741574
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
15751575
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
1576+
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
15761577
Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
15771578
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
15781579
Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
@@ -3163,6 +3164,12 @@ var ts;
31633164
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
31643165
paramType: ts.Diagnostics.LOCATION
31653166
},
3167+
{
3168+
name: "suppressExcessPropertyErrors",
3169+
type: "boolean",
3170+
description: ts.Diagnostics.Suppress_excess_property_checks_for_object_literals,
3171+
experimental: true
3172+
},
31663173
{
31673174
name: "suppressImplicitAnyIndexErrors",
31683175
type: "boolean",
@@ -13136,7 +13143,7 @@ var ts;
1313613143
return members;
1313713144
}
1313813145
function resolveTupleTypeMembers(type) {
13139-
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes)));
13146+
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes, true)));
1314013147
var members = createTupleTypeMemberSymbols(type.elementTypes);
1314113148
addInheritedMembers(members, arrayType.properties);
1314213149
setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexType, arrayType.numberIndexType);
@@ -16429,7 +16436,7 @@ var ts;
1642916436
var propertiesTable = {};
1643016437
var propertiesArray = [];
1643116438
var contextualType = getContextualType(node);
16432-
var typeFlags;
16439+
var typeFlags = 0;
1643316440
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
1643416441
var memberDecl = _a[_i];
1643516442
var member = memberDecl.symbol;
@@ -16470,7 +16477,8 @@ var ts;
1647016477
var stringIndexType = getIndexType(0);
1647116478
var numberIndexType = getIndexType(1);
1647216479
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
16473-
result.flags |= 524288 | 1048576 | 4194304 | (typeFlags & 14680064);
16480+
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
16481+
result.flags |= 524288 | 4194304 | freshObjectLiteralFlag | (typeFlags & 14680064);
1647416482
return result;
1647516483
function getIndexType(kind) {
1647616484
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -20170,6 +20178,7 @@ var ts;
2017020178
if (baseTypes.length && produceDiagnostics) {
2017120179
var baseType = baseTypes[0];
2017220180
var staticBaseType = getBaseConstructorTypeOfClass(type);
20181+
checkSourceElement(baseTypeNode.expression);
2017320182
if (baseTypeNode.typeArguments) {
2017420183
ts.forEach(baseTypeNode.typeArguments, checkSourceElement);
2017520184
for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments); _i < _a.length; _i++) {
@@ -21069,6 +21078,8 @@ var ts;
2106921078
case 209:
2107021079
case 210:
2107121080
case 212:
21081+
case 241:
21082+
case 186:
2107221083
case 215:
2107321084
case 245:
2107421085
case 225:

lib/typescript.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,7 @@ declare module "typescript" {
13291329
rootDir?: string;
13301330
sourceMap?: boolean;
13311331
sourceRoot?: string;
1332+
suppressExcessPropertyErrors?: boolean;
13321333
suppressImplicitAnyIndexErrors?: boolean;
13331334
target?: ScriptTarget;
13341335
version?: boolean;

lib/typescript.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,6 +2442,7 @@ var ts;
24422442
Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
24432443
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
24442444
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
2445+
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
24452446
Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
24462447
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
24472448
Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
@@ -15702,7 +15703,7 @@ var ts;
1570215703
return members;
1570315704
}
1570415705
function resolveTupleTypeMembers(type) {
15705-
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes)));
15706+
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes, /*noDeduplication*/ true)));
1570615707
var members = createTupleTypeMemberSymbols(type.elementTypes);
1570715708
addInheritedMembers(members, arrayType.properties);
1570815709
setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexType, arrayType.numberIndexType);
@@ -19438,7 +19439,7 @@ var ts;
1943819439
var propertiesTable = {};
1943919440
var propertiesArray = [];
1944019441
var contextualType = getContextualType(node);
19441-
var typeFlags;
19442+
var typeFlags = 0;
1944219443
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
1944319444
var memberDecl = _a[_i];
1944419445
var member = memberDecl.symbol;
@@ -19484,7 +19485,8 @@ var ts;
1948419485
var stringIndexType = getIndexType(0 /* String */);
1948519486
var numberIndexType = getIndexType(1 /* Number */);
1948619487
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
19487-
result.flags |= 524288 /* ObjectLiteral */ | 1048576 /* FreshObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | (typeFlags & 14680064 /* PropagatingFlags */);
19488+
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576 /* FreshObjectLiteral */;
19489+
result.flags |= 524288 /* ObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 14680064 /* PropagatingFlags */);
1948819490
return result;
1948919491
function getIndexType(kind) {
1949019492
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -24248,6 +24250,7 @@ var ts;
2424824250
if (baseTypes.length && produceDiagnostics) {
2424924251
var baseType = baseTypes[0];
2425024252
var staticBaseType = getBaseConstructorTypeOfClass(type);
24253+
checkSourceElement(baseTypeNode.expression);
2425124254
if (baseTypeNode.typeArguments) {
2425224255
ts.forEach(baseTypeNode.typeArguments, checkSourceElement);
2425324256
for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments); _i < _a.length; _i++) {
@@ -25227,6 +25230,8 @@ var ts;
2522725230
case 209 /* VariableDeclaration */:
2522825231
case 210 /* VariableDeclarationList */:
2522925232
case 212 /* ClassDeclaration */:
25233+
case 241 /* HeritageClause */:
25234+
case 186 /* ExpressionWithTypeArguments */:
2523025235
case 215 /* EnumDeclaration */:
2523125236
case 245 /* EnumMember */:
2523225237
case 225 /* ExportAssignment */:
@@ -36231,6 +36236,12 @@ var ts;
3623136236
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
3623236237
paramType: ts.Diagnostics.LOCATION
3623336238
},
36239+
{
36240+
name: "suppressExcessPropertyErrors",
36241+
type: "boolean",
36242+
description: ts.Diagnostics.Suppress_excess_property_checks_for_object_literals,
36243+
experimental: true
36244+
},
3623436245
{
3623536246
name: "suppressImplicitAnyIndexErrors",
3623636247
type: "boolean",

lib/typescriptServices.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,6 +1329,7 @@ declare namespace ts {
13291329
rootDir?: string;
13301330
sourceMap?: boolean;
13311331
sourceRoot?: string;
1332+
suppressExcessPropertyErrors?: boolean;
13321333
suppressImplicitAnyIndexErrors?: boolean;
13331334
target?: ScriptTarget;
13341335
version?: boolean;

lib/typescriptServices.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,6 +2442,7 @@ var ts;
24422442
Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
24432443
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
24442444
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
2445+
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
24452446
Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
24462447
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
24472448
Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
@@ -15702,7 +15703,7 @@ var ts;
1570215703
return members;
1570315704
}
1570415705
function resolveTupleTypeMembers(type) {
15705-
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes)));
15706+
var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes, /*noDeduplication*/ true)));
1570615707
var members = createTupleTypeMemberSymbols(type.elementTypes);
1570715708
addInheritedMembers(members, arrayType.properties);
1570815709
setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexType, arrayType.numberIndexType);
@@ -19438,7 +19439,7 @@ var ts;
1943819439
var propertiesTable = {};
1943919440
var propertiesArray = [];
1944019441
var contextualType = getContextualType(node);
19441-
var typeFlags;
19442+
var typeFlags = 0;
1944219443
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
1944319444
var memberDecl = _a[_i];
1944419445
var member = memberDecl.symbol;
@@ -19484,7 +19485,8 @@ var ts;
1948419485
var stringIndexType = getIndexType(0 /* String */);
1948519486
var numberIndexType = getIndexType(1 /* Number */);
1948619487
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
19487-
result.flags |= 524288 /* ObjectLiteral */ | 1048576 /* FreshObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | (typeFlags & 14680064 /* PropagatingFlags */);
19488+
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576 /* FreshObjectLiteral */;
19489+
result.flags |= 524288 /* ObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 14680064 /* PropagatingFlags */);
1948819490
return result;
1948919491
function getIndexType(kind) {
1949019492
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -24248,6 +24250,7 @@ var ts;
2424824250
if (baseTypes.length && produceDiagnostics) {
2424924251
var baseType = baseTypes[0];
2425024252
var staticBaseType = getBaseConstructorTypeOfClass(type);
24253+
checkSourceElement(baseTypeNode.expression);
2425124254
if (baseTypeNode.typeArguments) {
2425224255
ts.forEach(baseTypeNode.typeArguments, checkSourceElement);
2425324256
for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments); _i < _a.length; _i++) {
@@ -25227,6 +25230,8 @@ var ts;
2522725230
case 209 /* VariableDeclaration */:
2522825231
case 210 /* VariableDeclarationList */:
2522925232
case 212 /* ClassDeclaration */:
25233+
case 241 /* HeritageClause */:
25234+
case 186 /* ExpressionWithTypeArguments */:
2523025235
case 215 /* EnumDeclaration */:
2523125236
case 245 /* EnumMember */:
2523225237
case 225 /* ExportAssignment */:
@@ -36231,6 +36236,12 @@ var ts;
3623136236
description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
3623236237
paramType: ts.Diagnostics.LOCATION
3623336238
},
36239+
{
36240+
name: "suppressExcessPropertyErrors",
36241+
type: "boolean",
36242+
description: ts.Diagnostics.Suppress_excess_property_checks_for_object_literals,
36243+
experimental: true
36244+
},
3623436245
{
3623536246
name: "suppressImplicitAnyIndexErrors",
3623636247
type: "boolean",

0 commit comments

Comments
 (0)