@openrewrite/rewrite 0.22.0 → 0.22.2

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.
@@ -49,6 +49,7 @@ export declare class JavaScriptParserVisitor {
49
49
  visitStringKeyword(node: ts.Node): J.Identifier;
50
50
  visitUndefinedKeyword(node: ts.Node): J.Identifier;
51
51
  visitAnyKeyword(node: ts.Node): J.Identifier;
52
+ visitObjectKeyword(node: ts.Node): J.Identifier;
52
53
  visitUnknownKeyword(node: ts.Node): J.Identifier;
53
54
  visitVoidKeyword(node: ts.Node): J.Identifier;
54
55
  visitFalseKeyword(node: ts.FalseLiteral): J.Literal;
@@ -59,16 +60,16 @@ export declare class JavaScriptParserVisitor {
59
60
  visitJsxText(node: ts.JsxText): J.Unknown;
60
61
  visitRegularExpressionLiteral(node: ts.RegularExpressionLiteral): J.Literal;
61
62
  visitNoSubstitutionTemplateLiteral(node: ts.NoSubstitutionTemplateLiteral): J.Literal;
62
- visitTemplateHead(node: ts.TemplateHead): J.Unknown;
63
- visitTemplateMiddle(node: ts.TemplateMiddle): J.Unknown;
64
- visitTemplateTail(node: ts.TemplateTail): J.Unknown;
63
+ visitTemplateHead(node: ts.TemplateHead): J.Literal;
64
+ visitTemplateMiddle(node: ts.TemplateMiddle): J.Literal;
65
+ visitTemplateTail(node: ts.TemplateTail): J.Literal;
65
66
  visitIdentifier(node: ts.Identifier): J.Identifier | J.Literal;
66
67
  private mapIdentifier;
67
68
  visitThisKeyword(node: ts.ThisExpression): J.Identifier;
68
69
  visitPrivateIdentifier(node: ts.PrivateIdentifier): J.Identifier;
69
70
  visitQualifiedName(node: ts.QualifiedName): J.FieldAccess;
70
71
  visitComputedPropertyName(node: ts.ComputedPropertyName): J.NewArray;
71
- visitTypeParameter(node: ts.TypeParameterDeclaration): J.TypeParameter | J.Unknown;
72
+ visitTypeParameter(node: ts.TypeParameterDeclaration): J.TypeParameter;
72
73
  visitParameter(node: ts.ParameterDeclaration): J.VariableDeclarations | JS.JSVariableDeclarations;
73
74
  visitDecorator(node: ts.Decorator): J.Annotation | J.Unknown;
74
75
  visitPropertySignature(node: ts.PropertySignature): J.VariableDeclarations | JS.JSVariableDeclarations;
@@ -82,44 +83,44 @@ export declare class JavaScriptParserVisitor {
82
83
  visitSetAccessor(node: ts.SetAccessorDeclaration): J.MethodDeclaration;
83
84
  visitCallSignature(node: ts.CallSignatureDeclaration): J.MethodDeclaration;
84
85
  visitConstructSignature(node: ts.ConstructSignatureDeclaration): J.MethodDeclaration;
85
- visitIndexSignature(node: ts.IndexSignatureDeclaration): J.Unknown;
86
+ visitIndexSignature(node: ts.IndexSignatureDeclaration): JS.IndexSignatureDeclaration;
86
87
  visitTypePredicate(node: ts.TypePredicateNode): J.Unknown;
87
88
  visitTypeReference(node: ts.TypeReferenceNode): any;
88
89
  visitFunctionType(node: ts.FunctionTypeNode): JS.FunctionType;
89
- visitConstructorType(node: ts.ConstructorTypeNode): J.Unknown;
90
- visitTypeQuery(node: ts.TypeQueryNode): J.Unknown;
91
- visitTypeLiteral(node: ts.TypeLiteralNode): J.Unknown;
92
- visitArrayType(node: ts.ArrayTypeNode): J.Unknown;
93
- visitTupleType(node: ts.TupleTypeNode): J.Unknown;
94
- visitOptionalType(node: ts.OptionalTypeNode): J.Unknown;
95
- visitRestType(node: ts.RestTypeNode): J.Unknown;
90
+ visitConstructorType(node: ts.ConstructorTypeNode): JS.FunctionType;
91
+ visitTypeQuery(node: ts.TypeQueryNode): JS.TypeQuery;
92
+ visitTypeLiteral(node: ts.TypeLiteralNode): JS.TypeLiteral;
93
+ visitArrayType(node: ts.ArrayTypeNode): J.ArrayType;
94
+ visitTupleType(node: ts.TupleTypeNode): JS.Tuple;
95
+ visitOptionalType(node: ts.OptionalTypeNode): JS.Unary;
96
+ visitRestType(node: ts.RestTypeNode): JS.Unary;
96
97
  visitUnionType(node: ts.UnionTypeNode): JS.Union;
97
- visitIntersectionType(node: ts.IntersectionTypeNode): J.Unknown;
98
- visitConditionalType(node: ts.ConditionalTypeNode): J.Unknown;
98
+ visitIntersectionType(node: ts.IntersectionTypeNode): JS.Intersection;
99
+ visitConditionalType(node: ts.ConditionalTypeNode): JS.ConditionalType;
99
100
  visitInferType(node: ts.InferTypeNode): J.Unknown;
100
101
  visitParenthesizedType(node: ts.ParenthesizedTypeNode): J.Unknown;
101
102
  visitThisType(node: ts.ThisTypeNode): J.Unknown;
102
- visitTypeOperator(node: ts.TypeOperatorNode): J.Unknown;
103
+ visitTypeOperator(node: ts.TypeOperatorNode): JS.TypeOperator;
103
104
  visitIndexedAccessType(node: ts.IndexedAccessTypeNode): J.Unknown;
104
105
  visitMappedType(node: ts.MappedTypeNode): J.Unknown;
105
106
  visitLiteralType(node: ts.LiteralTypeNode): any;
106
107
  visitNamedTupleMember(node: ts.NamedTupleMember): J.Unknown;
107
- visitTemplateLiteralType(node: ts.TemplateLiteralTypeNode): J.Unknown;
108
- visitTemplateLiteralTypeSpan(node: ts.TemplateLiteralTypeSpan): J.Unknown;
108
+ visitTemplateLiteralType(node: ts.TemplateLiteralTypeNode): JS.TemplateExpression;
109
+ visitTemplateLiteralTypeSpan(node: ts.TemplateLiteralTypeSpan): JS.TemplateExpression.TemplateSpan;
109
110
  visitImportType(node: ts.ImportTypeNode): J.Unknown;
110
111
  visitObjectBindingPattern(node: ts.ObjectBindingPattern): JS.ObjectBindingDeclarations;
111
- visitArrayBindingPattern(node: ts.ArrayBindingPattern): J.Unknown;
112
- visitBindingElement(node: ts.BindingElement): JS.ObjectBindingDeclarations.Binding;
112
+ visitArrayBindingPattern(node: ts.ArrayBindingPattern): JS.ArrayBindingPattern;
113
+ visitBindingElement(node: ts.BindingElement): JS.BindingElement;
113
114
  visitArrayLiteralExpression(node: ts.ArrayLiteralExpression): J.NewArray;
114
115
  visitObjectLiteralExpression(node: ts.ObjectLiteralExpression): J.NewClass;
115
116
  private convertPropertyAssignments;
116
117
  visitPropertyAccessExpression(node: ts.PropertyAccessExpression): J.FieldAccess;
117
118
  visitElementAccessExpression(node: ts.ElementAccessExpression): J.ArrayAccess;
118
- visitCallExpression(node: ts.CallExpression): J.MethodInvocation | JS.JSMethodInvocation;
119
+ visitCallExpression(node: ts.CallExpression): J.MethodInvocation;
119
120
  visitNewExpression(node: ts.NewExpression): J.NewClass;
120
- visitTaggedTemplateExpression(node: ts.TaggedTemplateExpression): J.Unknown;
121
+ visitTaggedTemplateExpression(node: ts.TaggedTemplateExpression): JS.TaggedTemplateExpression;
121
122
  visitTypeAssertionExpression(node: ts.TypeAssertion): J.TypeCast;
122
- visitParenthesizedExpression(node: ts.ParenthesizedExpression): J.Parentheses<J.J>;
123
+ visitParenthesizedExpression(node: ts.ParenthesizedExpression): J.ParenthesizedTypeTree;
123
124
  visitFunctionExpression(node: ts.FunctionExpression): JS.FunctionDeclaration;
124
125
  visitArrowFunction(node: ts.ArrowFunction): JS.ArrowFunction;
125
126
  visitDeleteExpression(node: ts.DeleteExpression): JS.Delete;
@@ -132,18 +133,18 @@ export declare class JavaScriptParserVisitor {
132
133
  private mapBinaryOperator;
133
134
  private mapAssignmentOperation;
134
135
  visitConditionalExpression(node: ts.ConditionalExpression): J.Ternary;
135
- visitTemplateExpression(node: ts.TemplateExpression): J.Unknown;
136
+ visitTemplateExpression(node: ts.TemplateExpression): JS.TemplateExpression;
136
137
  visitYieldExpression(node: ts.YieldExpression): JS.Yield;
137
138
  visitSpreadElement(node: ts.SpreadElement): JS.Unary;
138
139
  visitClassExpression(node: ts.ClassExpression): JS.StatementExpression;
139
- visitOmittedExpression(node: ts.OmittedExpression): J.Unknown;
140
+ visitOmittedExpression(node: ts.OmittedExpression): J.Empty;
140
141
  visitExpressionWithTypeArguments(node: ts.ExpressionWithTypeArguments): any;
141
142
  visitAsExpression(node: ts.AsExpression): JS.JsBinary;
142
143
  visitNonNullExpression(node: ts.NonNullExpression): JS.Unary;
143
144
  visitMetaProperty(node: ts.MetaProperty): J.Unknown;
144
145
  visitSyntheticExpression(node: ts.SyntheticExpression): J.Unknown;
145
146
  visitSatisfiesExpression(node: ts.SatisfiesExpression): J.Unknown;
146
- visitTemplateSpan(node: ts.TemplateSpan): J.Unknown;
147
+ visitTemplateSpan(node: ts.TemplateSpan): JS.TemplateExpression.TemplateSpan;
147
148
  visitSemicolonClassElement(node: ts.SemicolonClassElement): J.Empty;
148
149
  visitBlock(node: ts.Block): J.Block;
149
150
  visitEmptyStatement(node: ts.EmptyStatement): J.Empty;
@@ -153,8 +154,8 @@ export declare class JavaScriptParserVisitor {
153
154
  visitDoStatement(node: ts.DoStatement): J.DoWhileLoop;
154
155
  visitWhileStatement(node: ts.WhileStatement): J.WhileLoop;
155
156
  visitForStatement(node: ts.ForStatement): J.ForLoop;
156
- visitForInStatement(node: ts.ForInStatement): J.Unknown;
157
- visitForOfStatement(node: ts.ForOfStatement): J.ForEachLoop;
157
+ visitForInStatement(node: ts.ForInStatement): JS.JSForInLoop;
158
+ visitForOfStatement(node: ts.ForOfStatement): JS.JSForOfLoop;
158
159
  visitContinueStatement(node: ts.ContinueStatement): J.Continue;
159
160
  visitBreakStatement(node: ts.BreakStatement): J.Break;
160
161
  visitReturnStatement(node: ts.ReturnStatement): J.Return;
@@ -169,9 +170,10 @@ export declare class JavaScriptParserVisitor {
169
170
  visitFunctionDeclaration(node: ts.FunctionDeclaration): JS.FunctionDeclaration;
170
171
  private getParameterListNodes;
171
172
  visitInterfaceDeclaration(node: ts.InterfaceDeclaration): J.ClassDeclaration;
172
- visitTypeAliasDeclaration(node: ts.TypeAliasDeclaration): J.Unknown;
173
+ visitTypeAliasDeclaration(node: ts.TypeAliasDeclaration): JS.TypeDeclaration;
173
174
  visitEnumDeclaration(node: ts.EnumDeclaration): J.ClassDeclaration;
174
175
  visitModuleDeclaration(node: ts.ModuleDeclaration): JS.NamespaceDeclaration;
176
+ private remapFieldAccess;
175
177
  visitModuleBlock(node: ts.ModuleBlock): J.Block;
176
178
  visitCaseBlock(node: ts.CaseBlock): J.Block;
177
179
  visitNamespaceExportDeclaration(node: ts.NamespaceExportDeclaration): J.Unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/javascript/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/javascript/parser.ts"],"names":[],"mappings":"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"}
@@ -192,8 +192,8 @@ class JavaScriptParserVisitor {
192
192
  const last = node.getChildren(this.sourceFile).slice(-1)[0];
193
193
  return (last === null || last === void 0 ? void 0 : last.kind) == ts.SyntaxKind.SemicolonToken ? this.prefix(last) : java_1.Space.EMPTY;
194
194
  };
195
- this.keywordPrefix = (token) => (node) => {
196
- const last = (0, parserUtils_1.getNextSibling)(node);
195
+ this.keywordPrefix = (token, findSibling) => (node) => {
196
+ const last = findSibling(node);
197
197
  return (last === null || last === void 0 ? void 0 : last.kind) == token ? this.prefix(last) : java_1.Space.EMPTY;
198
198
  };
199
199
  this._seenTriviaSpans = [];
@@ -231,7 +231,7 @@ class JavaScriptParserVisitor {
231
231
  var _a, _b, _c, _d;
232
232
  if (ts.isVariableStatement(node) || ts.isModuleDeclaration(node) || ts.isClassDeclaration(node) || ts.isEnumDeclaration(node)
233
233
  || ts.isInterfaceDeclaration(node) || ts.isPropertyDeclaration(node) || ts.isPropertySignature(node) || ts.isParameter(node)
234
- || ts.isMethodDeclaration(node) || ts.isConstructorDeclaration(node) || ts.isArrowFunction(node)) {
234
+ || ts.isMethodDeclaration(node) || ts.isConstructorDeclaration(node) || ts.isArrowFunction(node) || ts.isIndexSignatureDeclaration(node) || ts.isTypeAliasDeclaration(node)) {
235
235
  return node.modifiers ? (_a = node.modifiers) === null || _a === void 0 ? void 0 : _a.filter(ts.isModifier).map(this.mapModifier) : [];
236
236
  }
237
237
  else if (ts.isFunctionDeclaration(node)) {
@@ -352,6 +352,9 @@ class JavaScriptParserVisitor {
352
352
  visitAnyKeyword(node) {
353
353
  return this.mapIdentifier(node, 'any');
354
354
  }
355
+ visitObjectKeyword(node) {
356
+ return this.mapIdentifier(node, 'object');
357
+ }
355
358
  visitUnknownKeyword(node) {
356
359
  return this.mapIdentifier(node, 'unknown');
357
360
  }
@@ -383,13 +386,13 @@ class JavaScriptParserVisitor {
383
386
  return this.mapLiteral(node, node.text);
384
387
  }
385
388
  visitTemplateHead(node) {
386
- return this.visitUnknown(node);
389
+ return this.mapLiteral(node, node.text);
387
390
  }
388
391
  visitTemplateMiddle(node) {
389
- return this.visitUnknown(node);
392
+ return this.mapLiteral(node, node.text);
390
393
  }
391
394
  visitTemplateTail(node) {
392
- return this.visitUnknown(node);
395
+ return this.mapLiteral(node, node.text);
393
396
  }
394
397
  visitIdentifier(node) {
395
398
  if (node.text === 'undefined') {
@@ -414,15 +417,19 @@ class JavaScriptParserVisitor {
414
417
  return new J.NewArray((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, [], new java_1.JContainer(java_1.Space.EMPTY, [this.rightPadded(this.convert(node.expression), this.suffix(node.expression))], core_1.Markers.EMPTY), this.mapType(node));
415
418
  }
416
419
  visitTypeParameter(node) {
417
- if (node.constraint || (node.modifiers && node.modifiers.length) || node.default) {
418
- return this.visitUnknown(node);
419
- }
420
- return new J.TypeParameter((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.visit(node.name), null);
420
+ var _a;
421
+ return new J.TypeParameter((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.visit(node.name), (node.constraint || node.default) ?
422
+ new java_1.JContainer(this.prefix((_a = this.findChildNode(node, ts.SyntaxKind.ExtendsKeyword)) !== null && _a !== void 0 ? _a : this.findChildNode(node, ts.SyntaxKind.EqualsToken)), [node.constraint ? this.rightPadded(this.visit(node.constraint), this.suffix(node.constraint)) : this.rightPadded(this.newJEmpty(), java_1.Space.EMPTY),
423
+ node.default ? this.rightPadded(this.visit(node.default), this.suffix(node.default)) : this.rightPadded(this.newJEmpty(), java_1.Space.EMPTY)], core_1.Markers.EMPTY)
424
+ : null);
421
425
  }
422
426
  visitParameter(node) {
423
427
  if (node.questionToken) {
424
428
  return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.getOptionalUnary(node), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
425
429
  }
430
+ if (node.dotDotDotToken) {
431
+ return new JS.JSVariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [this.rightPadded(new JS.JSVariableDeclarations.JSNamedVariable((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.visit(node.name), this.mapType(node)), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
432
+ }
426
433
  const nameExpression = this.visit(node.name);
427
434
  if (nameExpression instanceof J.Identifier) {
428
435
  return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), this.mapTypeInfo(node), null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, nameExpression, [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.initializer) - 1)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
@@ -469,12 +476,18 @@ class JavaScriptParserVisitor {
469
476
  if (node.questionToken) {
470
477
  return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.getOptionalUnary(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, null, null, this.mapMethodType(node));
471
478
  }
479
+ if (ts.isComputedPropertyName(node.name)) {
480
+ return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.convert(node.name), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, null, null, this.mapMethodType(node));
481
+ }
472
482
  return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), new J.MethodDeclaration.IdentifierWithAnnotations(node.name ? this.visit(node.name) : this.mapIdentifier(node, ""), []), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, null, null, this.mapMethodType(node));
473
483
  }
474
484
  visitMethodDeclaration(node) {
475
485
  if (node.questionToken) {
476
486
  return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.getOptionalUnary(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
477
487
  }
488
+ if (ts.isComputedPropertyName(node.name)) {
489
+ return new JS.JSMethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), this.convert(node.name), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
490
+ }
478
491
  return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), this.mapModifiers(node), this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), new J.MethodDeclaration.IdentifierWithAnnotations(node.name ? this.visit(node.name) : this.mapIdentifier(node, ""), []), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, node.body ? this.convert(node.body) : null, null, this.mapMethodType(node));
479
492
  }
480
493
  mapTypeInfo(node) {
@@ -502,7 +515,7 @@ class JavaScriptParserVisitor {
502
515
  return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], this.mapTypeParametersAsObject(node), this.mapTypeInfo(node), new J.MethodDeclaration.IdentifierWithAnnotations(new J.Identifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], 'new', null, null), []), this.mapCommaSeparatedList(this.getParameterListNodes(node)), null, null, null, this.mapMethodType(node));
503
516
  }
504
517
  visitIndexSignature(node) {
505
- return this.visitUnknown(node);
518
+ return new JS.IndexSignatureDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.mapCommaSeparatedList(this.getParameterListNodes(node, ts.SyntaxKind.OpenBracketToken)), this.leftPadded(this.prefix(node.getChildAt(node.getChildren().indexOf(node.type) - 1)), this.convert(node.type)), this.mapType(node));
506
519
  }
507
520
  visitTypePredicate(node) {
508
521
  return this.visitUnknown(node);
@@ -514,37 +527,51 @@ class JavaScriptParserVisitor {
514
527
  return this.visit(node.typeName);
515
528
  }
516
529
  visitFunctionType(node) {
517
- return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new java_1.JContainer(this.prefix(node), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(node.getChildren().find(v => v.kind === ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
530
+ return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), new java_1.JContainer(this.prefix(node), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
518
531
  }
519
532
  visitConstructorType(node) {
520
- return this.visitUnknown(node);
533
+ return new JS.FunctionType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(true, this.suffix(this.findChildNode(node, ts.SyntaxKind.NewKeyword))), new java_1.JContainer(this.prefix(node), node.parameters.map(p => this.rightPadded(this.visit(p), this.suffix(p))), core_1.Markers.EMPTY), this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsGreaterThanToken)), this.convert(node.type), null);
521
534
  }
522
535
  visitTypeQuery(node) {
523
- return this.visitUnknown(node);
536
+ return new JS.TypeQuery((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.exprName), this.mapType(node));
524
537
  }
525
538
  visitTypeLiteral(node) {
526
- return this.visitUnknown(node);
539
+ return new JS.TypeLiteral((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.Block((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenBraceToken)), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), node.members.map(te => {
540
+ var _a, _b, _c, _d;
541
+ return new java_1.JRightPadded(this.convert(te), (((_a = te.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) === ts.SyntaxKind.SemicolonToken) || (((_b = te.getLastToken()) === null || _b === void 0 ? void 0 : _b.kind) === ts.SyntaxKind.CommaToken) ? this.prefix(te.getLastToken()) : java_1.Space.EMPTY, (((_c = te.getLastToken()) === null || _c === void 0 ? void 0 : _c.kind) === ts.SyntaxKind.SemicolonToken) || (((_d = te.getLastToken()) === null || _d === void 0 ? void 0 : _d.kind) === ts.SyntaxKind.CommaToken) ? core_1.Markers.build([this.convertToken(te.getLastToken())]) : core_1.Markers.EMPTY);
542
+ }), this.prefix(node.getLastToken())), this.mapType(node));
527
543
  }
528
544
  visitArrayType(node) {
529
- return this.visitUnknown(node);
545
+ return new J.ArrayType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.elementType), null, this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenBracketToken)), this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseBracketToken))), this.mapType(node));
530
546
  }
531
547
  visitTupleType(node) {
532
- return this.visitUnknown(node);
548
+ return new JS.Tuple((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new java_1.JContainer(java_1.Space.EMPTY, node.elements.length > 0 ?
549
+ node.elements.map(p => this.rightPadded(this.convert(p), this.suffix(p)))
550
+ .concat(node.elements.hasTrailingComma ? this.rightPadded(this.newJEmpty(), this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseBracketToken))) : [])
551
+ : [this.rightPadded(this.newJEmpty(this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseBracketToken))), java_1.Space.EMPTY)], core_1.Markers.EMPTY), this.mapType(node));
533
552
  }
