@openrewrite/rewrite 8.96.4 → 8.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/execution.d.ts +2 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +4 -0
- package/dist/execution.js.map +1 -1
- package/dist/heavyweight.d.ts +8 -0
- package/dist/heavyweight.d.ts.map +1 -0
- package/dist/heavyweight.js +45 -0
- package/dist/heavyweight.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/java/tree.d.ts +2 -1
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js.map +1 -1
- package/dist/java/visitor.d.ts +5 -0
- package/dist/java/visitor.d.ts.map +1 -1
- package/dist/java/visitor.js +264 -217
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/add-import.d.ts +2 -1
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +14 -2
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts.map +1 -1
- package/dist/javascript/amd.js +2 -1
- package/dist/javascript/amd.js.map +1 -1
- package/dist/javascript/cleanup/add-parse-int-radix.js +1 -1
- package/dist/javascript/cleanup/add-parse-int-radix.js.map +1 -1
- package/dist/javascript/dependency-workspace.d.ts +8 -2
- package/dist/javascript/dependency-workspace.d.ts.map +1 -1
- package/dist/javascript/dependency-workspace.js +36 -4
- package/dist/javascript/dependency-workspace.js.map +1 -1
- package/dist/javascript/format/format.d.ts +10 -0
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +10 -2
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +4 -0
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/format/whitespace-reconciler.d.ts.map +1 -1
- package/dist/javascript/format/whitespace-reconciler.js +4 -0
- package/dist/javascript/format/whitespace-reconciler.js.map +1 -1
- package/dist/javascript/node-resolution-result.d.ts.map +1 -1
- package/dist/javascript/node-resolution-result.js +2 -0
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +9 -6
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +1 -0
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +39 -10
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +8 -0
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +2 -0
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +37 -1
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/javascript/visitor.js +153 -118
- package/dist/javascript/visitor.js.map +1 -1
- package/dist/recipe.d.ts +5 -0
- package/dist/recipe.d.ts.map +1 -1
- package/dist/recipe.js +5 -0
- package/dist/recipe.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/run.d.ts +7 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +40 -2
- package/dist/run.js.map +1 -1
- package/dist/test/accumulator-contents.d.ts +15 -0
- package/dist/test/accumulator-contents.d.ts.map +1 -0
- package/dist/test/accumulator-contents.js +185 -0
- package/dist/test/accumulator-contents.js.map +1 -0
- package/dist/test/empty-sources.d.ts +14 -0
- package/dist/test/empty-sources.d.ts.map +1 -0
- package/dist/test/empty-sources.js +98 -0
- package/dist/test/empty-sources.js.map +1 -0
- package/dist/test/formatting-scope.d.ts +18 -0
- package/dist/test/formatting-scope.d.ts.map +1 -0
- package/dist/test/formatting-scope.js +244 -0
- package/dist/test/formatting-scope.js.map +1 -0
- package/dist/test/probes.d.ts +25 -0
- package/dist/test/probes.d.ts.map +1 -0
- package/dist/test/probes.js +189 -0
- package/dist/test/probes.js.map +1 -0
- package/dist/test/rewrite-test.d.ts +27 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +191 -21
- package/dist/test/rewrite-test.js.map +1 -1
- package/dist/test/tree-shapes.d.ts +15 -0
- package/dist/test/tree-shapes.d.ts.map +1 -0
- package/dist/test/tree-shapes.js +288 -0
- package/dist/test/tree-shapes.js.map +1 -0
- package/dist/test/unparsed-sources.d.ts +17 -0
- package/dist/test/unparsed-sources.d.ts.map +1 -0
- package/dist/test/unparsed-sources.js +113 -0
- package/dist/test/unparsed-sources.js.map +1 -0
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +2 -0
- package/dist/tree.js.map +1 -1
- package/dist/visitor.d.ts.map +1 -1
- package/dist/visitor.js +2 -0
- package/dist/visitor.js.map +1 -1
- package/package.json +1 -1
- package/src/execution.ts +6 -0
- package/src/heavyweight.ts +42 -0
- package/src/index.ts +1 -0
- package/src/java/tree.ts +2 -1
- package/src/java/visitor.ts +263 -216
- package/src/javascript/add-import.ts +11 -2
- package/src/javascript/amd.ts +4 -2
- package/src/javascript/cleanup/add-parse-int-radix.ts +2 -2
- package/src/javascript/dependency-workspace.ts +35 -3
- package/src/javascript/format/format.ts +18 -0
- package/src/javascript/format/tabs-and-indents-visitor.ts +4 -0
- package/src/javascript/format/whitespace-reconciler.ts +4 -0
- package/src/javascript/node-resolution-result.ts +3 -0
- package/src/javascript/parser-utils.ts +10 -6
- package/src/javascript/templating/engine.ts +41 -9
- package/src/javascript/templating/pattern.ts +10 -0
- package/src/javascript/templating/placeholder-replacement.ts +38 -1
- package/src/javascript/visitor.ts +166 -118
- package/src/recipe.ts +5 -0
- package/src/run.ts +30 -2
- package/src/test/accumulator-contents.ts +194 -0
- package/src/test/empty-sources.ts +99 -0
- package/src/test/formatting-scope.ts +231 -0
- package/src/test/probes.ts +156 -0
- package/src/test/rewrite-test.ts +177 -24
- package/src/test/tree-shapes.ts +332 -0
- package/src/test/unparsed-sources.ts +138 -0
- package/src/tree.ts +3 -0
- package/src/visitor.ts +3 -0
|
@@ -21,6 +21,7 @@ const util_1 = require("../util");
|
|
|
21
21
|
const java_1 = require("../java");
|
|
22
22
|
const mutative_1 = require("mutative");
|
|
23
23
|
const tree_1 = require("./tree");
|
|
24
|
+
const parser_utils_1 = require("./parser-utils");
|
|
24
25
|
class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
25
26
|
async isAcceptable(sourceFile) {
|
|
26
27
|
return (0, tree_1.isJavaScript)(sourceFile);
|
|
@@ -60,12 +61,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
60
61
|
return expression;
|
|
61
62
|
}
|
|
62
63
|
alias = expression;
|
|
63
|
-
const updates = {
|
|
64
|
+
const updates = await this.visitChildrenOf(alias, async () => ({
|
|
64
65
|
prefix: await this.visitSpace(alias.prefix, p),
|
|
65
66
|
markers: await this.visitMarkers(alias.markers, p),
|
|
66
67
|
propertyName: await this.visitRightPadded(alias.propertyName, p),
|
|
67
68
|
alias: await this.visitDefined(alias.alias, p)
|
|
68
|
-
};
|
|
69
|
+
}));
|
|
69
70
|
return (0, util_1.updateIfChanged)(alias, updates);
|
|
70
71
|
}
|
|
71
72
|
async visitArrowFunction(arrowFunction, p) {
|
|
@@ -79,7 +80,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
79
80
|
return statement;
|
|
80
81
|
}
|
|
81
82
|
arrowFunction = statement;
|
|
82
|
-
const updates = {
|
|
83
|
+
const updates = await this.visitChildrenOf(arrowFunction, async () => ({
|
|
83
84
|
prefix: await this.visitSpace(arrowFunction.prefix, p),
|
|
84
85
|
markers: await this.visitMarkers(arrowFunction.markers, p),
|
|
85
86
|
leadingAnnotations: await (0, util_1.mapAsync)(arrowFunction.leadingAnnotations, item => this.visitDefined(item, p)),
|
|
@@ -87,7 +88,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
87
88
|
typeParameters: arrowFunction.typeParameters && await this.visitDefined(arrowFunction.typeParameters, p),
|
|
88
89
|
lambda: await this.visitDefined(arrowFunction.lambda, p),
|
|
89
90
|
returnTypeExpression: arrowFunction.returnTypeExpression && await this.visitDefined(arrowFunction.returnTypeExpression, p)
|
|
90
|
-
};
|
|
91
|
+
}));
|
|
91
92
|
return (0, util_1.updateIfChanged)(arrowFunction, updates);
|
|
92
93
|
}
|
|
93
94
|
async visitAs(as_, p) {
|
|
@@ -96,13 +97,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
96
97
|
return expression;
|
|
97
98
|
}
|
|
98
99
|
as_ = expression;
|
|
99
|
-
const updates = {
|
|
100
|
+
const updates = await this.visitChildrenOf(as_, async () => ({
|
|
100
101
|
prefix: await this.visitSpace(as_.prefix, p),
|
|
101
102
|
markers: await this.visitMarkers(as_.markers, p),
|
|
102
103
|
left: await this.visitRightPadded(as_.left, p),
|
|
103
104
|
right: await this.visitDefined(as_.right, p),
|
|
104
105
|
type: as_.type && await this.visitType(as_.type, p)
|
|
105
|
-
};
|
|
106
|
+
}));
|
|
106
107
|
return (0, util_1.updateIfChanged)(as_, updates);
|
|
107
108
|
}
|
|
108
109
|
async visitAwait(await_, p) {
|
|
@@ -111,12 +112,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
111
112
|
return expression;
|
|
112
113
|
}
|
|
113
114
|
await_ = expression;
|
|
114
|
-
const updates = {
|
|
115
|
+
const updates = await this.visitChildrenOf(await_, async () => ({
|
|
115
116
|
prefix: await this.visitSpace(await_.prefix, p),
|
|
116
117
|
markers: await this.visitMarkers(await_.markers, p),
|
|
117
118
|
expression: await this.visitDefined(await_.expression, p),
|
|
118
119
|
type: await_.type && await this.visitType(await_.type, p)
|
|
119
|
-
};
|
|
120
|
+
}));
|
|
120
121
|
return (0, util_1.updateIfChanged)(await_, updates);
|
|
121
122
|
}
|
|
122
123
|
async visitJsxTag(element, p) {
|
|
@@ -125,7 +126,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
125
126
|
return expression;
|
|
126
127
|
}
|
|
127
128
|
element = expression;
|
|
128
|
-
const updates = {
|
|
129
|
+
const updates = await this.visitChildrenOf(element, async () => ({
|
|
129
130
|
prefix: await this.visitSpace(element.prefix, p),
|
|
130
131
|
markers: await this.visitMarkers(element.markers, p),
|
|
131
132
|
openName: await this.visitLeftPadded(element.openName, p),
|
|
@@ -136,7 +137,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
136
137
|
children: element.children && await (0, util_1.mapAsync)(element.children, child => this.visit(child, p)),
|
|
137
138
|
closingName: element.closingName && await this.visitLeftPadded(element.closingName, p),
|
|
138
139
|
afterClosingName: element.afterClosingName && await this.visitSpace(element.afterClosingName, p)
|
|
139
|
-
};
|
|
140
|
+
}));
|
|
140
141
|
return (0, util_1.updateIfChanged)(element, updates);
|
|
141
142
|
}
|
|
142
143
|
async visitJsxAttribute(attribute, p) {
|
|
@@ -163,11 +164,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
163
164
|
return expression;
|
|
164
165
|
}
|
|
165
166
|
expr = expression;
|
|
166
|
-
const updates = {
|
|
167
|
+
const updates = await this.visitChildrenOf(expr, async () => ({
|
|
167
168
|
prefix: await this.visitSpace(expr.prefix, p),
|
|
168
169
|
markers: await this.visitMarkers(expr.markers, p),
|
|
169
170
|
expression: await this.visitRightPadded(expr.expression, p)
|
|
170
|
-
};
|
|
171
|
+
}));
|
|
171
172
|
return (0, util_1.updateIfChanged)(expr, updates);
|
|
172
173
|
}
|
|
173
174
|
async visitJsxNamespacedName(ns, p) {
|
|
@@ -194,13 +195,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
194
195
|
return expression;
|
|
195
196
|
}
|
|
196
197
|
conditionalType = expression;
|
|
197
|
-
const updates = {
|
|
198
|
+
const updates = await this.visitChildrenOf(conditionalType, async () => ({
|
|
198
199
|
prefix: await this.visitSpace(conditionalType.prefix, p),
|
|
199
200
|
markers: await this.visitMarkers(conditionalType.markers, p),
|
|
200
201
|
checkType: await this.visitDefined(conditionalType.checkType, p),
|
|
201
202
|
condition: await this.visitLeftPadded(conditionalType.condition, p),
|
|
202
203
|
type: conditionalType.type && await this.visitType(conditionalType.type, p)
|
|
203
|
-
};
|
|
204
|
+
}));
|
|
204
205
|
return (0, util_1.updateIfChanged)(conditionalType, updates);
|
|
205
206
|
}
|
|
206
207
|
async visitDelete(delete_, p) {
|
|
@@ -214,14 +215,15 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
214
215
|
return statement;
|
|
215
216
|
}
|
|
216
217
|
delete_ = statement;
|
|
217
|
-
const updates = {
|
|
218
|
+
const updates = await this.visitChildrenOf(delete_, async () => ({
|
|
218
219
|
prefix: await this.visitSpace(delete_.prefix, p),
|
|
219
220
|
markers: await this.visitMarkers(delete_.markers, p),
|
|
220
221
|
expression: await this.visitDefined(delete_.expression, p)
|
|
221
|
-
};
|
|
222
|
+
}));
|
|
222
223
|
return (0, util_1.updateIfChanged)(delete_, updates);
|
|
223
224
|
}
|
|
224
225
|
async visitExpressionStatement(expressionStatement, p) {
|
|
226
|
+
var _a;
|
|
225
227
|
const expression = await this.visitExpression(expressionStatement, p);
|
|
226
228
|
if (!(expression === null || expression === void 0 ? void 0 : expression.kind) || expression.kind !== tree_1.JS.Kind.ExpressionStatement) {
|
|
227
229
|
return expression;
|
|
@@ -232,11 +234,24 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
232
234
|
return statement;
|
|
233
235
|
}
|
|
234
236
|
expressionStatement = statement;
|
|
235
|
-
const updates = {
|
|
237
|
+
const updates = await this.visitChildrenOf(expressionStatement, async () => ({
|
|
236
238
|
prefix: await this.visitSpace(expressionStatement.prefix, p),
|
|
237
239
|
markers: await this.visitMarkers(expressionStatement.markers, p),
|
|
238
240
|
expression: await this.visitDefined(expressionStatement.expression, p)
|
|
239
|
-
};
|
|
241
|
+
}));
|
|
242
|
+
// Outside a `for` head the parser makes a statement the statement itself, so a visit that makes one does too,
|
|
243
|
+
// where the cursor shows what holds the expression statement
|
|
244
|
+
let visited = updates.expression;
|
|
245
|
+
const parent = (_a = this.cursor.parentTree()) === null || _a === void 0 ? void 0 : _a.value;
|
|
246
|
+
if (visited && visited !== expressionStatement.expression && (0, parser_utils_1.isStatement)(visited) &&
|
|
247
|
+
parent && parent.kind !== java_1.J.Kind.ForLoopControl) {
|
|
248
|
+
// and it holds a statement that is no expression in a JS.StatementExpression only when it is a `yield`
|
|
249
|
+
const held = visited.kind === tree_1.JS.Kind.StatementExpression ? visited.statement : undefined;
|
|
250
|
+
if (held && held.kind !== java_1.J.Kind.Yield) {
|
|
251
|
+
visited = Object.assign(Object.assign({}, held), { prefix: concatenated(visited.prefix, held.prefix), markers: withOuterMarkers(visited.markers, held.markers) });
|
|
252
|
+
}
|
|
253
|
+
return Object.assign(Object.assign({}, visited), { prefix: concatenated(updates.prefix, visited.prefix), markers: withOuterMarkers(updates.markers, visited.markers) });
|
|
254
|
+
}
|
|
240
255
|
return (0, util_1.updateIfChanged)(expressionStatement, updates);
|
|
241
256
|
}
|
|
242
257
|
async visitExpressionWithTypeArguments(expressionWithTypeArguments, p) {
|
|
@@ -245,13 +260,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
245
260
|
return expression;
|
|
246
261
|
}
|
|
247
262
|
expressionWithTypeArguments = expression;
|
|
248
|
-
const updates = {
|
|
263
|
+
const updates = await this.visitChildrenOf(expressionWithTypeArguments, async () => ({
|
|
249
264
|
prefix: await this.visitSpace(expressionWithTypeArguments.prefix, p),
|
|
250
265
|
markers: await this.visitMarkers(expressionWithTypeArguments.markers, p),
|
|
251
266
|
clazz: await this.visitDefined(expressionWithTypeArguments.clazz, p),
|
|
252
267
|
typeArguments: expressionWithTypeArguments.typeArguments && await this.visitContainer(expressionWithTypeArguments.typeArguments, p),
|
|
253
268
|
type: expressionWithTypeArguments.type && await this.visitType(expressionWithTypeArguments.type, p)
|
|
254
|
-
};
|
|
269
|
+
}));
|
|
255
270
|
return (0, util_1.updateIfChanged)(expressionWithTypeArguments, updates);
|
|
256
271
|
}
|
|
257
272
|
async visitFunctionCall(functionCall, p) {
|
|
@@ -265,14 +280,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
265
280
|
return statement;
|
|
266
281
|
}
|
|
267
282
|
functionCall = statement;
|
|
268
|
-
const updates = {
|
|
283
|
+
const updates = await this.visitChildrenOf(functionCall, async () => ({
|
|
269
284
|
prefix: await this.visitSpace(functionCall.prefix, p),
|
|
270
285
|
markers: await this.visitMarkers(functionCall.markers, p),
|
|
271
286
|
function: await this.visitOptionalRightPadded(functionCall.function, p),
|
|
272
287
|
typeParameters: await this.visitOptionalContainer(functionCall.typeParameters, p),
|
|
273
288
|
arguments: await this.visitContainer(functionCall.arguments, p),
|
|
274
289
|
methodType: await this.visitType(functionCall.methodType, p)
|
|
275
|
-
};
|
|
290
|
+
}));
|
|
276
291
|
return (0, util_1.updateIfChanged)(functionCall, updates);
|
|
277
292
|
}
|
|
278
293
|
async visitFunctionType(functionType, p) {
|
|
@@ -281,7 +296,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
281
296
|
return expression;
|
|
282
297
|
}
|
|
283
298
|
functionType = expression;
|
|
284
|
-
const updates = {
|
|
299
|
+
const updates = await this.visitChildrenOf(functionType, async () => ({
|
|
285
300
|
prefix: await this.visitSpace(functionType.prefix, p),
|
|
286
301
|
markers: await this.visitMarkers(functionType.markers, p),
|
|
287
302
|
modifiers: await (0, util_1.mapAsync)(functionType.modifiers, item => this.visitDefined(item, p)),
|
|
@@ -289,7 +304,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
289
304
|
typeParameters: functionType.typeParameters && await this.visitDefined(functionType.typeParameters, p),
|
|
290
305
|
parameters: await this.visitContainer(functionType.parameters, p),
|
|
291
306
|
returnType: await this.visitLeftPadded(functionType.returnType, p)
|
|
292
|
-
};
|
|
307
|
+
}));
|
|
293
308
|
return (0, util_1.updateIfChanged)(functionType, updates);
|
|
294
309
|
}
|
|
295
310
|
async visitInferType(inferType, p) {
|
|
@@ -298,12 +313,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
298
313
|
return expression;
|
|
299
314
|
}
|
|
300
315
|
inferType = expression;
|
|
301
|
-
const updates = {
|
|
316
|
+
const updates = await this.visitChildrenOf(inferType, async () => ({
|
|
302
317
|
prefix: await this.visitSpace(inferType.prefix, p),
|
|
303
318
|
markers: await this.visitMarkers(inferType.markers, p),
|
|
304
319
|
typeParameter: await this.visitLeftPadded(inferType.typeParameter, p),
|
|
305
320
|
type: inferType.type && await this.visitType(inferType.type, p)
|
|
306
|
-
};
|
|
321
|
+
}));
|
|
307
322
|
return (0, util_1.updateIfChanged)(inferType, updates);
|
|
308
323
|
}
|
|
309
324
|
async visitImportType(importType, p) {
|
|
@@ -312,7 +327,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
312
327
|
return expression;
|
|
313
328
|
}
|
|
314
329
|
importType = expression;
|
|
315
|
-
const updates = {
|
|
330
|
+
const updates = await this.visitChildrenOf(importType, async () => ({
|
|
316
331
|
prefix: await this.visitSpace(importType.prefix, p),
|
|
317
332
|
markers: await this.visitMarkers(importType.markers, p),
|
|
318
333
|
hasTypeof: await this.visitRightPadded(importType.hasTypeof, p),
|
|
@@ -320,7 +335,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
320
335
|
qualifier: importType.qualifier && await this.visitLeftPadded(importType.qualifier, p),
|
|
321
336
|
typeArguments: importType.typeArguments && await this.visitContainer(importType.typeArguments, p),
|
|
322
337
|
type: importType.type && await this.visitType(importType.type, p)
|
|
323
|
-
};
|
|
338
|
+
}));
|
|
324
339
|
return (0, util_1.updateIfChanged)(importType, updates);
|
|
325
340
|
}
|
|
326
341
|
async visitImportDeclaration(jsImport, p) {
|
|
@@ -329,7 +344,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
329
344
|
return statement;
|
|
330
345
|
}
|
|
331
346
|
jsImport = statement;
|
|
332
|
-
const updates = {
|
|
347
|
+
const updates = await this.visitChildrenOf(jsImport, async () => ({
|
|
333
348
|
prefix: await this.visitSpace(jsImport.prefix, p),
|
|
334
349
|
markers: await this.visitMarkers(jsImport.markers, p),
|
|
335
350
|
modifiers: await (0, util_1.mapAsync)(jsImport.modifiers, item => this.visitDefined(item, p)),
|
|
@@ -337,7 +352,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
337
352
|
moduleSpecifier: jsImport.moduleSpecifier && await this.visitLeftPadded(jsImport.moduleSpecifier, p),
|
|
338
353
|
attributes: jsImport.attributes && await this.visitDefined(jsImport.attributes, p),
|
|
339
354
|
initializer: jsImport.initializer && await this.visitLeftPadded(jsImport.initializer, p)
|
|
340
|
-
};
|
|
355
|
+
}));
|
|
341
356
|
return (0, util_1.updateIfChanged)(jsImport, updates);
|
|
342
357
|
}
|
|
343
358
|
async visitImportClause(importClause, p) {
|
|
@@ -355,12 +370,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
355
370
|
return expression;
|
|
356
371
|
}
|
|
357
372
|
namedImports = expression;
|
|
358
|
-
const updates = {
|
|
373
|
+
const updates = await this.visitChildrenOf(namedImports, async () => ({
|
|
359
374
|
prefix: await this.visitSpace(namedImports.prefix, p),
|
|
360
375
|
markers: await this.visitMarkers(namedImports.markers, p),
|
|
361
376
|
elements: await this.visitContainer(namedImports.elements, p),
|
|
362
377
|
type: namedImports.type && await this.visitType(namedImports.type, p)
|
|
363
|
-
};
|
|
378
|
+
}));
|
|
364
379
|
return (0, util_1.updateIfChanged)(namedImports, updates);
|
|
365
380
|
}
|
|
366
381
|
async visitImportSpecifier(importSpecifier, p) {
|
|
@@ -369,13 +384,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
369
384
|
return expression;
|
|
370
385
|
}
|
|
371
386
|
importSpecifier = expression;
|
|
372
|
-
const updates = {
|
|
387
|
+
const updates = await this.visitChildrenOf(importSpecifier, async () => ({
|
|
373
388
|
prefix: await this.visitSpace(importSpecifier.prefix, p),
|
|
374
389
|
markers: await this.visitMarkers(importSpecifier.markers, p),
|
|
375
390
|
importType: await this.visitLeftPadded(importSpecifier.importType, p),
|
|
376
391
|
specifier: await this.visitDefined(importSpecifier.specifier, p),
|
|
377
392
|
type: importSpecifier.type && await this.visitType(importSpecifier.type, p)
|
|
378
|
-
};
|
|
393
|
+
}));
|
|
379
394
|
return (0, util_1.updateIfChanged)(importSpecifier, updates);
|
|
380
395
|
}
|
|
381
396
|
async visitImportAttributes(importAttributes, p) {
|
|
@@ -402,12 +417,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
402
417
|
return statement;
|
|
403
418
|
}
|
|
404
419
|
importAttribute = statement;
|
|
405
|
-
const updates = {
|
|
420
|
+
const updates = await this.visitChildrenOf(importAttribute, async () => ({
|
|
406
421
|
prefix: await this.visitSpace(importAttribute.prefix, p),
|
|
407
422
|
markers: await this.visitMarkers(importAttribute.markers, p),
|
|
408
423
|
name: await this.visitDefined(importAttribute.name, p),
|
|
409
424
|
value: await this.visitLeftPadded(importAttribute.value, p)
|
|
410
|
-
};
|
|
425
|
+
}));
|
|
411
426
|
return (0, util_1.updateIfChanged)(importAttribute, updates);
|
|
412
427
|
}
|
|
413
428
|
async visitBinaryExtensions(jsBinary, p) {
|
|
@@ -416,14 +431,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
416
431
|
return expression;
|
|
417
432
|
}
|
|
418
433
|
jsBinary = expression;
|
|
419
|
-
const updates = {
|
|
434
|
+
const updates = await this.visitChildrenOf(jsBinary, async () => ({
|
|
420
435
|
prefix: await this.visitSpace(jsBinary.prefix, p),
|
|
421
436
|
markers: await this.visitMarkers(jsBinary.markers, p),
|
|
422
437
|
left: await this.visitDefined(jsBinary.left, p),
|
|
423
438
|
operator: await this.visitLeftPadded(jsBinary.operator, p),
|
|
424
439
|
right: await this.visitDefined(jsBinary.right, p),
|
|
425
440
|
type: jsBinary.type && await this.visitType(jsBinary.type, p)
|
|
426
|
-
};
|
|
441
|
+
}));
|
|
427
442
|
return (0, util_1.updateIfChanged)(jsBinary, updates);
|
|
428
443
|
}
|
|
429
444
|
async visitLiteralType(literalType, p) {
|
|
@@ -432,12 +447,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
432
447
|
return expression;
|
|
433
448
|
}
|
|
434
449
|
literalType = expression;
|
|
435
|
-
const updates = {
|
|
450
|
+
const updates = await this.visitChildrenOf(literalType, async () => ({
|
|
436
451
|
prefix: await this.visitSpace(literalType.prefix, p),
|
|
437
452
|
markers: await this.visitMarkers(literalType.markers, p),
|
|
438
453
|
literal: await this.visitDefined(literalType.literal, p),
|
|
439
454
|
type: (await this.visitType(literalType.type, p))
|
|
440
|
-
};
|
|
455
|
+
}));
|
|
441
456
|
return (0, util_1.updateIfChanged)(literalType, updates);
|
|
442
457
|
}
|
|
443
458
|
async visitMappedType(mappedType, p) {
|
|
@@ -446,7 +461,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
446
461
|
return expression;
|
|
447
462
|
}
|
|
448
463
|
mappedType = expression;
|
|
449
|
-
const updates = {
|
|
464
|
+
const updates = await this.visitChildrenOf(mappedType, async () => ({
|
|
450
465
|
prefix: await this.visitSpace(mappedType.prefix, p),
|
|
451
466
|
markers: await this.visitMarkers(mappedType.markers, p),
|
|
452
467
|
prefixToken: mappedType.prefixToken && await this.visitLeftPadded(mappedType.prefixToken, p),
|
|
@@ -456,7 +471,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
456
471
|
hasQuestionToken: await this.visitLeftPadded(mappedType.hasQuestionToken, p),
|
|
457
472
|
valueType: await this.visitContainer(mappedType.valueType, p),
|
|
458
473
|
type: mappedType.type && await this.visitType(mappedType.type, p)
|
|
459
|
-
};
|
|
474
|
+
}));
|
|
460
475
|
return (0, util_1.updateIfChanged)(mappedType, updates);
|
|
461
476
|
}
|
|
462
477
|
async visitMappedTypeKeysRemapping(keysRemapping, p) {
|
|
@@ -465,12 +480,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
465
480
|
return statement;
|
|
466
481
|
}
|
|
467
482
|
keysRemapping = statement;
|
|
468
|
-
const updates = {
|
|
483
|
+
const updates = await this.visitChildrenOf(keysRemapping, async () => ({
|
|
469
484
|
prefix: await this.visitSpace(keysRemapping.prefix, p),
|
|
470
485
|
markers: await this.visitMarkers(keysRemapping.markers, p),
|
|
471
486
|
typeParameter: await this.visitRightPadded(keysRemapping.typeParameter, p),
|
|
472
487
|
nameType: keysRemapping.nameType && await this.visitRightPadded(keysRemapping.nameType, p)
|
|
473
|
-
};
|
|
488
|
+
}));
|
|
474
489
|
return (0, util_1.updateIfChanged)(keysRemapping, updates);
|
|
475
490
|
}
|
|
476
491
|
async visitMappedTypeParameter(mappedTypeParameter, p) {
|
|
@@ -479,12 +494,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
479
494
|
return statement;
|
|
480
495
|
}
|
|
481
496
|
mappedTypeParameter = statement;
|
|
482
|
-
const updates = {
|
|
497
|
+
const updates = await this.visitChildrenOf(mappedTypeParameter, async () => ({
|
|
483
498
|
prefix: await this.visitSpace(mappedTypeParameter.prefix, p),
|
|
484
499
|
markers: await this.visitMarkers(mappedTypeParameter.markers, p),
|
|
485
500
|
name: await this.visitDefined(mappedTypeParameter.name, p),
|
|
486
501
|
iterateType: await this.visitLeftPadded(mappedTypeParameter.iterateType, p)
|
|
487
|
-
};
|
|
502
|
+
}));
|
|
488
503
|
return (0, util_1.updateIfChanged)(mappedTypeParameter, updates);
|
|
489
504
|
}
|
|
490
505
|
async visitObjectBindingPattern(objectBindingPattern, p) {
|
|
@@ -493,7 +508,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
493
508
|
return expression;
|
|
494
509
|
}
|
|
495
510
|
objectBindingPattern = expression;
|
|
496
|
-
const updates = {
|
|
511
|
+
const updates = await this.visitChildrenOf(objectBindingPattern, async () => ({
|
|
497
512
|
prefix: await this.visitSpace(objectBindingPattern.prefix, p),
|
|
498
513
|
markers: await this.visitMarkers(objectBindingPattern.markers, p),
|
|
499
514
|
leadingAnnotations: await (0, util_1.mapAsync)(objectBindingPattern.leadingAnnotations, item => this.visitDefined(item, p)),
|
|
@@ -501,7 +516,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
501
516
|
typeExpression: objectBindingPattern.typeExpression && await this.visitDefined(objectBindingPattern.typeExpression, p),
|
|
502
517
|
bindings: await this.visitContainer(objectBindingPattern.bindings, p),
|
|
503
518
|
initializer: objectBindingPattern.initializer && await this.visitLeftPadded(objectBindingPattern.initializer, p)
|
|
504
|
-
};
|
|
519
|
+
}));
|
|
505
520
|
return (0, util_1.updateIfChanged)(objectBindingPattern, updates);
|
|
506
521
|
}
|
|
507
522
|
async visitPropertyAssignment(propertyAssignment, p) {
|
|
@@ -510,13 +525,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
510
525
|
return statement;
|
|
511
526
|
}
|
|
512
527
|
propertyAssignment = statement;
|
|
513
|
-
const updates = {
|
|
528
|
+
const updates = await this.visitChildrenOf(propertyAssignment, async () => ({
|
|
514
529
|
prefix: await this.visitSpace(propertyAssignment.prefix, p),
|
|
515
530
|
markers: await this.visitMarkers(propertyAssignment.markers, p),
|
|
516
531
|
modifiers: await (0, util_1.mapAsync)(propertyAssignment.modifiers, m => this.visitDefined(m, p)),
|
|
517
532
|
name: await this.visitRightPadded(propertyAssignment.name, p),
|
|
518
533
|
initializer: propertyAssignment.initializer && await this.visitDefined(propertyAssignment.initializer, p)
|
|
519
|
-
};
|
|
534
|
+
}));
|
|
520
535
|
return (0, util_1.updateIfChanged)(propertyAssignment, updates);
|
|
521
536
|
}
|
|
522
537
|
async visitSatisfiesExpression(satisfiesExpression, p) {
|
|
@@ -525,13 +540,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
525
540
|
return expression;
|
|
526
541
|
}
|
|
527
542
|
satisfiesExpression = expression;
|
|
528
|
-
const updates = {
|
|
543
|
+
const updates = await this.visitChildrenOf(satisfiesExpression, async () => ({
|
|
529
544
|
prefix: await this.visitSpace(satisfiesExpression.prefix, p),
|
|
530
545
|
markers: await this.visitMarkers(satisfiesExpression.markers, p),
|
|
531
546
|
expression: await this.visitDefined(satisfiesExpression.expression, p),
|
|
532
547
|
satisfiesType: await this.visitLeftPadded(satisfiesExpression.satisfiesType, p),
|
|
533
548
|
type: satisfiesExpression.type && await this.visitType(satisfiesExpression.type, p)
|
|
534
|
-
};
|
|
549
|
+
}));
|
|
535
550
|
return (0, util_1.updateIfChanged)(satisfiesExpression, updates);
|
|
536
551
|
}
|
|
537
552
|
async visitScopedVariableDeclarations(scopedVariableDeclarations, p) {
|
|
@@ -540,12 +555,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
540
555
|
return statement;
|
|
541
556
|
}
|
|
542
557
|
scopedVariableDeclarations = statement;
|
|
543
|
-
const updates = {
|
|
558
|
+
const updates = await this.visitChildrenOf(scopedVariableDeclarations, async () => ({
|
|
544
559
|
prefix: await this.visitSpace(scopedVariableDeclarations.prefix, p),
|
|
545
560
|
markers: await this.visitMarkers(scopedVariableDeclarations.markers, p),
|
|
546
561
|
modifiers: await (0, util_1.mapAsync)(scopedVariableDeclarations.modifiers, item => this.visitDefined(item, p)),
|
|
547
562
|
variables: await (0, util_1.mapAsync)(scopedVariableDeclarations.variables, item => this.visitRightPadded(item, p))
|
|
548
|
-
};
|
|
563
|
+
}));
|
|
549
564
|
return (0, util_1.updateIfChanged)(scopedVariableDeclarations, updates);
|
|
550
565
|
}
|
|
551
566
|
async visitShebang(shebang, p) {
|
|
@@ -566,12 +581,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
566
581
|
return statement;
|
|
567
582
|
}
|
|
568
583
|
spread = statement;
|
|
569
|
-
const updates = {
|
|
584
|
+
const updates = await this.visitChildrenOf(spread, async () => ({
|
|
570
585
|
prefix: await this.visitSpace(spread.prefix, p),
|
|
571
586
|
markers: await this.visitMarkers(spread.markers, p),
|
|
572
587
|
expression: await this.visitDefined(spread.expression, p),
|
|
573
588
|
type: await this.visitType(spread.type, p)
|
|
574
|
-
};
|
|
589
|
+
}));
|
|
575
590
|
return (0, util_1.updateIfChanged)(spread, updates);
|
|
576
591
|
}
|
|
577
592
|
async visitStatementExpression(statementExpression, p) {
|
|
@@ -585,11 +600,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
585
600
|
return statement;
|
|
586
601
|
}
|
|
587
602
|
statementExpression = statement;
|
|
588
|
-
const updates = {
|
|
603
|
+
const updates = await this.visitChildrenOf(statementExpression, async () => ({
|
|
589
604
|
prefix: await this.visitSpace(statementExpression.prefix, p),
|
|
590
605
|
markers: await this.visitMarkers(statementExpression.markers, p),
|
|
591
606
|
statement: await this.visitDefined(statementExpression.statement, p)
|
|
592
|
-
};
|
|
607
|
+
}));
|
|
593
608
|
return (0, util_1.updateIfChanged)(statementExpression, updates);
|
|
594
609
|
}
|
|
595
610
|
async visitTaggedTemplateExpression(taggedTemplateExpression, p) {
|
|
@@ -603,14 +618,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
603
618
|
return statement;
|
|
604
619
|
}
|
|
605
620
|
taggedTemplateExpression = statement;
|
|
606
|
-
const updates = {
|
|
621
|
+
const updates = await this.visitChildrenOf(taggedTemplateExpression, async () => ({
|
|
607
622
|
prefix: await this.visitSpace(taggedTemplateExpression.prefix, p),
|
|
608
623
|
markers: await this.visitMarkers(taggedTemplateExpression.markers, p),
|
|
609
624
|
tag: taggedTemplateExpression.tag && await this.visitRightPadded(taggedTemplateExpression.tag, p),
|
|
610
625
|
typeArguments: taggedTemplateExpression.typeArguments && await this.visitContainer(taggedTemplateExpression.typeArguments, p),
|
|
611
626
|
templateExpression: await this.visitDefined(taggedTemplateExpression.templateExpression, p),
|
|
612
627
|
type: taggedTemplateExpression.type && await this.visitType(taggedTemplateExpression.type, p)
|
|
613
|
-
};
|
|
628
|
+
}));
|
|
614
629
|
return (0, util_1.updateIfChanged)(taggedTemplateExpression, updates);
|
|
615
630
|
}
|
|
616
631
|
async visitTemplateExpression(templateExpression, p) {
|
|
@@ -624,13 +639,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
624
639
|
return statement;
|
|
625
640
|
}
|
|
626
641
|
templateExpression = statement;
|
|
627
|
-
const updates = {
|
|
642
|
+
const updates = await this.visitChildrenOf(templateExpression, async () => ({
|
|
628
643
|
prefix: await this.visitSpace(templateExpression.prefix, p),
|
|
629
644
|
markers: await this.visitMarkers(templateExpression.markers, p),
|
|
630
645
|
head: await this.visitDefined(templateExpression.head, p),
|
|
631
646
|
spans: await (0, util_1.mapAsync)(templateExpression.spans, item => this.visitRightPadded(item, p)),
|
|
632
647
|
type: templateExpression.type && await this.visitType(templateExpression.type, p)
|
|
633
|
-
};
|
|
648
|
+
}));
|
|
634
649
|
return (0, util_1.updateIfChanged)(templateExpression, updates);
|
|
635
650
|
}
|
|
636
651
|
async visitTemplateExpressionSpan(span, p) {
|
|
@@ -648,12 +663,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
648
663
|
return expression;
|
|
649
664
|
}
|
|
650
665
|
tuple = expression;
|
|
651
|
-
const updates = {
|
|
666
|
+
const updates = await this.visitChildrenOf(tuple, async () => ({
|
|
652
667
|
prefix: await this.visitSpace(tuple.prefix, p),
|
|
653
668
|
markers: await this.visitMarkers(tuple.markers, p),
|
|
654
669
|
elements: await this.visitContainer(tuple.elements, p),
|
|
655
670
|
type: tuple.type && await this.visitType(tuple.type, p)
|
|
656
|
-
};
|
|
671
|
+
}));
|
|
657
672
|
return (0, util_1.updateIfChanged)(tuple, updates);
|
|
658
673
|
}
|
|
659
674
|
async visitTypeDeclaration(typeDeclaration, p) {
|
|
@@ -662,7 +677,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
662
677
|
return statement;
|
|
663
678
|
}
|
|
664
679
|
typeDeclaration = statement;
|
|
665
|
-
const updates = {
|
|
680
|
+
const updates = await this.visitChildrenOf(typeDeclaration, async () => ({
|
|
666
681
|
prefix: await this.visitSpace(typeDeclaration.prefix, p),
|
|
667
682
|
markers: await this.visitMarkers(typeDeclaration.markers, p),
|
|
668
683
|
modifiers: await (0, util_1.mapAsync)(typeDeclaration.modifiers, item => this.visitDefined(item, p)),
|
|
@@ -670,7 +685,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
670
685
|
typeParameters: typeDeclaration.typeParameters && await this.visitDefined(typeDeclaration.typeParameters, p),
|
|
671
686
|
initializer: await this.visitLeftPadded(typeDeclaration.initializer, p),
|
|
672
687
|
type: typeDeclaration.type && await this.visitType(typeDeclaration.type, p)
|
|
673
|
-
};
|
|
688
|
+
}));
|
|
674
689
|
return (0, util_1.updateIfChanged)(typeDeclaration, updates);
|
|
675
690
|
}
|
|
676
691
|
async visitTypeOf(typeOf, p) {
|
|
@@ -679,12 +694,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
679
694
|
return expression;
|
|
680
695
|
}
|
|
681
696
|
typeOf = expression;
|
|
682
|
-
const updates = {
|
|
697
|
+
const updates = await this.visitChildrenOf(typeOf, async () => ({
|
|
683
698
|
prefix: await this.visitSpace(typeOf.prefix, p),
|
|
684
699
|
markers: await this.visitMarkers(typeOf.markers, p),
|
|
685
700
|
expression: await this.visitDefined(typeOf.expression, p),
|
|
686
701
|
type: typeOf.type && await this.visitType(typeOf.type, p)
|
|
687
|
-
};
|
|
702
|
+
}));
|
|
688
703
|
return (0, util_1.updateIfChanged)(typeOf, updates);
|
|
689
704
|
}
|
|
690
705
|
async visitTypeTreeExpression(typeTreeExpression, p) {
|
|
@@ -693,11 +708,18 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
693
708
|
return expression;
|
|
694
709
|
}
|
|
695
710
|
typeTreeExpression = expression;
|
|
696
|
-
const updates = {
|
|
711
|
+
const updates = await this.visitChildrenOf(typeTreeExpression, async () => ({
|
|
697
712
|
prefix: await this.visitSpace(typeTreeExpression.prefix, p),
|
|
698
713
|
markers: await this.visitMarkers(typeTreeExpression.markers, p),
|
|
699
714
|
expression: await this.visitDefined(typeTreeExpression.expression, p)
|
|
700
|
-
};
|
|
715
|
+
}));
|
|
716
|
+
// The parser wraps no type tree, so a visit that makes the expression one drops the wrapper
|
|
717
|
+
const visited = updates.expression;
|
|
718
|
+
if (visited !== typeTreeExpression.expression && (visited.kind === java_1.J.Kind.Identifier ||
|
|
719
|
+
visited.kind === java_1.J.Kind.FieldAccess || visited.kind === java_1.J.Kind.ArrayType ||
|
|
720
|
+
visited.kind === java_1.J.Kind.ParameterizedType)) {
|
|
721
|
+
return Object.assign(Object.assign({}, visited), { prefix: concatenated(updates.prefix, visited.prefix), markers: withOuterMarkers(updates.markers, visited.markers) });
|
|
722
|
+
}
|
|
701
723
|
return (0, util_1.updateIfChanged)(typeTreeExpression, updates);
|
|
702
724
|
}
|
|
703
725
|
async visitAssignmentOperationExtensions(assignmentOperation, p) {
|
|
@@ -711,14 +733,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
711
733
|
return statement;
|
|
712
734
|
}
|
|
713
735
|
assignmentOperation = statement;
|
|
714
|
-
const updates = {
|
|
736
|
+
const updates = await this.visitChildrenOf(assignmentOperation, async () => ({
|
|
715
737
|
prefix: await this.visitSpace(assignmentOperation.prefix, p),
|
|
716
738
|
markers: await this.visitMarkers(assignmentOperation.markers, p),
|
|
717
739
|
variable: await this.visitDefined(assignmentOperation.variable, p),
|
|
718
740
|
operator: await this.visitLeftPadded(assignmentOperation.operator, p),
|
|
719
741
|
assignment: await this.visitDefined(assignmentOperation.assignment, p),
|
|
720
742
|
type: assignmentOperation.type && await this.visitType(assignmentOperation.type, p)
|
|
721
|
-
};
|
|
743
|
+
}));
|
|
722
744
|
return (0, util_1.updateIfChanged)(assignmentOperation, updates);
|
|
723
745
|
}
|
|
724
746
|
async visitIndexedAccessType(indexedAccessType, p) {
|
|
@@ -727,13 +749,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
727
749
|
return expression;
|
|
728
750
|
}
|
|
729
751
|
indexedAccessType = expression;
|
|
730
|
-
const updates = {
|
|
752
|
+
const updates = await this.visitChildrenOf(indexedAccessType, async () => ({
|
|
731
753
|
prefix: await this.visitSpace(indexedAccessType.prefix, p),
|
|
732
754
|
markers: await this.visitMarkers(indexedAccessType.markers, p),
|
|
733
755
|
objectType: await this.visitDefined(indexedAccessType.objectType, p),
|
|
734
756
|
indexType: await this.visitDefined(indexedAccessType.indexType, p),
|
|
735
757
|
type: indexedAccessType.type && await this.visitType(indexedAccessType.type, p)
|
|
736
|
-
};
|
|
758
|
+
}));
|
|
737
759
|
return (0, util_1.updateIfChanged)(indexedAccessType, updates);
|
|
738
760
|
}
|
|
739
761
|
async visitIndexedAccessTypeIndexType(indexType, p) {
|
|
@@ -742,12 +764,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
742
764
|
return expression;
|
|
743
765
|
}
|
|
744
766
|
indexType = expression;
|
|
745
|
-
const updates = {
|
|
767
|
+
const updates = await this.visitChildrenOf(indexType, async () => ({
|
|
746
768
|
prefix: await this.visitSpace(indexType.prefix, p),
|
|
747
769
|
markers: await this.visitMarkers(indexType.markers, p),
|
|
748
770
|
element: await this.visitRightPadded(indexType.element, p),
|
|
749
771
|
type: indexType.type && await this.visitType(indexType.type, p)
|
|
750
|
-
};
|
|
772
|
+
}));
|
|
751
773
|
return (0, util_1.updateIfChanged)(indexType, updates);
|
|
752
774
|
}
|
|
753
775
|
async visitTypeQuery(typeQuery, p) {
|
|
@@ -756,13 +778,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
756
778
|
return expression;
|
|
757
779
|
}
|
|
758
780
|
typeQuery = expression;
|
|
759
|
-
const updates = {
|
|
781
|
+
const updates = await this.visitChildrenOf(typeQuery, async () => ({
|
|
760
782
|
prefix: await this.visitSpace(typeQuery.prefix, p),
|
|
761
783
|
markers: await this.visitMarkers(typeQuery.markers, p),
|
|
762
784
|
typeExpression: await this.visitDefined(typeQuery.typeExpression, p),
|
|
763
785
|
typeArguments: typeQuery.typeArguments && await this.visitContainer(typeQuery.typeArguments, p),
|
|
764
786
|
type: typeQuery.type && await this.visitType(typeQuery.type, p)
|
|
765
|
-
};
|
|
787
|
+
}));
|
|
766
788
|
return (0, util_1.updateIfChanged)(typeQuery, updates);
|
|
767
789
|
}
|
|
768
790
|
async visitTypeInfo(typeInfo, p) {
|
|
@@ -771,11 +793,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
771
793
|
return expression;
|
|
772
794
|
}
|
|
773
795
|
typeInfo = expression;
|
|
774
|
-
const updates = {
|
|
796
|
+
const updates = await this.visitChildrenOf(typeInfo, async () => ({
|
|
775
797
|
prefix: await this.visitSpace(typeInfo.prefix, p),
|
|
776
798
|
markers: await this.visitMarkers(typeInfo.markers, p),
|
|
777
799
|
typeIdentifier: await this.visitDefined(typeInfo.typeIdentifier, p)
|
|
778
|
-
};
|
|
800
|
+
}));
|
|
779
801
|
return (0, util_1.updateIfChanged)(typeInfo, updates);
|
|
780
802
|
}
|
|
781
803
|
async visitComputedPropertyName(computedPropertyName, p) {
|
|
@@ -784,11 +806,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
784
806
|
return expression;
|
|
785
807
|
}
|
|
786
808
|
computedPropertyName = expression;
|
|
787
|
-
const updates = {
|
|
809
|
+
const updates = await this.visitChildrenOf(computedPropertyName, async () => ({
|
|
788
810
|
prefix: await this.visitSpace(computedPropertyName.prefix, p),
|
|
789
811
|
markers: await this.visitMarkers(computedPropertyName.markers, p),
|
|
790
812
|
expression: await this.visitRightPadded(computedPropertyName.expression, p)
|
|
791
|
-
};
|
|
813
|
+
}));
|
|
792
814
|
return (0, util_1.updateIfChanged)(computedPropertyName, updates);
|
|
793
815
|
}
|
|
794
816
|
async visitTypeOperator(typeOperator, p) {
|
|
@@ -797,11 +819,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
797
819
|
return expression;
|
|
798
820
|
}
|
|
799
821
|
typeOperator = expression;
|
|
800
|
-
const updates = {
|
|
822
|
+
const updates = await this.visitChildrenOf(typeOperator, async () => ({
|
|
801
823
|
prefix: await this.visitSpace(typeOperator.prefix, p),
|
|
802
824
|
markers: await this.visitMarkers(typeOperator.markers, p),
|
|
803
825
|
expression: await this.visitLeftPadded(typeOperator.expression, p)
|
|
804
|
-
};
|
|
826
|
+
}));
|
|
805
827
|
return (0, util_1.updateIfChanged)(typeOperator, updates);
|
|
806
828
|
}
|
|
807
829
|
async visitTypePredicate(typePredicate, p) {
|
|
@@ -810,14 +832,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
810
832
|
return expression;
|
|
811
833
|
}
|
|
812
834
|
typePredicate = expression;
|
|
813
|
-
const updates = {
|
|
835
|
+
const updates = await this.visitChildrenOf(typePredicate, async () => ({
|
|
814
836
|
prefix: await this.visitSpace(typePredicate.prefix, p),
|
|
815
837
|
markers: await this.visitMarkers(typePredicate.markers, p),
|
|
816
838
|
asserts: await this.visitLeftPadded(typePredicate.asserts, p),
|
|
817
839
|
parameterName: await this.visitDefined(typePredicate.parameterName, p),
|
|
818
840
|
expression: typePredicate.expression && await this.visitLeftPadded(typePredicate.expression, p),
|
|
819
841
|
type: typePredicate.type && await this.visitType(typePredicate.type, p)
|
|
820
|
-
};
|
|
842
|
+
}));
|
|
821
843
|
return (0, util_1.updateIfChanged)(typePredicate, updates);
|
|
822
844
|
}
|
|
823
845
|
async visitUnion(union, p) {
|
|
@@ -826,12 +848,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
826
848
|
return expression;
|
|
827
849
|
}
|
|
828
850
|
union = expression;
|
|
829
|
-
const updates = {
|
|
851
|
+
const updates = await this.visitChildrenOf(union, async () => ({
|
|
830
852
|
prefix: await this.visitSpace(union.prefix, p),
|
|
831
853
|
markers: await this.visitMarkers(union.markers, p),
|
|
832
854
|
types: await (0, util_1.mapAsync)(union.types, item => this.visitRightPadded(item, p)),
|
|
833
855
|
type: union.type && await this.visitType(union.type, p)
|
|
834
|
-
};
|
|
856
|
+
}));
|
|
835
857
|
return (0, util_1.updateIfChanged)(union, updates);
|
|
836
858
|
}
|
|
837
859
|
async visitIntersection(intersection, p) {
|
|
@@ -840,12 +862,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
840
862
|
return expression;
|
|
841
863
|
}
|
|
842
864
|
intersection = expression;
|
|
843
|
-
const updates = {
|
|
865
|
+
const updates = await this.visitChildrenOf(intersection, async () => ({
|
|
844
866
|
prefix: await this.visitSpace(intersection.prefix, p),
|
|
845
867
|
markers: await this.visitMarkers(intersection.markers, p),
|
|
846
868
|
types: await (0, util_1.mapAsync)(intersection.types, item => this.visitRightPadded(item, p)),
|
|
847
869
|
type: intersection.type && await this.visitType(intersection.type, p)
|
|
848
|
-
};
|
|
870
|
+
}));
|
|
849
871
|
return (0, util_1.updateIfChanged)(intersection, updates);
|
|
850
872
|
}
|
|
851
873
|
async visitVoid(void_, p) {
|
|
@@ -854,11 +876,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
854
876
|
return expression;
|
|
855
877
|
}
|
|
856
878
|
void_ = expression;
|
|
857
|
-
const updates = {
|
|
879
|
+
const updates = await this.visitChildrenOf(void_, async () => ({
|
|
858
880
|
prefix: await this.visitSpace(void_.prefix, p),
|
|
859
881
|
markers: await this.visitMarkers(void_.markers, p),
|
|
860
882
|
expression: await this.visitDefined(void_.expression, p)
|
|
861
|
-
};
|
|
883
|
+
}));
|
|
862
884
|
return (0, util_1.updateIfChanged)(void_, updates);
|
|
863
885
|
}
|
|
864
886
|
async visitWithStatement(withStatement, p) {
|
|
@@ -867,12 +889,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
867
889
|
return statement;
|
|
868
890
|
}
|
|
869
891
|
withStatement = statement;
|
|
870
|
-
const updates = {
|
|
892
|
+
const updates = await this.visitChildrenOf(withStatement, async () => ({
|
|
871
893
|
prefix: await this.visitSpace(withStatement.prefix, p),
|
|
872
894
|
markers: await this.visitMarkers(withStatement.markers, p),
|
|
873
895
|
expression: await this.visitDefined(withStatement.expression, p),
|
|
874
896
|
body: await this.visitRightPadded(withStatement.body, p)
|
|
875
|
-
};
|
|
897
|
+
}));
|
|
876
898
|
return (0, util_1.updateIfChanged)(withStatement, updates);
|
|
877
899
|
}
|
|
878
900
|
async visitIndexSignatureDeclaration(indexSignatureDeclaration, p) {
|
|
@@ -881,14 +903,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
881
903
|
return statement;
|
|
882
904
|
}
|
|
883
905
|
indexSignatureDeclaration = statement;
|
|
884
|
-
const updates = {
|
|
906
|
+
const updates = await this.visitChildrenOf(indexSignatureDeclaration, async () => ({
|
|
885
907
|
prefix: await this.visitSpace(indexSignatureDeclaration.prefix, p),
|
|
886
908
|
markers: await this.visitMarkers(indexSignatureDeclaration.markers, p),
|
|
887
909
|
modifiers: await (0, util_1.mapAsync)(indexSignatureDeclaration.modifiers, item => this.visitDefined(item, p)),
|
|
888
910
|
parameters: await this.visitContainer(indexSignatureDeclaration.parameters, p),
|
|
889
911
|
typeExpression: await this.visitLeftPadded(indexSignatureDeclaration.typeExpression, p),
|
|
890
912
|
type: indexSignatureDeclaration.type && await this.visitType(indexSignatureDeclaration.type, p)
|
|
891
|
-
};
|
|
913
|
+
}));
|
|
892
914
|
return (0, util_1.updateIfChanged)(indexSignatureDeclaration, updates);
|
|
893
915
|
}
|
|
894
916
|
async visitComputedPropertyMethodDeclaration(computedPropMethod, p) {
|
|
@@ -897,7 +919,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
897
919
|
return statement;
|
|
898
920
|
}
|
|
899
921
|
computedPropMethod = statement;
|
|
900
|
-
const updates = {
|
|
922
|
+
const updates = await this.visitChildrenOf(computedPropMethod, async () => ({
|
|
901
923
|
prefix: await this.visitSpace(computedPropMethod.prefix, p),
|
|
902
924
|
markers: await this.visitMarkers(computedPropMethod.markers, p),
|
|
903
925
|
leadingAnnotations: await (0, util_1.mapAsync)(computedPropMethod.leadingAnnotations, item => this.visitDefined(item, p)),
|
|
@@ -908,7 +930,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
908
930
|
parameters: await this.visitContainer(computedPropMethod.parameters, p),
|
|
909
931
|
body: computedPropMethod.body && await this.visitDefined(computedPropMethod.body, p),
|
|
910
932
|
methodType: computedPropMethod.methodType && await this.visitType(computedPropMethod.methodType, p)
|
|
911
|
-
};
|
|
933
|
+
}));
|
|
912
934
|
return (0, util_1.updateIfChanged)(computedPropMethod, updates);
|
|
913
935
|
}
|
|
914
936
|
async visitForOfLoop(forOfLoop, p) {
|
|
@@ -917,12 +939,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
917
939
|
return statement;
|
|
918
940
|
}
|
|
919
941
|
forOfLoop = statement;
|
|
920
|
-
const updates = {
|
|
942
|
+
const updates = await this.visitChildrenOf(forOfLoop, async () => ({
|
|
921
943
|
prefix: await this.visitSpace(forOfLoop.prefix, p),
|
|
922
944
|
markers: await this.visitMarkers(forOfLoop.markers, p),
|
|
923
945
|
await: forOfLoop.await && await this.visitSpace(forOfLoop.await, p),
|
|
924
946
|
loop: await this.visitDefined(forOfLoop.loop, p)
|
|
925
|
-
};
|
|
947
|
+
}));
|
|
926
948
|
return (0, util_1.updateIfChanged)(forOfLoop, updates);
|
|
927
949
|
}
|
|
928
950
|
async visitForInLoop(forInLoop, p) {
|
|
@@ -931,12 +953,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
931
953
|
return statement;
|
|
932
954
|
}
|
|
933
955
|
forInLoop = statement;
|
|
934
|
-
const updates = {
|
|
956
|
+
const updates = await this.visitChildrenOf(forInLoop, async () => ({
|
|
935
957
|
prefix: await this.visitSpace(forInLoop.prefix, p),
|
|
936
958
|
markers: await this.visitMarkers(forInLoop.markers, p),
|
|
937
959
|
control: await this.visitDefined(forInLoop.control, p),
|
|
938
960
|
body: await this.visitRightPadded(forInLoop.body, p)
|
|
939
|
-
};
|
|
961
|
+
}));
|
|
940
962
|
return (0, util_1.updateIfChanged)(forInLoop, updates);
|
|
941
963
|
}
|
|
942
964
|
async visitNamespaceDeclaration(namespaceDeclaration, p) {
|
|
@@ -945,14 +967,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
945
967
|
return statement;
|
|
946
968
|
}
|
|
947
969
|
namespaceDeclaration = statement;
|
|
948
|
-
const updates = {
|
|
970
|
+
const updates = await this.visitChildrenOf(namespaceDeclaration, async () => ({
|
|
949
971
|
prefix: await this.visitSpace(namespaceDeclaration.prefix, p),
|
|
950
972
|
markers: await this.visitMarkers(namespaceDeclaration.markers, p),
|
|
951
973
|
modifiers: await (0, util_1.mapAsync)(namespaceDeclaration.modifiers, item => this.visitDefined(item, p)),
|
|
952
974
|
keywordType: await this.visitLeftPadded(namespaceDeclaration.keywordType, p),
|
|
953
975
|
name: await this.visitRightPadded(namespaceDeclaration.name, p),
|
|
954
976
|
body: namespaceDeclaration.body && await this.visitDefined(namespaceDeclaration.body, p)
|
|
955
|
-
};
|
|
977
|
+
}));
|
|
956
978
|
return (0, util_1.updateIfChanged)(namespaceDeclaration, updates);
|
|
957
979
|
}
|
|
958
980
|
async visitTypeLiteral(typeLiteral, p) {
|
|
@@ -961,12 +983,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
961
983
|
return expression;
|
|
962
984
|
}
|
|
963
985
|
typeLiteral = expression;
|
|
964
|
-
const updates = {
|
|
986
|
+
const updates = await this.visitChildrenOf(typeLiteral, async () => ({
|
|
965
987
|
prefix: await this.visitSpace(typeLiteral.prefix, p),
|
|
966
988
|
markers: await this.visitMarkers(typeLiteral.markers, p),
|
|
967
989
|
members: await this.visitDefined(typeLiteral.members, p),
|
|
968
990
|
type: typeLiteral.type && await this.visitType(typeLiteral.type, p)
|
|
969
|
-
};
|
|
991
|
+
}));
|
|
970
992
|
return (0, util_1.updateIfChanged)(typeLiteral, updates);
|
|
971
993
|
}
|
|
972
994
|
async visitArrayBindingPattern(arrayBindingPattern, p) {
|
|
@@ -975,12 +997,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
975
997
|
return expression;
|
|
976
998
|
}
|
|
977
999
|
arrayBindingPattern = expression;
|
|
978
|
-
const updates = {
|
|
1000
|
+
const updates = await this.visitChildrenOf(arrayBindingPattern, async () => ({
|
|
979
1001
|
prefix: await this.visitSpace(arrayBindingPattern.prefix, p),
|
|
980
1002
|
markers: await this.visitMarkers(arrayBindingPattern.markers, p),
|
|
981
1003
|
elements: await this.visitContainer(arrayBindingPattern.elements, p),
|
|
982
1004
|
type: arrayBindingPattern.type && await this.visitType(arrayBindingPattern.type, p)
|
|
983
|
-
};
|
|
1005
|
+
}));
|
|
984
1006
|
return (0, util_1.updateIfChanged)(arrayBindingPattern, updates);
|
|
985
1007
|
}
|
|
986
1008
|
async visitBindingElement(bindingElement, p) {
|
|
@@ -989,14 +1011,14 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
989
1011
|
return statement;
|
|
990
1012
|
}
|
|
991
1013
|
bindingElement = statement;
|
|
992
|
-
const updates = {
|
|
1014
|
+
const updates = await this.visitChildrenOf(bindingElement, async () => ({
|
|
993
1015
|
prefix: await this.visitSpace(bindingElement.prefix, p),
|
|
994
1016
|
markers: await this.visitMarkers(bindingElement.markers, p),
|
|
995
1017
|
propertyName: bindingElement.propertyName && await this.visitRightPadded(bindingElement.propertyName, p),
|
|
996
1018
|
name: await this.visitDefined(bindingElement.name, p),
|
|
997
1019
|
initializer: bindingElement.initializer && await this.visitLeftPadded(bindingElement.initializer, p),
|
|
998
1020
|
variableType: bindingElement.variableType && await this.visitType(bindingElement.variableType, p)
|
|
999
|
-
};
|
|
1021
|
+
}));
|
|
1000
1022
|
return (0, util_1.updateIfChanged)(bindingElement, updates);
|
|
1001
1023
|
}
|
|
1002
1024
|
async visitExportDeclaration(exportDeclaration, p) {
|
|
@@ -1005,7 +1027,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1005
1027
|
return statement;
|
|
1006
1028
|
}
|
|
1007
1029
|
exportDeclaration = statement;
|
|
1008
|
-
const updates = {
|
|
1030
|
+
const updates = await this.visitChildrenOf(exportDeclaration, async () => ({
|
|
1009
1031
|
prefix: await this.visitSpace(exportDeclaration.prefix, p),
|
|
1010
1032
|
markers: await this.visitMarkers(exportDeclaration.markers, p),
|
|
1011
1033
|
modifiers: await (0, util_1.mapAsync)(exportDeclaration.modifiers, item => this.visitDefined(item, p)),
|
|
@@ -1013,7 +1035,7 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1013
1035
|
exportClause: exportDeclaration.exportClause && await this.visitDefined(exportDeclaration.exportClause, p),
|
|
1014
1036
|
moduleSpecifier: exportDeclaration.moduleSpecifier && await this.visitLeftPadded(exportDeclaration.moduleSpecifier, p),
|
|
1015
1037
|
attributes: exportDeclaration.attributes && await this.visitDefined(exportDeclaration.attributes, p)
|
|
1016
|
-
};
|
|
1038
|
+
}));
|
|
1017
1039
|
return (0, util_1.updateIfChanged)(exportDeclaration, updates);
|
|
1018
1040
|
}
|
|
1019
1041
|
async visitExportAssignment(exportAssignment, p) {
|
|
@@ -1022,11 +1044,11 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1022
1044
|
return statement;
|
|
1023
1045
|
}
|
|
1024
1046
|
exportAssignment = statement;
|
|
1025
|
-
const updates = {
|
|
1047
|
+
const updates = await this.visitChildrenOf(exportAssignment, async () => ({
|
|
1026
1048
|
prefix: await this.visitSpace(exportAssignment.prefix, p),
|
|
1027
1049
|
markers: await this.visitMarkers(exportAssignment.markers, p),
|
|
1028
1050
|
expression: await this.visitLeftPadded(exportAssignment.expression, p)
|
|
1029
|
-
};
|
|
1051
|
+
}));
|
|
1030
1052
|
return (0, util_1.updateIfChanged)(exportAssignment, updates);
|
|
1031
1053
|
}
|
|
1032
1054
|
async visitNamedExports(namedExports, p) {
|
|
@@ -1035,12 +1057,12 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1035
1057
|
return expression;
|
|
1036
1058
|
}
|
|
1037
1059
|
namedExports = expression;
|
|
1038
|
-
const updates = {
|
|
1060
|
+
const updates = await this.visitChildrenOf(namedExports, async () => ({
|
|
1039
1061
|
prefix: await this.visitSpace(namedExports.prefix, p),
|
|
1040
1062
|
markers: await this.visitMarkers(namedExports.markers, p),
|
|
1041
1063
|
elements: await this.visitContainer(namedExports.elements, p),
|
|
1042
1064
|
type: namedExports.type && await this.visitType(namedExports.type, p)
|
|
1043
|
-
};
|
|
1065
|
+
}));
|
|
1044
1066
|
return (0, util_1.updateIfChanged)(namedExports, updates);
|
|
1045
1067
|
}
|
|
1046
1068
|
async visitExportSpecifier(exportSpecifier, p) {
|
|
@@ -1049,13 +1071,13 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1049
1071
|
return expression;
|
|
1050
1072
|
}
|
|
1051
1073
|
exportSpecifier = expression;
|
|
1052
|
-
const updates = {
|
|
1074
|
+
const updates = await this.visitChildrenOf(exportSpecifier, async () => ({
|
|
1053
1075
|
prefix: await this.visitSpace(exportSpecifier.prefix, p),
|
|
1054
1076
|
markers: await this.visitMarkers(exportSpecifier.markers, p),
|
|
1055
1077
|
typeOnly: await this.visitLeftPadded(exportSpecifier.typeOnly, p),
|
|
1056
1078
|
specifier: await this.visitDefined(exportSpecifier.specifier, p),
|
|
1057
1079
|
type: exportSpecifier.type && await this.visitType(exportSpecifier.type, p)
|
|
1058
|
-
};
|
|
1080
|
+
}));
|
|
1059
1081
|
return (0, util_1.updateIfChanged)(exportSpecifier, updates);
|
|
1060
1082
|
}
|
|
1061
1083
|
static createJavaScriptDispatch() {
|
|
@@ -1140,4 +1162,17 @@ class JavaScriptVisitor extends java_1.JavaVisitor {
|
|
|
1140
1162
|
}
|
|
1141
1163
|
}
|
|
1142
1164
|
exports.JavaScriptVisitor = JavaScriptVisitor;
|
|
1165
|
+
/** The prefix that prints as `outer` and then `inner`. */
|
|
1166
|
+
function concatenated(outer, inner) {
|
|
1167
|
+
if (outer.comments.length === 0) {
|
|
1168
|
+
return Object.assign(Object.assign({}, inner), { whitespace: outer.whitespace + inner.whitespace });
|
|
1169
|
+
}
|
|
1170
|
+
const last = outer.comments[outer.comments.length - 1];
|
|
1171
|
+
return Object.assign(Object.assign({}, outer), { comments: [...outer.comments.slice(0, -1), Object.assign(Object.assign({}, last), { suffix: last.suffix + inner.whitespace }), ...inner.comments] });
|
|
1172
|
+
}
|
|
1173
|
+
/** `inner`, led by each marker of `outer` it does not already hold, so they print as they did around it. */
|
|
1174
|
+
function withOuterMarkers(outer, inner) {
|
|
1175
|
+
const added = outer.markers.filter(marker => !inner.markers.some(own => own.id === marker.id));
|
|
1176
|
+
return added.length === 0 ? inner : Object.assign(Object.assign({}, inner), { markers: [...added, ...inner.markers] });
|
|
1177
|
+
}
|
|
1143
1178
|
//# sourceMappingURL=visitor.js.map
|