@@ -8640,7 +8640,7 @@ namespace ts {
86408640 return getTypeOfDestructuredArrayElement(getAssignedType(node), indexOf(node.elements, element));
86418641 }
86428642
8643- function getAssignedTypeOfSpreadExpression(node: SpreadExpression ): Type {
8643+ function getAssignedTypeOfSpreadExpression(node: SpreadElement ): Type {
86448644 return getTypeOfDestructuredSpreadExpression(getAssignedType(<ArrayLiteralExpression>node.parent));
86458645 }
86468646
@@ -8665,8 +8665,8 @@ namespace ts {
86658665 return undefinedType;
86668666 case SyntaxKind.ArrayLiteralExpression:
86678667 return getAssignedTypeOfArrayLiteralElement(<ArrayLiteralExpression>parent, node);
8668- case SyntaxKind.SpreadExpression :
8669- return getAssignedTypeOfSpreadExpression(<SpreadExpression >parent);
8668+ case SyntaxKind.SpreadElement :
8669+ return getAssignedTypeOfSpreadExpression(<SpreadElement >parent);
86708670 case SyntaxKind.PropertyAssignment:
86718671 return getAssignedTypeOfPropertyAssignment(<PropertyAssignment>parent);
86728672 case SyntaxKind.ShorthandPropertyAssignment:
@@ -10697,7 +10697,7 @@ namespace ts {
1069710697 return mapper && mapper.context;
1069810698 }
1069910699
10700- function checkSpreadExpression(node: SpreadExpression , contextualMapper?: TypeMapper): Type {
10700+ function checkSpreadExpression(node: SpreadElement , contextualMapper?: TypeMapper): Type {
1070110701 // It is usually not safe to call checkExpressionCached if we can be contextually typing.
1070210702 // You can tell that we are contextually typing because of the contextualMapper parameter.
1070310703 // While it is true that a spread element can have a contextual type, it does not do anything
@@ -10719,7 +10719,7 @@ namespace ts {
1071910719 const elementTypes: Type[] = [];
1072010720 const inDestructuringPattern = isAssignmentTarget(node);
1072110721 for (const e of elements) {
10722- if (inDestructuringPattern && e.kind === SyntaxKind.SpreadExpression ) {
10722+ if (inDestructuringPattern && e.kind === SyntaxKind.SpreadElement ) {
1072310723 // Given the following situation:
1072410724 // var c: {};
1072510725 // [...c] = ["", 0];
@@ -10732,7 +10732,7 @@ namespace ts {
1073210732 // get the contextual element type from it. So we do something similar to
1073310733 // getContextualTypeForElementExpression, which will crucially not error
1073410734 // if there is no index type / iterated type.
10735- const restArrayType = checkExpression((<SpreadExpression >e).expression, contextualMapper);
10735+ const restArrayType = checkExpression((<SpreadElement >e).expression, contextualMapper);
1073610736 const restElementType = getIndexTypeOfType(restArrayType, IndexKind.Number) ||
1073710737 (languageVersion >= ScriptTarget.ES2015 ? getElementTypeOfIterable(restArrayType, /*errorNode*/ undefined) : undefined);
1073810738 if (restElementType) {
@@ -10743,7 +10743,7 @@ namespace ts {
1074310743 const type = checkExpressionForMutableLocation(e, contextualMapper);
1074410744 elementTypes.push(type);
1074510745 }
10746- hasSpreadElement = hasSpreadElement || e.kind === SyntaxKind.SpreadExpression ;
10746+ hasSpreadElement = hasSpreadElement || e.kind === SyntaxKind.SpreadElement ;
1074710747 }
1074810748 if (!hasSpreadElement) {
1074910749 // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such
@@ -10927,7 +10927,7 @@ namespace ts {
1092710927 prop.target = member;
1092810928 member = prop;
1092910929 }
10930- else if (memberDecl.kind === SyntaxKind.SpreadElementExpression ) {
10930+ else if (memberDecl.kind === SyntaxKind.SpreadAssignment ) {
1093110931 if (propertiesArray.length > 0) {
1093210932 spread = getSpreadType(spread, createObjectLiteralType(), node.symbol);
1093310933 propertiesArray = [];
@@ -10936,7 +10936,7 @@ namespace ts {
1093610936 hasComputedNumberProperty = false;
1093710937 typeFlags = 0;
1093810938 }
10939- const type = checkExpression((memberDecl as SpreadElementExpression ).expression);
10939+ const type = checkExpression((memberDecl as SpreadAssignment ).expression);
1094010940 if (!(type.flags & (TypeFlags.Object | TypeFlags.Any))) {
1094110941 error(memberDecl, Diagnostics.Spread_types_may_only_be_created_from_object_types);
1094210942 return unknownType;
@@ -11905,7 +11905,7 @@ namespace ts {
1190511905 function getSpreadArgumentIndex(args: Expression[]): number {
1190611906 for (let i = 0; i < args.length; i++) {
1190711907 const arg = args[i];
11908- if (arg && arg.kind === SyntaxKind.SpreadExpression ) {
11908+ if (arg && arg.kind === SyntaxKind.SpreadElement ) {
1190911909 return i;
1191011910 }
1191111911 }
@@ -13893,7 +13893,7 @@ namespace ts {
1389313893 const elements = node.elements;
1389413894 const element = elements[elementIndex];
1389513895 if (element.kind !== SyntaxKind.OmittedExpression) {
13896- if (element.kind !== SyntaxKind.SpreadExpression ) {
13896+ if (element.kind !== SyntaxKind.SpreadElement ) {
1389713897 const propName = "" + elementIndex;
1389813898 const type = isTypeAny(sourceType)
1389913899 ? sourceType
@@ -13920,7 +13920,7 @@ namespace ts {
1392013920 error(element, Diagnostics.A_rest_element_must_be_last_in_an_array_destructuring_pattern);
1392113921 }
1392213922 else {
13923- const restExpression = (<SpreadExpression >element).expression;
13923+ const restExpression = (<SpreadElement >element).expression;
1392413924 if (restExpression.kind === SyntaxKind.BinaryExpression && (<BinaryExpression>restExpression).operatorToken.kind === SyntaxKind.EqualsToken) {
1392513925 error((<BinaryExpression>restExpression).operatorToken, Diagnostics.A_rest_element_cannot_have_an_initializer);
1392613926 }
@@ -14553,8 +14553,8 @@ namespace ts {
1455314553 return checkBinaryExpression(<BinaryExpression>node, contextualMapper);
1455414554 case SyntaxKind.ConditionalExpression:
1455514555 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);
1455814558 case SyntaxKind.OmittedExpression:
1455914559 return undefinedWideningType;
1456014560 case SyntaxKind.YieldExpression:
@@ -20511,7 +20511,7 @@ namespace ts {
2051120511 const GetOrSetAccessor = GetAccessor | SetAccessor;
2051220512
2051320513 for (const prop of node.properties) {
20514- if (prop.kind === SyntaxKind.SpreadElementExpression ) {
20514+ if (prop.kind === SyntaxKind.SpreadAssignment ) {
2051520515 continue;
2051620516 }
2051720517 const name = prop.name;
0 commit comments