534
553
  visitOptionalType(node) {
535
- return this.visitUnknown(node);
554
+ return new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(this.suffix(node.type), JS.Unary.Type.Optional), this.visit(node.type), this.mapType(node));
536
555
  }
537
556
  visitRestType(node) {
538
- return this.visitUnknown(node);
557
+ return new JS.Unary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.convert(node.type), this.mapType(node));
539
558
  }
540
559
  visitUnionType(node) {
541
- return new JS.Union((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPaddedList([...node.types], (n) => this.keywordPrefix(ts.SyntaxKind.BarToken)(n)), this.mapType(node));
560
+ const initialBar = (0, parserUtils_1.getPreviousSibling)(node.types[0]);
561
+ return new JS.Union((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [
562
+ ...((initialBar === null || initialBar === void 0 ? void 0 : initialBar.kind) == ts.SyntaxKind.BarToken ? [this.rightPadded(this.newJEmpty(), this.prefix(initialBar))] : []),
563
+ ...this.rightPaddedList([...node.types], (n) => this.keywordPrefix(ts.SyntaxKind.BarToken, parserUtils_1.getNextSibling)(n))
564
+ ], this.mapType(node));
542
565
  }
543
566
  visitIntersectionType(node) {
544
- return this.visitUnknown(node);
567
+ const initialAmpersand = (0, parserUtils_1.getPreviousSibling)(node.types[0]);
568
+ return new JS.Intersection((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [
569
+ ...((initialAmpersand === null || initialAmpersand === void 0 ? void 0 : initialAmpersand.kind) == ts.SyntaxKind.AmpersandToken ? [this.rightPadded(this.newJEmpty(), this.prefix(initialAmpersand))] : []),
570
+ ...this.rightPaddedList([...node.types], (n) => this.keywordPrefix(ts.SyntaxKind.AmpersandToken, parserUtils_1.getNextSibling)(n))
571
+ ], this.mapType(node));
545
572
  }
546
573
  visitConditionalType(node) {
547
- return this.visitUnknown(node);
574
+ return new JS.ConditionalType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.checkType), new java_1.JContainer(this.prefix(this.findChildNode(node, ts.SyntaxKind.ExtendsKeyword)), [this.rightPadded(new J.Ternary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.convert(node.extendsType), this.leftPadded(this.suffix(node.extendsType), this.convert(node.trueType)), this.leftPadded(this.suffix(node.trueType), this.convert(node.falseType)), this.mapType(node)), java_1.Space.EMPTY)], core_1.Markers.EMPTY), this.mapType(node));
548
575
  }
