@@ -8640,7 +8640,7 @@ namespace ts {
8640
8640
return getTypeOfDestructuredArrayElement(getAssignedType(node), indexOf(node.elements, element));
8641
8641
}
8642
8642
8643
- function getAssignedTypeOfSpreadExpression(node: SpreadExpression ): Type {
8643
+ function getAssignedTypeOfSpreadExpression(node: SpreadElement ): Type {
8644
8644
return getTypeOfDestructuredSpreadExpression(getAssignedType(<ArrayLiteralExpression>node.parent));
8645
8645
}
8646
8646
@@ -8665,8 +8665,8 @@ namespace ts {
8665
8665
return undefinedType;
8666
8666
case SyntaxKind.ArrayLiteralExpression:
8667
8667
return getAssignedTypeOfArrayLiteralElement(<ArrayLiteralExpression>parent, node);
8668
- case SyntaxKind.SpreadExpression :
8669
- return getAssignedTypeOfSpreadExpression(<SpreadExpression >parent);
8668
+ case SyntaxKind.SpreadElement :
8669
+ return getAssignedTypeOfSpreadExpression(<SpreadElement >parent);
8670
8670
case SyntaxKind.PropertyAssignment:
8671
8671
return getAssignedTypeOfPropertyAssignment(<PropertyAssignment>parent);
8672
8672
case SyntaxKind.ShorthandPropertyAssignment:
@@ -10697,7 +10697,7 @@ namespace ts {
10697
10697
return mapper && mapper.context;
10698
10698
}
10699
10699
10700
- function checkSpreadExpression(node: SpreadExpression , contextualMapper?: TypeMapper): Type {
10700
+ function checkSpreadExpression(node: SpreadElement , contextualMapper?: TypeMapper): Type {
10701
10701
// It is usually not safe to call checkExpressionCached if we can be contextually typing.
10702
10702
// You can tell that we are contextually typing because of the contextualMapper parameter.
10703
10703
// While it is true that a spread element can have a contextual type, it does not do anything
@@ -10719,7 +10719,7 @@ namespace ts {
10719
10719
const elementTypes: Type[] = [];
10720
10720
const inDestructuringPattern = isAssignmentTarget(node);
10721
10721
for (const e of elements) {
10722
- if (inDestructuringPattern && e.kind === SyntaxKind.SpreadExpression ) {
10722
+ if (inDestructuringPattern && e.kind === SyntaxKind.SpreadElement ) {
10723
10723
// Given the following situation:
10724
10724
// var c: {};
10725
10725
// [...c] = ["", 0];
@@ -10732,7 +10732,7 @@ namespace ts {
10732
10732
// get the contextual element type from it. So we do something similar to
10733
10733
// getContextualTypeForElementExpression, which will crucially not error
10734
10734
// if there is no index type / iterated type.
10735
- const restArrayType = checkExpression((<SpreadExpression >e).expression, contextualMapper);
10735
+ const restArrayType = checkExpression((<SpreadElement >e).expression, contextualMapper);
10736
10736
const restElementType = getIndexTypeOfType(restArrayType, IndexKind.Number) ||
10737
10737
(languageVersion >= ScriptTarget.ES2015 ? getElementTypeOfIterable(restArrayType, /*errorNode*/ undefined) : undefined);
10738
10738
if (restElementType) {
@@ -10743,7 +10743,7 @@ namespace ts {
10743
10743
const type = checkExpressionForMutableLocation(e, contextualMapper);
10744
10744
elementTypes.push(type);
10745
10745
}
10746
- hasSpreadElement = hasSpreadElement || e.kind === SyntaxKind.SpreadExpression ;
10746
+ hasSpreadElement = hasSpreadElement || e.kind === SyntaxKind.SpreadElement ;
10747
10747
}
10748
10748
if (!hasSpreadElement) {
10749
10749
// If array literal is actually a destructuring pattern, mark it as an implied type. We do this such
@@ -10927,7 +10927,7 @@ namespace ts {
10927
10927
prop.target = member;
10928
10928
member = prop;
10929
10929
}
10930
- else if (memberDecl.kind === SyntaxKind.SpreadElementExpression ) {
10930
+ else if (memberDecl.kind === SyntaxKind.SpreadAssignment ) {
10931
10931
if (propertiesArray.length > 0) {
10932
10932
spread = getSpreadType(spread, createObjectLiteralType(), node.symbol);
10933
10933
propertiesArray = [];
@@ -10936,7 +10936,7 @@ namespace ts {
10936
10936
hasComputedNumberProperty = false;
10937
10937
typeFlags = 0;
10938
10938
}
10939
- const type = checkExpression((memberDecl as SpreadElementExpression ).expression);
10939
+ const type = checkExpression((memberDecl as SpreadAssignment ).expression);
10940
10940
if (!(type.flags & (TypeFlags.Object | TypeFlags.Any))) {
10941
10941
error(memberDecl, Diagnostics.Spread_types_may_only_be_created_from_object_types);
10942
10942
return unknownType;
@@ -11905,7 +11905,7 @@ namespace ts {
11905
11905
function getSpreadArgumentIndex(args: Expression[]): number {
11906
11906
for (let i = 0; i < args.length; i++) {
11907
11907
const arg = args[i];
11908
- if (arg && arg.kind === SyntaxKind.SpreadExpression ) {
11908
+ if (arg && arg.kind === SyntaxKind.SpreadElement ) {
11909
11909
return i;
11910
11910
}
11911
11911
}
@@ -13893,7 +13893,7 @@ namespace ts {
13893
13893
const elements = node.elements;
13894
13894
const element = elements[elementIndex];
13895
13895
if (element.kind !== SyntaxKind.OmittedExpression) {
13896
- if (element.kind !== SyntaxKind.SpreadExpression ) {
13896
+ if (element.kind !== SyntaxKind.SpreadElement ) {
13897
13897
const propName = "" + elementIndex;
13898
13898
const type = isTypeAny(sourceType)
13899
13899
? sourceType
@@ -13920,7 +13920,7 @@ namespace ts {
13920
13920
error(element, Diagnostics.A_rest_element_must_be_last_in_an_array_destructuring_pattern);
13921
13921
}
13922
13922
else {
13923
- const restExpression = (<SpreadExpression >element).expression;
13923
+ const restExpression = (<SpreadElement >element).expression;
13924
13924
if (restExpression.kind === SyntaxKind.BinaryExpression && (<BinaryExpression>restExpression).operatorToken.kind === SyntaxKind.EqualsToken) {
13925
13925
error((<BinaryExpression>restExpression).operatorToken, Diagnostics.A_rest_element_cannot_have_an_initializer);
13926
13926
}
@@ -14553,8 +14553,8 @@ namespace ts {
14553
14553
return checkBinaryExpression(<BinaryExpression>node, contextualMapper);
14554
14554
case SyntaxKind.ConditionalExpression:
14555
14555
return checkConditionalExpression(<ConditionalExpression>node, contextualMapper);
14556
- case SyntaxKind.SpreadExpression :
14557
- return checkSpreadExpression(<SpreadExpression >node, contextualMapper);
14556
+ case SyntaxKind.SpreadElement :
14557
+ return checkSpreadExpression(<SpreadElement >node, contextualMapper);
14558
14558
case SyntaxKind.OmittedExpression:
14559
14559
return undefinedWideningType;
14560
14560
case SyntaxKind.YieldExpression:
@@ -20511,7 +20511,7 @@ namespace ts {
20511
20511
const GetOrSetAccessor = GetAccessor | SetAccessor;
20512
20512
20513
20513
for (const prop of node.properties) {
20514
- if (prop.kind === SyntaxKind.SpreadElementExpression ) {
20514
+ if (prop.kind === SyntaxKind.SpreadAssignment ) {
20515
20515
continue;
20516
20516
}
20517
20517
const name = prop.name;
0 commit comments