Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a84c7ae

Browse filesBrowse files
committed
Rename SpreadElementExpression -> SpreadAssignment
and SpreadExpression (formerly SpreadElementExpression) -> SpreadElement
1 parent a55ed26 commit a84c7ae
Copy full SHA for a84c7ae

13 files changed

+64-66Lines changed: 64 additions & 66 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎src/compiler/binder.ts‎

Copy file name to clipboardExpand all lines: src/compiler/binder.ts
+7-7Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,8 +1138,8 @@ namespace ts {
11381138
}
11391139
else if (node.kind === SyntaxKind.ArrayLiteralExpression) {
11401140
for (const e of (<ArrayLiteralExpression>node).elements) {
1141-
if (e.kind === SyntaxKind.SpreadExpression) {
1142-
bindAssignmentTargetFlow((<SpreadExpression>e).expression);
1141+
if (e.kind === SyntaxKind.SpreadElement) {
1142+
bindAssignmentTargetFlow((<SpreadElement>e).expression);
11431143
}
11441144
else {
11451145
bindDestructuringTargetFlow(e);
@@ -1154,8 +1154,8 @@ namespace ts {
11541154
else if (p.kind === SyntaxKind.ShorthandPropertyAssignment) {
11551155
bindAssignmentTargetFlow((<ShorthandPropertyAssignment>p).name);
11561156
}
1157-
else if (p.kind === SyntaxKind.SpreadElementExpression) {
1158-
bindAssignmentTargetFlow((<SpreadElementExpression>p).expression);
1157+
else if (p.kind === SyntaxKind.SpreadAssignment) {
1158+
bindAssignmentTargetFlow((<SpreadAssignment>p).expression);
11591159
}
11601160
}
11611161
}
@@ -1929,7 +1929,7 @@ namespace ts {
19291929
case SyntaxKind.EnumMember:
19301930
return bindPropertyOrMethodOrAccessor(<Declaration>node, SymbolFlags.EnumMember, SymbolFlags.EnumMemberExcludes);
19311931

1932-
case SyntaxKind.SpreadElementExpression:
1932+
case SyntaxKind.SpreadAssignment:
19331933
case SyntaxKind.JsxSpreadAttribute:
19341934
emitFlags |= NodeFlags.HasSpreadAttribute;
19351935
return;
@@ -3127,8 +3127,8 @@ namespace ts {
31273127
}
31283128
break;
31293129

3130-
case SyntaxKind.SpreadExpression:
3131-
case SyntaxKind.SpreadElementExpression:
3130+
case SyntaxKind.SpreadElement:
3131+
case SyntaxKind.SpreadAssignment:
31323132
// This node is ES6 or ES future syntax, but is handled by a containing node.
31333133
transformFlags |= TransformFlags.ContainsSpreadExpression;
31343134
break;
Collapse file

‎src/compiler/checker.ts‎

Copy file name to clipboardExpand all lines: src/compiler/checker.ts
+15-15Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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;
Collapse file

‎src/compiler/emitter.ts‎

Copy file name to clipboardExpand all lines: src/compiler/emitter.ts
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -822,8 +822,8 @@ const _super = (function (geti, seti) {
822822
return emitTemplateExpression(<TemplateExpression>node);
823823
case SyntaxKind.YieldExpression:
824824
return emitYieldExpression(<YieldExpression>node);
825-
case SyntaxKind.SpreadExpression:
826-
return emitSpreadExpression(<SpreadExpression>node);
825+
case SyntaxKind.SpreadElement:
826+
return emitSpreadExpression(<SpreadElement>node);
827827
case SyntaxKind.ClassExpression:
828828
return emitClassExpression(<ClassExpression>node);
829829
case SyntaxKind.OmittedExpression:
@@ -1374,7 +1374,7 @@ const _super = (function (geti, seti) {
13741374
emitExpressionWithPrefix(" ", node.expression);
13751375
}
13761376

1377-
function emitSpreadExpression(node: SpreadExpression) {
1377+
function emitSpreadExpression(node: SpreadElement) {
13781378
write("...");
13791379
emitExpression(node.expression);
13801380
}
Collapse file

‎src/compiler/factory.ts‎

Copy file name to clipboardExpand all lines: src/compiler/factory.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -692,12 +692,12 @@ namespace ts {
692692
}
693693

694694
export function createSpread(expression: Expression, location?: TextRange) {
695-
const node = <SpreadExpression>createNode(SyntaxKind.SpreadExpression, location);
695+
const node = <SpreadElement>createNode(SyntaxKind.SpreadElement, location);
696696
node.expression = parenthesizeExpressionForList(expression);
697697
return node;
698698
}
699699

700-
export function updateSpread(node: SpreadExpression, expression: Expression) {
700+
export function updateSpread(node: SpreadElement, expression: Expression) {
701701
if (node.expression !== expression) {
702702
return updateNode(createSpread(expression, node), node);
703703
}
Collapse file

‎src/compiler/parser.ts‎

Copy file name to clipboardExpand all lines: src/compiler/parser.ts
+8-8Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ namespace ts {
7474
visitNode(cbNode, (<ShorthandPropertyAssignment>node).questionToken) ||
7575
visitNode(cbNode, (<ShorthandPropertyAssignment>node).equalsToken) ||
7676
visitNode(cbNode, (<ShorthandPropertyAssignment>node).objectAssignmentInitializer);
77-
case SyntaxKind.SpreadElementExpression:
78-
return visitNode(cbNode, (<SpreadElementExpression>node).expression);
77+
case SyntaxKind.SpreadAssignment:
78+
return visitNode(cbNode, (<SpreadAssignment>node).expression);
7979
case SyntaxKind.Parameter:
8080
case SyntaxKind.PropertyDeclaration:
8181
case SyntaxKind.PropertySignature:
@@ -199,8 +199,8 @@ namespace ts {
199199
visitNode(cbNode, (<ConditionalExpression>node).whenTrue) ||
200200
visitNode(cbNode, (<ConditionalExpression>node).colonToken) ||
201201
visitNode(cbNode, (<ConditionalExpression>node).whenFalse);
202-
case SyntaxKind.SpreadExpression:
203-
return visitNode(cbNode, (<SpreadExpression>node).expression);
202+
case SyntaxKind.SpreadElement:
203+
return visitNode(cbNode, (<SpreadElement>node).expression);
204204
case SyntaxKind.Block:
205205
case SyntaxKind.ModuleBlock:
206206
return visitNodes(cbNodes, (<Block>node).statements);
@@ -4123,15 +4123,15 @@ namespace ts {
41234123
return finishNode(node);
41244124
}
41254125

4126-
function parseSpreadExpression(): Expression {
4127-
const node = <SpreadExpression>createNode(SyntaxKind.SpreadExpression);
4126+
function parseSpreadElement(): Expression {
4127+
const node = <SpreadElement>createNode(SyntaxKind.SpreadElement);
41284128
parseExpected(SyntaxKind.DotDotDotToken);
41294129
node.expression = parseAssignmentExpressionOrHigher();
41304130
return finishNode(node);
41314131
}
41324132

41334133
function parseArgumentOrArrayLiteralElement(): Expression {
4134-
return token() === SyntaxKind.DotDotDotToken ? parseSpreadExpression() :
4134+
return token() === SyntaxKind.DotDotDotToken ? parseSpreadElement() :
41354135
token() === SyntaxKind.CommaToken ? <Expression>createNode(SyntaxKind.OmittedExpression) :
41364136
parseAssignmentExpressionOrHigher();
41374137
}
@@ -4166,7 +4166,7 @@ namespace ts {
41664166
const fullStart = scanner.getStartPos();
41674167
const dotDotDotToken = parseOptionalToken(SyntaxKind.DotDotDotToken);
41684168
if (dotDotDotToken) {
4169-
const spreadElement = <SpreadElementExpression>createNode(SyntaxKind.SpreadElementExpression, fullStart);
4169+
const spreadElement = <SpreadAssignment>createNode(SyntaxKind.SpreadAssignment, fullStart);
41704170
spreadElement.expression = parseAssignmentExpressionOrHigher();
41714171
return addJSDocComment(finishNode(spreadElement));
41724172
}
Collapse file

‎src/compiler/transformers/destructuring.ts‎

Copy file name to clipboardExpand all lines: src/compiler/transformers/destructuring.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ namespace ts {
308308
const e = elements[i];
309309
if (e.kind !== SyntaxKind.OmittedExpression) {
310310
// Assignment for target = value.propName should highligh whole property, hence use e as source map node
311-
if (e.kind !== SyntaxKind.SpreadExpression) {
311+
if (e.kind !== SyntaxKind.SpreadElement) {
312312
emitDestructuringAssignment(e, createElementAccess(value, createLiteral(i)), e);
313313
}
314314
else if (i === numElements - 1) {
315-
emitDestructuringAssignment((<SpreadExpression>e).expression, createArraySlice(value, i), e);
315+
emitDestructuringAssignment((<SpreadElement>e).expression, createArraySlice(value, i), e);
316316
}
317317
}
318318
}
Collapse file

‎src/compiler/transformers/es2015.ts‎

Copy file name to clipboardExpand all lines: src/compiler/transformers/es2015.ts
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2890,7 +2890,7 @@ namespace ts {
28902890
*
28912891
* @param node A SpreadExpression node.
28922892
*/
2893-
function visitExpressionOfSpread(node: SpreadExpression) {
2893+
function visitExpressionOfSpread(node: SpreadElement) {
28942894
return visitNode(node.expression, visitor, isExpression);
28952895
}
28962896

@@ -3266,11 +3266,11 @@ namespace ts {
32663266
}
32673267

32683268
const callArgument = singleOrUndefined((<CallExpression>statementExpression).arguments);
3269-
if (!callArgument || !nodeIsSynthesized(callArgument) || callArgument.kind !== SyntaxKind.SpreadExpression) {
3269+
if (!callArgument || !nodeIsSynthesized(callArgument) || callArgument.kind !== SyntaxKind.SpreadElement) {
32703270
return false;
32713271
}
32723272

3273-
const expression = (<SpreadExpression>callArgument).expression;
3273+
const expression = (<SpreadElement>callArgument).expression;
32743274
return isIdentifier(expression) && expression === parameter.name;
32753275
}
32763276
}
Collapse file

‎src/compiler/transformers/esnext.ts‎

Copy file name to clipboardExpand all lines: src/compiler/transformers/esnext.ts
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ namespace ts {
3636
let chunkObject: (ShorthandPropertyAssignment | PropertyAssignment)[];
3737
const objects: Expression[] = [];
3838
for (const e of elements) {
39-
if (e.kind === SyntaxKind.SpreadElementExpression) {
39+
if (e.kind === SyntaxKind.SpreadAssignment) {
4040
if (chunkObject) {
4141
objects.push(createObjectLiteral(chunkObject));
4242
chunkObject = undefined;
4343
}
44-
const target = (e as SpreadElementExpression).expression;
44+
const target = (e as SpreadAssignment).expression;
4545
objects.push(visitNode(target, visitor, isExpression));
4646
}
4747
else {
Collapse file

‎src/compiler/types.ts‎

Copy file name to clipboardExpand all lines: src/compiler/types.ts
+7-9Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ namespace ts {
246246
ConditionalExpression,
247247
TemplateExpression,
248248
YieldExpression,
249-
SpreadExpression,
249+
SpreadElement,
250250
ClassExpression,
251251
OmittedExpression,
252252
ExpressionWithTypeArguments,
@@ -320,7 +320,7 @@ namespace ts {
320320
// Property assignments
321321
PropertyAssignment,
322322
ShorthandPropertyAssignment,
323-
SpreadElementExpression,
323+
SpreadAssignment,
324324

325325
// Enum
326326
EnumMember,
@@ -662,7 +662,6 @@ namespace ts {
662662
initializer?: Expression; // Optional initializer
663663
}
664664

665-
// @kind(SyntaxKind.PropertyDeclaration)
666665
export interface PropertyDeclaration extends ClassElement {
667666
kind: SyntaxKind.PropertyDeclaration;
668667
questionToken?: QuestionToken; // Present for use with reporting a grammar error
@@ -676,7 +675,7 @@ namespace ts {
676675
name?: PropertyName;
677676
}
678677

679-
export type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | MethodDeclaration | AccessorDeclaration | SpreadElementExpression;
678+
export type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | MethodDeclaration | AccessorDeclaration | SpreadAssignment;
680679

681680
export interface PropertyAssignment extends ObjectLiteralElement {
682681
kind: SyntaxKind.PropertyAssignment;
@@ -695,8 +694,8 @@ namespace ts {
695694
objectAssignmentInitializer?: Expression;
696695
}
697696

698-
export interface SpreadElementExpression extends ObjectLiteralElement {
699-
kind: SyntaxKind.SpreadElementExpression;
697+
export interface SpreadAssignment extends ObjectLiteralElement {
698+
kind: SyntaxKind.SpreadAssignment;
700699
expression: Expression;
701700
}
702701

@@ -1285,9 +1284,8 @@ namespace ts {
12851284
multiLine?: boolean;
12861285
}
12871286

1288-
// @kind(SyntaxKind.SpreadExpression)
1289-
export interface SpreadExpression extends Expression {
1290-
kind: SyntaxKind.SpreadExpression;
1287+
export interface SpreadElement extends Expression {
1288+
kind: SyntaxKind.SpreadElement;
12911289
expression: Expression;
12921290
}
12931291

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.