549
576
  visitInferType(node) {
550
577
  return this.visitUnknown(node);
@@ -556,7 +583,15 @@ class JavaScriptParserVisitor {
556
583
  return this.visitUnknown(node);
557
584
  }
558
585
  visitTypeOperator(node) {
559
- return this.visitUnknown(node);
586
+ function mapTypeOperator(operator) {
587
+ switch (operator) {
588
+ case ts.SyntaxKind.KeyOfKeyword:
589
+ return JS.TypeOperator.Type.KeyOf;
590
+ case ts.SyntaxKind.ReadonlyKeyword:
591
+ return JS.TypeOperator.Type.ReadOnly;
592
+ }
593
+ }
594
+ return new JS.TypeOperator((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, mapTypeOperator(node.operator), this.leftPadded(this.prefix(node.type), this.visit(node.type)));
560
595
  }
561
596
  visitIndexedAccessType(node) {
562
597
  return this.visitUnknown(node);
@@ -571,10 +606,10 @@ class JavaScriptParserVisitor {
571
606
  return this.visitUnknown(node);
572
607
  }
573
608
  visitTemplateLiteralType(node) {
574
- return this.visitUnknown(node);
609
+ return new JS.TemplateExpression((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.head), node.templateSpans.map(s => this.rightPadded(this.visit(s), this.suffix(s))), this.mapType(node));
575
610
  }
576
611
  visitTemplateLiteralTypeSpan(node) {
577
- return this.visitUnknown(node);
612
+ return new JS.TemplateExpression.TemplateSpan((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.type), this.visit(node.literal));
578
613
  }
579
614
  visitImportType(node) {
580
615
  return this.visitUnknown(node);
@@ -583,10 +618,10 @@ class JavaScriptParserVisitor {
583
618
  return new JS.ObjectBindingDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [], null, this.mapCommaSeparatedList(node.getChildren(this.sourceFile)), null);
584
619
  }
585
620
  visitArrayBindingPattern(node) {
586
- return this.visitUnknown(node);
621
+ return new JS.ArrayBindingPattern((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapCommaSeparatedList(node.getChildren(this.sourceFile)), this.mapType(node));
587
622
  }
588
623
  visitBindingElement(node) {
589
- return new JS.ObjectBindingDeclarations.Binding((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.propertyName ? this.rightPadded(this.convert(node.propertyName), this.suffix(node.propertyName)) : null, node.dotDotDotToken ? new JS.Unary((0, core_1.randomId)(), this.prefix(node.dotDotDotToken), core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.convert(node.name), null) : this.convert(node.name), [], null, node.initializer ? this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsToken)), this.convert(node.initializer)) : null, this.mapVariableType(node));
624
+ return new JS.BindingElement((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.propertyName ? this.rightPadded(this.convert(node.propertyName), this.suffix(node.propertyName)) : null, node.dotDotDotToken ? new JS.Unary((0, core_1.randomId)(), this.prefix(node.dotDotDotToken), core_1.Markers.EMPTY, this.leftPadded(java_1.Space.EMPTY, JS.Unary.Type.Spread), this.convert(node.name), null) : this.convert(node.name), node.initializer ? this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsToken)), this.convert(node.initializer)) : null, this.mapVariableType(node));
590
625
  }
591
626
  visitArrayLiteralExpression(node) {
592
627
  return new J.NewArray((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, [], this.mapCommaSeparatedList(node.getChildren(this.sourceFile)), this.mapType(node));
@@ -611,46 +646,51 @@ class JavaScriptParserVisitor {
611
646
  }
612
647
  visitCallExpression(node) {
613
648
  const prefix = this.prefix(node);
649
+ const typeArguments = node.typeArguments ? this.mapTypeArguments(this.prefix(this.findChildNode(node, ts.SyntaxKind.LessThanToken)), node.typeArguments) : null;
614
650
  let select;
615
- let name;
616
- if (ts.isPropertyAccessExpression(node.expression)) {
651
+ let name = new J.Identifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], "", null, null);
652
+ if (ts.isIdentifier(node.expression) && !node.questionDotToken) {
653
+ select = null;
654
+ name = this.convert(node.expression);
655
+ }
656
+ else if (ts.isPropertyAccessExpression(node.expression)) {
617
657
  select = this.rightPadded(node.expression.questionDotToken ?
618
658
  new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(this.suffix(node.expression.expression), JS.Unary.Type.QuestionDot), this.visit(node.expression.expression), this.mapType(node)) :
619
659
  this.convert(node.expression.expression), this.prefix(node.expression.getChildAt(1, this.sourceFile)));
620
- name = node.expression.name;
660
+ name = this.convert(node.expression.name);
621
661
  }
622
662
  else {
623
- select = null;
624
- name = node.expression;
625
- }
626
- if (node.questionDotToken) {
627
- const unary = new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(this.suffix(name), JS.Unary.Type.QuestionDotWithDot), this.visit(name), this.mapType(node));
628
- return new JS.JSMethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, node.typeArguments ? this.mapTypeArguments(this.prefix(this.findChildNode(node, ts.SyntaxKind.LessThanToken)), node.typeArguments) : null, unary, this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
629
- }
630
- else {
631
- return new J.MethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, node.typeArguments ? this.mapTypeArguments(this.prefix(this.findChildNode(node, ts.SyntaxKind.LessThanToken)), node.typeArguments) : null, this.convert(name), this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
663
+ if (node.questionDotToken) {
664
+ select = this.rightPadded(new JS.Unary((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.leftPadded(this.suffix(node.expression), JS.Unary.Type.QuestionDotWithDot), this.visit(node.expression), this.mapType(node)), java_1.Space.EMPTY);
665
+ }
666
+ else {
667
+ select = this.rightPadded(this.visit(node.expression), this.suffix(node.expression));
668
+ }
632
669
  }
670
+ return new J.MethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, typeArguments, name, this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
633
671
  }
634
672
  visitNewExpression(node) {
635
673
  return new J.NewClass((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, java_1.Space.EMPTY, this.visit(node.expression), this.mapCommaSeparatedList(node.arguments ? node.getChildren(this.sourceFile).slice(2) : []), null, this.mapMethodType(node));
636
674
  }
637
675
  visitTaggedTemplateExpression(node) {
638
- return this.visitUnknown(node);
676
+ return new JS.TaggedTemplateExpression((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.tag), this.suffix(node.tag)), node.typeArguments ? this.mapTypeArguments(java_1.Space.EMPTY, node.typeArguments) : null, this.visit(node.template), this.mapType(node));
639
677
  }
640
678
  visitTypeAssertionExpression(node) {
641
679
  return new J.TypeCast((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.ControlParentheses((0, core_1.randomId)(), this.prefix(node.getFirstToken()), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.type), this.prefix(node.getChildAt(2, this.sourceFile)))), this.convert(node.expression));
642
680
  }
643
681
  visitParenthesizedExpression(node) {
644
- return new J.Parentheses((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.expression), this.prefix(node.getLastToken())));
682
+ return new J.ParenthesizedTypeTree((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, [], new J.Parentheses((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.expression), this.prefix(node.getLastToken()))));
645
683
  }
646
684
  visitFunctionExpression(node) {
647
- return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], null, this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
685
+ return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], node.name ? this.visit(node.name) : null, this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
648
686
  }
649
687
  visitArrowFunction(node) {
650
- return new JS.ArrowFunction((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.typeParameters ? this.mapTypeParametersAsObject(node) : null, new java_1.Lambda.Parameters((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, true, node.parameters.length > 0 ?
688
+ const openParenToken = this.findChildNode(node, ts.SyntaxKind.OpenParenToken);
689
+ const isParenthesized = openParenToken != undefined;
690
+ return new JS.ArrowFunction((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.typeParameters ? this.mapTypeParametersAsObject(node) : null, new java_1.Lambda.Parameters((0, core_1.randomId)(), isParenthesized ? this.prefix(openParenToken) : java_1.Space.EMPTY, core_1.Markers.EMPTY, isParenthesized, node.parameters.length > 0 ?
651
691
  node.parameters.map(p => this.rightPadded(this.convert(p), this.suffix(p)))
652
692
  .concat(node.parameters.hasTrailingComma ? this.rightPadded(this.newJEmpty(), this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseParenToken))) : []) :
653
- [this.rightPadded(this.newJEmpty(), this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseParenToken)))]), this.mapTypeInfo(node), this.prefix(node.equalsGreaterThanToken), this.convert(node.body), this.mapType(node));
693
+ isParenthesized ? [this.rightPadded(this.newJEmpty(), this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseParenToken)))] : []), this.mapTypeInfo(node), this.prefix(node.equalsGreaterThanToken), this.convert(node.body), this.mapType(node));
654
694
  }
655
695
  visitDeleteExpression(node) {
656
696
  return new JS.Delete((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.mapType(node));
@@ -811,7 +851,7 @@ class JavaScriptParserVisitor {
811
851
  return new J.Ternary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.condition), this.leftPadded(this.suffix(node.condition), this.convert(node.whenTrue)), this.leftPadded(this.suffix(node.whenTrue), this.convert(node.whenFalse)), this.mapType(node));
812
852
  }
813
853
  visitTemplateExpression(node) {
814
- return this.visitUnknown(node);
854
+ return new JS.TemplateExpression((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.head), node.templateSpans.map(s => this.rightPadded(this.visit(s), this.suffix(s))), this.mapType(node));
815
855
  }
816
856
  visitYieldExpression(node) {
817
857
  return new JS.Yield((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, false, node.expression ? this.visit(node.expression) : null, this.mapType(node));
@@ -826,13 +866,11 @@ class JavaScriptParserVisitor {
826
866
  }), this.prefix(node.getLastToken())), this.mapType(node)));
827
867
  }
828
868
  visitOmittedExpression(node) {
829
- return this.visitUnknown(node);
869
+ return this.newJEmpty(this.prefix(node));
830
870
  }
831
871
  visitExpressionWithTypeArguments(node) {
832
872
  if (node.typeArguments) {
833
- if (node.typeArguments) {
834
- return new J.ParameterizedType((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.expression), this.mapTypeArguments(this.suffix(node.expression), node.typeArguments), this.mapType(node));
835
- }
873
+ return new JS.ExpressionWithTypeArguments((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.expression), this.mapTypeArguments(this.suffix(node.expression), node.typeArguments), this.mapType(node));
836
874
  }
837
875
  return this.visit(node.expression);
838
876
  }
@@ -852,7 +890,7 @@ class JavaScriptParserVisitor {
852
890
  return this.visitUnknown(node);
853
891
  }
854
892
  visitTemplateSpan(node) {
855
- return this.visitUnknown(node);
893
+ return new JS.TemplateExpression.TemplateSpan((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.visit(node.literal));
856
894
  }
857
895
  visitSemicolonClassElement(node) {
858
896
  return this.newJEmpty(this.semicolonPrefix(node));
@@ -897,11 +935,12 @@ class JavaScriptParserVisitor {
897
935
  this.rightPadded(this.newJEmpty(this.prefix(this.findChildNode(node, ts.SyntaxKind.CloseParenToken))), java_1.Space.EMPTY)]), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
898
936
  }
899
937
  visitForInStatement(node) {
900
- return this.visitUnknown(node);
938
+ var _a;
939
+ return new JS.JSForInLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.prefix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
901
940
  }
902
941
  visitForOfStatement(node) {
903
942
  var _a;
904
- return new J.ForEachLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.ForEachLoop.Control((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), java_1.Space.EMPTY), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
943
+ return new JS.JSForOfLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.awaitModifier ? this.leftPadded(this.prefix(node.awaitModifier), true) : this.leftPadded(java_1.Space.EMPTY, false), new JS.JSForInOfLoopControl((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.initializer), this.prefix(node.initializer)), this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.statement), this.semicolonPrefix(node.statement), ((_a = node.statement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY));
905
944
  }
906
945
  visitContinueStatement(node) {
907
946
  return new J.Continue((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.label ? this.visit(node.label) : null);
@@ -951,12 +990,12 @@ class JavaScriptParserVisitor {
951
990
  }));
952
991
  }
953
992
  visitFunctionDeclaration(node) {
954
- return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.visit(node.name), this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
993
+ return new JS.FunctionDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), node.name ? this.visit(node.name) : null, this.mapTypeParametersAsObject(node), this.mapCommaSeparatedList(this.getParameterListNodes(node)), this.mapTypeInfo(node), this.convert(node.body), this.mapMethodType(node));
955
994
  }
956
- getParameterListNodes(node) {
995
+ getParameterListNodes(node, openToken = ts.SyntaxKind.OpenParenToken) {
957
996
  const children = node.getChildren(this.sourceFile);
958
997
  for (let i = 0; i < children.length; i++) {
959
- if (children[i].kind == ts.SyntaxKind.OpenParenToken) {
998
+ if (children[i].kind == openToken) {
960
999
  return children.slice(i, i + 3);
961
1000
  }
962
1001
  }
@@ -969,7 +1008,7 @@ class JavaScriptParserVisitor {
969
1008
  }), this.prefix(node.getLastToken())), this.mapType(node));
970
1009
  }
971
1010
  visitTypeAliasDeclaration(node) {
972
- return this.visitUnknown(node);
1011
+ return new JS.TypeDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.TypeKeyword)), this.visit(node.name)), node.typeParameters ? this.mapTypeParametersAsObject(node) : null, this.leftPadded(this.prefix(this.findChildNode(node, ts.SyntaxKind.EqualsToken)), this.convert(node.type)), this.mapType(node));
973
1012
  }
974
1013
  visitEnumDeclaration(node) {
975
1014
  return new J.ClassDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), new J.ClassDeclaration.Kind((0, core_1.randomId)(), node.modifiers ? this.suffix(node.modifiers[node.modifiers.length - 1]) : this.prefix(node), core_1.Markers.EMPTY, [], J.ClassDeclaration.Kind.Type.Enum), node.name ? this.convert(node.name) : this.mapIdentifier(node, ""), null, null, null, null, null, new J.Block((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenBraceToken)), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), [this.rightPadded(new J.EnumValueSet((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, node.members.map(em => this.rightPadded(this.visit(em), this.suffix(em))), node.members.hasTrailingComma), java_1.Space.EMPTY)], this.prefix(node.getLastToken())), this.mapType(node));
@@ -980,12 +1019,20 @@ class JavaScriptParserVisitor {
980
1019
  const keywordType = namespaceKeyword ? JS.NamespaceDeclaration.KeywordType.Namespace : JS.NamespaceDeclaration.KeywordType.Module;
981
1020
  namespaceKeyword !== null && namespaceKeyword !== void 0 ? namespaceKeyword : (namespaceKeyword = this.findChildNode(node, ts.SyntaxKind.ModuleKeyword));
982
1021
  if (body instanceof JS.NamespaceDeclaration) {
983
- return new JS.NamespaceDeclaration((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(namespaceKeyword ? this.prefix(namespaceKeyword) : java_1.Space.EMPTY, keywordType), this.rightPadded(new J.FieldAccess((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.name), new J.JLeftPadded(this.suffix(node.name), body.name, core_1.Markers.EMPTY), null), java_1.Space.EMPTY), body.body);
1022
+ return new JS.NamespaceDeclaration((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(namespaceKeyword ? this.prefix(namespaceKeyword) : java_1.Space.EMPTY, keywordType), this.rightPadded((body.name instanceof J.FieldAccess)
1023
+ ? this.remapFieldAccess(body.name, node.name)
1024
+ : new J.FieldAccess((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.visit(node.name), new J.JLeftPadded(this.suffix(node.name), body.name, core_1.Markers.EMPTY), null), body.padding.name.after), body.body);
984
1025
  }
985
1026
  else {
986
- return new JS.NamespaceDeclaration((0, core_1.randomId)(), node.parent.kind === ts.SyntaxKind.ModuleBlock ? this.prefix(node) : java_1.Space.EMPTY, core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(namespaceKeyword ? this.prefix(namespaceKeyword) : java_1.Space.EMPTY, keywordType), this.rightPadded(this.convert(node.name), this.prefix(node)), body);
1027
+ return new JS.NamespaceDeclaration((0, core_1.randomId)(), node.parent.kind === ts.SyntaxKind.ModuleBlock ? this.prefix(node) : java_1.Space.EMPTY, core_1.Markers.EMPTY, this.mapModifiers(node), this.leftPadded(namespaceKeyword ? this.prefix(namespaceKeyword) : java_1.Space.EMPTY, keywordType), this.rightPadded(this.convert(node.name), this.suffix(node.name)), body);
987
1028
  }
988
1029
  }
1030
+ remapFieldAccess(fa, name) {
1031
+ if (fa.target instanceof J.Identifier) {
1032
+ return new J.FieldAccess((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, new J.FieldAccess((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.visit(name), this.leftPadded(this.suffix(name), fa.target), null), fa.padding.name, null);
1033
+ }
1034
+ return new J.FieldAccess((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.remapFieldAccess(fa.target, name), fa.padding.name, null);
1035
+ }
989
1036
  visitModuleBlock(node) {
990
1037
  return new J.Block((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), this.semicolonPaddedStatementList(node.statements), this.prefix(node.getLastToken()));
991
1038
  }
@@ -1349,6 +1396,9 @@ class JavaScriptParserVisitor {
1349
1396
  else if (ts.isFunctionExpression(node)) {
1350
1397
  ts_prefix = this.suffix(this.findChildNode(node, ts.SyntaxKind.FunctionKeyword));
1351
1398
  }
1399
+ else if (ts.isTypeAliasDeclaration(node)) {
1400
+ ts_prefix = this.suffix(node.name);
1401
+ }
1352
1402
  else {
1353
1403
  ts_prefix = node.questionToken ? this.suffix(node.questionToken) : node.name ? this.suffix(node.name) : java_1.Space.EMPTY;
1354
1404
  }