@openrewrite/rewrite 0.18.1 → 0.18.3

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.
@@ -38,12 +38,13 @@ export declare class JavaScriptParserVisitor {
38
38
  private leftPaddedList;
39
39
  private semicolonPrefix;
40
40
  private keywordPrefix;
41
- visitClassDeclaration(node: ts.ClassDeclaration): J.ClassDeclaration;
41
+ visitClassDeclaration(node: ts.ClassDeclaration): J.ClassDeclaration | J.Unknown;
42
42
  private mapExtends;
43
43
  private mapImplements;
44
44
  visitNumericLiteral(node: ts.NumericLiteral): J.Literal;
45
45
  visitTrueKeyword(node: ts.TrueLiteral): J.Literal;
46
46
  visitNumberKeyword(node: ts.Node): J.Identifier;
47
+ visitBooleanKeyword(node: ts.Node): J.Identifier;
47
48
  visitStringKeyword(node: ts.Node): J.Identifier;
48
49
  visitUndefinedKeyword(node: ts.Node): J.Identifier;
49
50
  visitFalseKeyword(node: ts.FalseLiteral): J.Literal;
@@ -64,7 +65,7 @@ export declare class JavaScriptParserVisitor {
64
65
  visitQualifiedName(node: ts.QualifiedName): J.Unknown;
65
66
  visitComputedPropertyName(node: ts.ComputedPropertyName): J.NewArray;
66
67
  visitTypeParameter(node: ts.TypeParameterDeclaration): J.Unknown;
67
- visitParameter(node: ts.ParameterDeclaration): J.Unknown;
68
+ visitParameter(node: ts.ParameterDeclaration): J.VariableDeclarations;
68
69
  visitDecorator(node: ts.Decorator): J.Unknown;
69
70
  visitPropertySignature(node: ts.PropertySignature): J.Unknown;
70
71
  visitPropertyDeclaration(node: ts.PropertyDeclaration): J.VariableDeclarations;
@@ -78,7 +79,7 @@ export declare class JavaScriptParserVisitor {
78
79
  visitConstructSignature(node: ts.ConstructSignatureDeclaration): J.Unknown;
79
80
  visitIndexSignature(node: ts.IndexSignatureDeclaration): J.Unknown;
80
81
  visitTypePredicate(node: ts.TypePredicateNode): J.Unknown;
81
- visitTypeReference(node: ts.TypeReferenceNode): J.Unknown;
82
+ visitTypeReference(node: ts.TypeReferenceNode): any;
82
83
  visitFunctionType(node: ts.FunctionTypeNode): J.Unknown;
83
84
  visitConstructorType(node: ts.ConstructorTypeNode): void;
84
85
  visitTypeQuery(node: ts.TypeQueryNode): J.Unknown;
@@ -122,12 +123,12 @@ export declare class JavaScriptParserVisitor {
122
123
  visitAwaitExpression(node: ts.AwaitExpression): JS.Await;
123
124
  visitPrefixUnaryExpression(node: ts.PrefixUnaryExpression): J.Unary | J.Unknown;
124
125
  visitPostfixUnaryExpression(node: ts.PostfixUnaryExpression): J.Unary | J.Unknown;
125
- visitBinaryExpression(node: ts.BinaryExpression): J.Binary | J.InstanceOf | J.Unknown | JS.JsBinary;
126
+ visitBinaryExpression(node: ts.BinaryExpression): J.Assignment | J.Binary | J.InstanceOf | J.Unknown | JS.JsBinary;
126
127
  private mapBinaryOperator;
127
- visitConditionalExpression(node: ts.ConditionalExpression): J.Unknown;
128
+ visitConditionalExpression(node: ts.ConditionalExpression): J.Ternary;
128
129
  visitTemplateExpression(node: ts.TemplateExpression): J.Unknown;
129
- visitYieldExpression(node: ts.YieldExpression): J.Unknown;
130
- visitSpreadElement(node: ts.SpreadElement): J.Unknown;
130
+ visitYieldExpression(node: ts.YieldExpression): JS.Yield;
131
+ visitSpreadElement(node: ts.SpreadElement): JS.Unary;
131
132
  visitClassExpression(node: ts.ClassExpression): J.Unknown;
132
133
  visitOmittedExpression(node: ts.OmittedExpression): J.Unknown;
133
134
  visitExpressionWithTypeArguments(node: ts.ExpressionWithTypeArguments): any;
@@ -138,19 +139,19 @@ export declare class JavaScriptParserVisitor {
138
139
  visitSatisfiesExpression(node: ts.SatisfiesExpression): J.Unknown;
139
140
  visitTemplateSpan(node: ts.TemplateSpan): J.Unknown;
140
141
  visitSemicolonClassElement(node: ts.SemicolonClassElement): J.Unknown;
141
- visitBlock(node: ts.Block): J.Unknown;
142
- visitEmptyStatement(node: ts.EmptyStatement): J.Unknown;
142
+ visitBlock(node: ts.Block): J.Block;
143
+ visitEmptyStatement(node: ts.EmptyStatement): J.Empty;
143
144
  visitVariableStatement(node: ts.VariableStatement): J.VariableDeclarations | J.Unknown;
144
145
  visitExpressionStatement(node: ts.ExpressionStatement): JS.ExpressionStatement;
145
- visitIfStatement(node: ts.IfStatement): J.Unknown;
146
+ visitIfStatement(node: ts.IfStatement): J.If;
146
147
  visitDoStatement(node: ts.DoStatement): J.Unknown;
147
148
  visitWhileStatement(node: ts.WhileStatement): J.Unknown;
148
- visitForStatement(node: ts.ForStatement): J.Unknown;
149
+ visitForStatement(node: ts.ForStatement): J.ForLoop;
149
150
  visitForInStatement(node: ts.ForInStatement): J.Unknown;
150
151
  visitForOfStatement(node: ts.ForOfStatement): J.Unknown;
151
152
  visitContinueStatement(node: ts.ContinueStatement): J.Unknown;
152
153
  visitBreakStatement(node: ts.BreakStatement): J.Unknown;
153
- visitReturnStatement(node: ts.ReturnStatement): J.Unknown;
154
+ visitReturnStatement(node: ts.ReturnStatement): J.Return;
154
155
  visitWithStatement(node: ts.WithStatement): J.Unknown;
155
156
  visitSwitchStatement(node: ts.SwitchStatement): J.Unknown;
156
157
  visitLabeledStatement(node: ts.LabeledStatement): J.Unknown;
@@ -158,8 +159,9 @@ export declare class JavaScriptParserVisitor {
158
159
  visitTryStatement(node: ts.TryStatement): J.Unknown;
159
160
  visitDebuggerStatement(node: ts.DebuggerStatement): J.Unknown;
160
161
  visitVariableDeclaration(node: ts.VariableDeclaration): J.VariableDeclarations.NamedVariable;
161
- visitVariableDeclarationList(node: ts.VariableDeclarationList): J.Unknown;
162
- visitFunctionDeclaration(node: ts.FunctionDeclaration): J.Unknown;
162
+ visitVariableDeclarationList(node: ts.VariableDeclarationList): J.VariableDeclarations;
163
+ visitFunctionDeclaration(node: ts.FunctionDeclaration): J.MethodDeclaration | J.Unknown;
164
+ private getParameterListNodes;
163
165
  visitInterfaceDeclaration(node: ts.InterfaceDeclaration): J.Unknown;
164
166
  visitTypeAliasDeclaration(node: ts.TypeAliasDeclaration): J.Unknown;
165
167
  visitEnumDeclaration(node: ts.EnumDeclaration): J.Unknown;
@@ -260,9 +262,13 @@ export declare class JavaScriptParserVisitor {
260
262
  private mapPrimitiveType;
261
263
  private mapVariableType;
262
264
  private mapMethodType;
263
- private mapArguments;
265
+ private mapCommaSeparatedList;
266
+ private trailingComma;
267
+ private mapToContainer;
268
+ private mapToRightPaddedList;
264
269
  private mapDecorators;
265
270
  private mapTypeParameters;
266
271
  private convertBlock;
272
+ private findChildNode;
267
273
  }
268
274
  //# sourceMappingURL=parser.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AACxB,OAAO,EACH,gBAAgB,EAIhB,MAAM,EACN,WAAW,EAEX,UAAU,EACb,MAAM,SAAS,CAAC;AAIjB,qBAAa,gBAAiB,SAAQ,MAAM;IAExC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,UAAU,CAAyB;;IAW3C,KAAK,IAAI,IAAI;IAMb,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC;IAiBhH,WAAW,CACP,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,GAAG,EAAE,gBAAgB,GACtB,QAAQ,CAAC,UAAU,CAAC;IAsFvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIpE,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO;CAG7C;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,MAAa,OAAQ,SAAQ,MAAM,CAAC,OAAO;QACvC,KAAK,IAAI,gBAAgB;KAG5B;CACJ;AAYD,qBAAa,uBAAuB;IAI5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAG/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,CAAC,UAAU,EAC1C,WAAW,EAAE,EAAE,CAAC,WAAW;IAI/B,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG;IASzB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAIxC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,eAAe;IAgBxD,OAAO,CAAC,4BAA4B;IAOpC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAmB1B,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,WAAW,CA6BlB;IAED,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe,CAGtB;IAED,OAAO,CAAC,aAAa,CAGpB;IAED,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IA6B/C,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAoBrB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAIhC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAIjC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAIhC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAInC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,OAAO,CAAC,UAAU;IAYlB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO;IAI7B,6BAA6B,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB;IAI/D,kCAAkC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B;IAIzE,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;IAQnC,OAAO,CAAC,aAAa;IAarB,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAIxC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAavD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB;IAIpD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAyB5C,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS;IAIjC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAyBrD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,gCAAgC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B;IAIrE,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB;IAIhD,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB;IAIhD,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB;IAIhD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB;IAIpD,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B;IAI9D,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB;IAItD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAI7C,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAO7C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI3C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAGjD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIrC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAIzC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIrC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIrC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI3C,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAInC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAUrC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAInD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIjD,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIrC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAIrD,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAInC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI3C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAIrD,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAIvC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAIzC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAIzD,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAI7D,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAIvC,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAIvD,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB;IAY3D,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAc7D,OAAO,CAAC,0BAA0B;IAoBlC,6BAA6B,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB;IAW/D,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAI7D,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAuB3C,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAczC,6BAA6B,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB;IAI/D,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAenD,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAS7D,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAU/C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAU/C,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAS3C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAU7C,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAoCzD,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB;IAyB3D,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IA+D/C,OAAO,CAAC,iBAAiB;IAiEzB,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAYzD,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAW7C,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAWzC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,gCAAgC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B;IAQrE,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAYvC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAIzD,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;IAWzB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAQ3C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,OAAO;IAoBtF,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,mBAAmB;IAO9E,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IA8BrC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IA0BvC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAS7C,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAYrD,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAc7D,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAgCrD,OAAO,CAAC,qBAAqB;IAU7B,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAIvD,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAIvD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS;IAIjC,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B;IAInE,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAI7D,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAK5C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAgBjD,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAiBvC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB;IAI7D,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;IAInC,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB;IAIzD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;IAInC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAUnD,gCAAgC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B;IAIrE,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;IAInC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM;IAI3B,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,yBAAyB,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB;IAIvD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;IAIzB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS;IAIjC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS;IAIjC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS;IAIjC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ;IAI/B,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB;IAInD,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa;IAIzC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY;IAIvC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe;IAI7C,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW;IAIrC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB;IAI/C,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB;IAIjD,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc;IAI3C,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU;IAInC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B;IAInE,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB;IAIrD,iCAAiC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAI/C,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,MAAM;IAoBd,OAAO,CAAC,MAAM,CAEb;IAED,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa,CAGpB;IAED,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;CAQxB"}
@@ -176,8 +176,8 @@ class JavaScriptParserVisitor {
176
176
  }
177
177
  return new J.Modifier((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, kind == J.Modifier.Type.LanguageExtension ? node.getText() : null, kind, []);
178
178
  };
179
- this.semicolonPrefix = (n) => {
180
- const last = n.getLastToken();
179
+ this.semicolonPrefix = (node) => {
180
+ const last = node.getChildren(this.sourceFile).slice(-1)[0];
181
181
  return (last === null || last === void 0 ? void 0 : last.kind) == ts.SyntaxKind.SemicolonToken ? this.prefix(last) : java_1.Space.EMPTY;
182
182
  };
183
183
  this.keywordPrefix = (token) => (node) => {
@@ -185,6 +185,13 @@ class JavaScriptParserVisitor {
185
185
  return (last === null || last === void 0 ? void 0 : last.kind) == token ? this.prefix(last) : java_1.Space.EMPTY;
186
186
  };
187
187
  this._seenTriviaSpans = [];
188
+ this.suffix = (node, consume = true) => {
189
+ return this.prefix((0, parserUtils_1.getNextSibling)(node), consume);
190
+ };
191
+ this.trailingComma = (nodes) => (ns, i) => {
192
+ const last = i === ns.length - 2;
193
+ return last ? core_1.Markers.build([new java_1.TrailingComma((0, core_1.randomId)(), this.prefix(nodes[2], false))]) : core_1.Markers.EMPTY;
194
+ };
188
195
  this.typeMapping = new typeMapping_1.JavaScriptTypeMapping(typeChecker);
189
196
  }
190
197
  visit(node) {
@@ -204,7 +211,7 @@ class JavaScriptParserVisitor {
204
211
  }
205
212
  semicolonPaddedStatementList(statements) {
206
213
  return this.rightPaddedList([...statements], this.semicolonPrefix, n => {
207
- const last = n.getLastToken();
214
+ const last = n.getChildAt(n.getChildCount(this.sourceFile) - 1, this.sourceFile);
208
215
  return (last === null || last === void 0 ? void 0 : last.kind) == ts.SyntaxKind.SemicolonToken ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY;
209
216
  });
210
217
  }
@@ -214,7 +221,7 @@ class JavaScriptParserVisitor {
214
221
  ]), node.getFullText()));
215
222
  }
216
223
  mapModifiers(node) {
217
- var _a, _b;
224
+ var _a, _b, _c;
218
225
  if (ts.isVariableStatement(node)) {
219
226
  return [new J.Modifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, (_a = node.declarationList.getFirstToken()) === null || _a === void 0 ? void 0 : _a.getText(), J.Modifier.Type.LanguageExtension, [])];
220
227
  }
@@ -224,6 +231,22 @@ class JavaScriptParserVisitor {
224
231
  else if (ts.isPropertyDeclaration(node)) {
225
232
  return [];
226
233
  }
234
+ else if (ts.isFunctionDeclaration(node) || ts.isParameter(node)) {
235
+ return node.modifiers ? (_c = node.modifiers) === null || _c === void 0 ? void 0 : _c.filter(ts.isModifier).map(this.mapModifier) : [];
236
+ }
237
+ else if (ts.isVariableDeclarationList(node)) {
238
+ let modifier;
239
+ if ((node.flags & ts.NodeFlags.Let) !== 0) {
240
+ modifier = "let";
241
+ }
242
+ else if ((node.flags & ts.NodeFlags.Const) !== 0) {
243
+ modifier = "const";
244
+ }
245
+ else {
246
+ modifier = "var";
247
+ }
248
+ return modifier ? [new J.Modifier((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, "let", J.Modifier.Type.LanguageExtension, [])] : [];
249
+ }
227
250
  throw new Error(`Cannot get modifiers from ${node}`);
228
251
  }
229
252
  rightPadded(t, trailing, markers) {
@@ -238,11 +261,10 @@ class JavaScriptParserVisitor {
238
261
  }
239
262
  const ts = [];
240
263
  for (let i = 0; i < nodes.length - 1; i += 2) {
241
- const last = i === nodes.length - 2;
242
- ts.push(this.rightPadded(this.convert(nodes[i]), this.prefix(nodes[i + 1]), markers(nodes, i)));
264
+ ts.push(this.rightPadded(this.convert(nodes[i]), this.prefix(nodes[i + 1]), markers ? markers(nodes, i) : core_1.Markers.EMPTY));
243
265
  }
244
266
  if ((nodes.length & 1) === 1) {
245
- ts.push(this.rightPadded(this.convert(nodes[nodes.length - 1]), java_1.Space.EMPTY, markers(nodes, nodes.length - 1)));
267
+ ts.push(this.rightPadded(this.convert(nodes[nodes.length - 1]), java_1.Space.EMPTY, markers ? markers(nodes, nodes.length - 1) : core_1.Markers.EMPTY));
246
268
  }
247
269
  return ts;
248
270
  }
@@ -253,7 +275,11 @@ class JavaScriptParserVisitor {
253
275
  return nodes.map(n => this.leftPadded(before(n), this.convert(n), markers === null || markers === void 0 ? void 0 : markers(n)));
254
276
  }
255
277
  visitClassDeclaration(node) {
256
- return new J.ClassDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), 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.Class), node.name ? this.convert(node.name) : this.mapIdentifier(node, ""), this.mapTypeParameters(node), null, this.mapExtends(node), this.mapImplements(node), null, this.convertBlock(node.getChildren().slice(-3)), this.mapType(node));
278
+ var _a;
279
+ if (((_a = node.modifiers) === null || _a === void 0 ? void 0 : _a.find(ts.isDecorator)) || node.typeParameters) {
280
+ return this.visitUnknown(node);
281
+ }
282
+ return new J.ClassDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.mapDecorators(node), 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.Class), node.name ? this.convert(node.name) : this.mapIdentifier(node, ""), this.mapTypeParameters(node), null, this.mapExtends(node), this.mapImplements(node), null, this.convertBlock(node.getChildren(this.sourceFile).slice(-3)), this.mapType(node));
257
283
  }
258
284
  mapExtends(node) {
259
285
  if (node.heritageClauses == undefined || node.heritageClauses.length == 0) {
@@ -290,6 +316,9 @@ class JavaScriptParserVisitor {
290
316
  visitNumberKeyword(node) {
291
317
  return this.mapIdentifier(node, 'number');
292
318
  }
319
+ visitBooleanKeyword(node) {
320
+ return this.mapIdentifier(node, 'boolean');
321
+ }
293
322
  visitStringKeyword(node) {
294
323
  return this.mapIdentifier(node, 'string');
295
324
  }
@@ -355,7 +384,7 @@ class JavaScriptParserVisitor {
355
384
  return this.visitUnknown(node);
356
385
  }
357
386
  visitParameter(node) {
358
- return this.visitUnknown(node);
387
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.type ? this.visit(node.type) : null, null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node.name), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildCount(this.sourceFile) - 2)), this.visit(node.initializer)) : null, this.mapVariableType(node)), this.suffix(node.name))]);
359
388
  }
360
389
  visitDecorator(node) {
361
390
  return this.visitUnknown(node);
@@ -364,7 +393,7 @@ class JavaScriptParserVisitor {
364
393
  return this.visitUnknown(node);
365
394
  }
366
395
  visitPropertyDeclaration(node) {
367
- return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.type ? this.visit(node.type) : null, null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildCount() - 2)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
396
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.type ? this.visit(node.type) : null, null, [], [this.rightPadded(new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildCount(this.sourceFile) - 2)), this.visit(node.initializer)) : null, this.mapVariableType(node)), java_1.Space.EMPTY)]);
368
397
  }
369
398
  visitMethodSignature(node) {
370
399
  return this.visitUnknown(node);
@@ -397,7 +426,10 @@ class JavaScriptParserVisitor {
397
426
  return this.visitUnknown(node);
398
427
  }
399
428
  visitTypeReference(node) {
400
- return this.visitUnknown(node);
429
+ if (node.typeArguments) {
430
+ return this.visitUnknown(node);
431
+ }
432
+ return this.visit(node.typeName);
401
433
  }
402
434
  visitFunctionType(node) {
403
435
  return this.visitUnknown(node);
@@ -474,19 +506,19 @@ class JavaScriptParserVisitor {
474
506
  return this.visitUnknown(node);
475
507
  }
476
508
  visitArrayLiteralExpression(node) {
477
- return new J.NewArray((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, [], this.mapArguments(node.getChildren()), this.mapType(node));
509
+ 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));
478
510
  }
479
511
  visitObjectLiteralExpression(node) {
480
- return new J.NewClass((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, java_1.Space.EMPTY, null, java_1.JContainer.empty(), this.convertPropertyAssignments(node.getChildren().slice(-3)), this.mapMethodType(node));
512
+ return new J.NewClass((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, null, java_1.Space.EMPTY, null, java_1.JContainer.empty(), this.convertPropertyAssignments(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
481
513
  }
482
514
  convertPropertyAssignments(nodes) {
483
515
  const prefix = this.prefix(nodes[0]);
484
516
  let statementList = nodes[1];
485
- const statements = this.rightPaddedSeparatedList([...statementList.getChildren()], ts.SyntaxKind.CommaToken, (nodes, i) => i == nodes.length - 2 && nodes[i + 1].kind == ts.SyntaxKind.CommaToken ? core_1.Markers.build([new java_1.TrailingComma((0, core_1.randomId)(), this.prefix(nodes[i + 1]))]) : core_1.Markers.EMPTY);
517
+ const statements = this.rightPaddedSeparatedList([...statementList.getChildren(this.sourceFile)], ts.SyntaxKind.CommaToken, (nodes, i) => i == nodes.length - 2 && nodes[i + 1].kind == ts.SyntaxKind.CommaToken ? core_1.Markers.build([new java_1.TrailingComma((0, core_1.randomId)(), this.prefix(nodes[i + 1]))]) : core_1.Markers.EMPTY);
486
518
  return new J.Block((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), statements, this.prefix(nodes[nodes.length - 1]));
487
519
  }
488
520
  visitPropertyAccessExpression(node) {
489
- return new J.FieldAccess((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.leftPadded(this.prefix(node.getChildAt(1)), this.convert(node.name)), this.mapType(node));
521
+ return new J.FieldAccess((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.leftPadded(this.prefix(node.getChildAt(1, this.sourceFile)), this.convert(node.name)), this.mapType(node));
490
522
  }
491
523
  visitElementAccessExpression(node) {
492
524
  return this.visitUnknown(node);
@@ -496,23 +528,23 @@ class JavaScriptParserVisitor {
496
528
  let select;
497
529
  let name;
498
530
  if (ts.isPropertyAccessExpression(node.expression)) {
499
- select = this.rightPadded(this.convert(node.expression.expression), this.prefix(node.expression.getChildAt(1)));
531
+ select = this.rightPadded(this.convert(node.expression.expression), this.prefix(node.expression.getChildAt(1, this.sourceFile)));
500
532
  name = this.convert(node.expression.name);
501
533
  }
502
534
  else {
503
535
  select = null;
504
536
  name = this.convert(node.expression);
505
537
  }
506
- return new J.MethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, null, name, this.mapArguments(node.getChildren().slice(-3)), this.mapMethodType(node));
538
+ return new J.MethodInvocation((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, select, null, name, this.mapCommaSeparatedList(node.getChildren(this.sourceFile).slice(-3)), this.mapMethodType(node));
507
539
  }
508
540
  visitNewExpression(node) {
509
- 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.mapArguments(node.arguments ? node.getChildren().slice(2) : []), null, this.mapMethodType(node));
541
+ 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));
510
542
  }
511
543
  visitTaggedTemplateExpression(node) {
512
544
  return this.visitUnknown(node);
513
545
  }
514
546
  visitTypeAssertionExpression(node) {
515
- 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.convert(node.expression));
547
+ 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));
516
548
  }
517
549
  visitParenthesizedExpression(node) {
518
550
  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())));
@@ -577,6 +609,9 @@ class JavaScriptParserVisitor {
577
609
  return new J.Unary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.leftPadded(this.prefix(node.getFirstToken()), unaryOperator), this.convert(node.operand), this.mapType(node));
578
610
  }
579
611
  visitBinaryExpression(node) {
612
+ if (node.operatorToken.kind == ts.SyntaxKind.EqualsToken) {
613
+ return new J.Assignment((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.left), this.leftPadded(this.suffix(node.left), this.convert(node.right)), this.mapType(node));
614
+ }
580
615
  let binaryOperator;
581
616
  switch (node.operatorToken.kind) {
582
617
  case ts.SyntaxKind.EqualsEqualsEqualsToken:
@@ -642,16 +677,16 @@ class JavaScriptParserVisitor {
642
677
  return undefined;
643
678
  }
644
679
  visitConditionalExpression(node) {
645
- return this.visitUnknown(node);
680
+ 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));
646
681
  }
647
682
  visitTemplateExpression(node) {
648
683
  return this.visitUnknown(node);
649
684
  }
650
685
  visitYieldExpression(node) {
651
- return this.visitUnknown(node);
686
+ 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));
652
687
  }
653
688
  visitSpreadElement(node) {
654
- return this.visitUnknown(node);
689
+ 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.expression), this.mapType(node));
655
690
  }
656
691
  visitClassExpression(node) {
657
692
  return this.visitUnknown(node);
@@ -666,7 +701,7 @@ class JavaScriptParserVisitor {
666
701
  return this.visit(node.expression);
667
702
  }
668
703
  visitAsExpression(node) {
669
- return new JS.JsBinary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.leftPadded(this.prefix(node.getChildAt(1)), JS.JsBinary.Type.As), this.convert(node.type), this.mapType(node));
704
+ return new JS.JsBinary((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.convert(node.expression), this.leftPadded(this.prefix(node.getChildAt(1, this.sourceFile)), JS.JsBinary.Type.As), this.convert(node.type), this.mapType(node));
670
705
  }
671
706
  visitNonNullExpression(node) {
672
707
  return this.visitUnknown(node);
@@ -687,10 +722,10 @@ class JavaScriptParserVisitor {
687
722
  return this.visitUnknown(node);
688
723
  }
689
724
  visitBlock(node) {
690
- return this.visitUnknown(node);
725
+ 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()));
691
726
  }
692
727
  visitEmptyStatement(node) {
693
- return this.visitUnknown(node);
728
+ return new J.Empty((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY);
694
729
  }
695
730
  visitVariableStatement(node) {
696
731
  if (node.declarationList.declarations.length > 1) {
@@ -704,7 +739,9 @@ class JavaScriptParserVisitor {
704
739
  return new JS.ExpressionStatement((0, core_1.randomId)(), this.visit(node.expression));
705
740
  }
706
741
  visitIfStatement(node) {
707
- return this.visitUnknown(node);
742
+ var _a;
743
+ const semicolonAfterThen = ((_a = node.thenStatement.getLastToken()) === null || _a === void 0 ? void 0 : _a.kind) == ts.SyntaxKind.SemicolonToken;
744
+ return new J.If((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.ControlParentheses((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.OpenParenToken)), core_1.Markers.EMPTY, this.rightPadded(this.visit(node.expression), this.suffix(node.expression))), this.rightPadded(this.convert(node.thenStatement), semicolonAfterThen ? this.prefix(node.thenStatement.getLastToken()) : java_1.Space.EMPTY, semicolonAfterThen ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY), node.elseStatement ? new J.If.Else((0, core_1.randomId)(), this.prefix(this.findChildNode(node, ts.SyntaxKind.ElseKeyword)), core_1.Markers.EMPTY, this.rightPadded(this.convert(node.elseStatement), semicolonAfterThen ? this.prefix(node.elseStatement.getLastToken()) : java_1.Space.EMPTY, semicolonAfterThen ? core_1.Markers.build([new java_1.Semicolon((0, core_1.randomId)())]) : core_1.Markers.EMPTY)) : null);
708
745
  }
709
746
  visitDoStatement(node) {
710
747
  return this.visitUnknown(node);
@@ -713,7 +750,13 @@ class JavaScriptParserVisitor {
713
750
  return this.visitUnknown(node);
714
751
  }
715
752
  visitForStatement(node) {
716
- return this.visitUnknown(node);
753
+ var _a;
754
+ return new J.ForLoop((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, new J.ForLoop.Control((0, core_1.randomId)(), this.prefix(node.getChildAt(1)), core_1.Markers.EMPTY, [node.initializer ?
755
+ (ts.isVariableDeclarationList(node.initializer) ? this.rightPadded(this.visit(node.initializer), java_1.Space.EMPTY) :
756
+ this.rightPadded(this.convert(node.initializer), this.suffix(node.initializer.getLastToken()))) :
757
+ this.rightPadded(new J.Empty((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY), java_1.Space.EMPTY)], node.condition ? this.rightPadded(this.convert(node.condition), this.suffix(node.condition.getLastToken())) :
758
+ this.rightPadded(new J.Empty((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY), java_1.Space.EMPTY), [node.incrementor ? this.rightPadded(this.convert(node.incrementor), this.suffix(node.incrementor.getLastToken())) :
759
+ this.rightPadded(new J.Empty((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY), 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));
717
760
  }
718
761
  visitForInStatement(node) {
719
762
  return this.visitUnknown(node);
@@ -728,7 +771,7 @@ class JavaScriptParserVisitor {
728
771
  return this.visitUnknown(node);
729
772
  }
730
773
  visitReturnStatement(node) {
731
- return this.visitUnknown(node);
774
+ return new J.Return((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, node.expression ? this.convert(node.expression) : null);
732
775
  }
733
776
  visitWithStatement(node) {
734
777
  return this.visitUnknown(node);
@@ -749,13 +792,26 @@ class JavaScriptParserVisitor {
749
792
  return this.visitUnknown(node);
750
793
  }
751
794
  visitVariableDeclaration(node) {
752
- return new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildCount() - 2)), this.visit(node.initializer)) : null, this.mapVariableType(node));
795
+ return new J.VariableDeclarations.NamedVariable((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, this.visit(node.name), [], node.initializer ? this.leftPadded(this.prefix(node.getChildAt(node.getChildCount(this.sourceFile) - 2)), this.visit(node.initializer)) : null, this.mapVariableType(node));
753
796
  }
754
797
  visitVariableDeclarationList(node) {
755
- return this.visitUnknown(node);
798
+ return new J.VariableDeclarations((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], this.mapModifiers(node), node.declarations[0].type ? this.visit(node.declarations[0].type) : null, null, [], this.rightPaddedList([...node.declarations], this.suffix));
756
799
  }
757
800
  visitFunctionDeclaration(node) {
758
- return this.visitUnknown(node);
801
+ var _a;
802
+ if (((_a = node.modifiers) === null || _a === void 0 ? void 0 : _a.find(ts.isDecorator)) || node.typeParameters) {
803
+ return this.visitUnknown(node);
804
+ }
805
+ return new J.MethodDeclaration((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, [], [new J.Modifier((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, node.getChildAt(1, this.sourceFile).kind == ts.SyntaxKind.AsteriskToken ? "function*" : "function", J.Modifier.Type.LanguageExtension, []), ...this.mapModifiers(node)], null, node.type ? this.visit(node.type) : null, 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));
806
+ }
807
+ getParameterListNodes(node) {
808
+ const children = node.getChildren(this.sourceFile);
809
+ for (let i = 0; i < children.length; i++) {
810
+ if (children[i].kind == ts.SyntaxKind.OpenParenToken) {
811
+ return children.slice(i, i + 3);
812
+ }
813
+ }
814
+ return [];
759
815
  }
760
816
  visitInterfaceDeclaration(node) {
761
817
  return this.visitUnknown(node);
@@ -786,7 +842,7 @@ class JavaScriptParserVisitor {
786
842
  }
787
843
  visitImportDeclaration(node) {
788
844
  var _a, _b, _c;
789
- const children = node.getChildren();
845
+ const children = node.getChildren(this.sourceFile);
790
846
  const _default = !!((_a = node.importClause) === null || _a === void 0 ? void 0 : _a.name);
791
847
  const onlyDefault = _default && node.importClause.namedBindings == undefined;
792
848
  return new JS.JsImport((0, core_1.randomId)(), this.prefix(node), core_1.Markers.EMPTY, _default ? this.rightPadded(this.visit((_b = node.importClause) === null || _b === void 0 ? void 0 : _b.name), this.suffix((_c = node.importClause) === null || _c === void 0 ? void 0 : _c.name)) : null, node.importClause && !onlyDefault ? this.visit(node.importClause) : null, children[children.indexOf(node.moduleSpecifier) - 1].kind == ts.SyntaxKind.FromKeyword ? this.prefix(children[children.indexOf(node.moduleSpecifier) - 1]) : null, this.convert(node.moduleSpecifier), null);
@@ -794,9 +850,9 @@ class JavaScriptParserVisitor {
794
850
  visitImportClause(node) {
795
851
  var _a;
796
852
  if (node.namedBindings && ts.isNamespaceImport(node.namedBindings)) {
797
- return new java_1.JContainer(this.prefix(node), [this.rightPadded(new JS.Alias((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.rightPadded(this.mapIdentifier(node.namedBindings, "*"), this.prefix(node.namedBindings.getChildAt(1))), this.convert(node.namedBindings.name)), java_1.Space.EMPTY)], core_1.Markers.EMPTY);
853
+ return new java_1.JContainer(this.prefix(node), [this.rightPadded(new JS.Alias((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY, this.rightPadded(this.mapIdentifier(node.namedBindings, "*"), this.prefix(node.namedBindings.getChildAt(1, this.sourceFile))), this.convert(node.namedBindings.name)), java_1.Space.EMPTY)], core_1.Markers.EMPTY);
798
854
  }
799
- return this.mapArguments((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.getChildren());
855
+ return this.mapCommaSeparatedList((_a = node.namedBindings) === null || _a === void 0 ? void 0 : _a.getChildren(this.sourceFile));
800
856
  }
801
857
  visitNamespaceImport(node) {
802
858
  return this.visitUnknown(node);
@@ -1044,24 +1100,23 @@ class JavaScriptParserVisitor {
1044
1100
  visitSyntheticReferenceExpression(node) {
1045
1101
  return this.visitUnknown(node);
1046
1102
  }
1047
- prefix(node) {
1103
+ prefix(node, consume = true) {
1048
1104
  if (node.getFullStart() == node.getStart()) {
1049
1105
  return java_1.Space.EMPTY;
1050
1106
  }
1051
- const nodeStart = node.getFullStart();
1052
- const span = [nodeStart, node.getStart()];
1053
- let idx = (0, parserUtils_1.binarySearch)(this._seenTriviaSpans, span, parserUtils_1.compareTextSpans);
1054
- if (idx >= 0)
1055
- return java_1.Space.EMPTY;
1056
- idx = ~idx;
1057
- if (idx > 0 && this._seenTriviaSpans[idx - 1][1] > span[0])
1058
- return java_1.Space.EMPTY;
1059
- this._seenTriviaSpans.splice(idx, 0, span);
1107
+ if (consume) {
1108
+ const nodeStart = node.getFullStart();
1109
+ const span = [nodeStart, node.getStart()];
1110
+ let idx = (0, parserUtils_1.binarySearch)(this._seenTriviaSpans, span, parserUtils_1.compareTextSpans);
1111
+ if (idx >= 0)
1112
+ return java_1.Space.EMPTY;
1113
+ idx = ~idx;
1114
+ if (idx > 0 && this._seenTriviaSpans[idx - 1][1] > span[0])
1115
+ return java_1.Space.EMPTY;
1116
+ this._seenTriviaSpans.splice(idx, 0, span);
1117
+ }
1060
1118
  return prefixFromNode(node, this.sourceFile);
1061
1119
  }
1062
- suffix(node) {
1063
- return this.prefix((0, parserUtils_1.getNextSibling)(node));
1064
- }
1065
1120
  mapType(node) {
1066
1121
  return this.typeMapping.type(node);
1067
1122
  }
@@ -1074,27 +1129,34 @@ class JavaScriptParserVisitor {
1074
1129
  mapMethodType(node) {
1075
1130
  return this.typeMapping.methodType(node);
1076
1131
  }
1077
- mapArguments(nodes) {
1132
+ mapCommaSeparatedList(nodes) {
1133
+ return this.mapToContainer(nodes, this.trailingComma(nodes));
1134
+ }
1135
+ mapToContainer(nodes, markers) {
1078
1136
  if (nodes.length === 0) {
1079
1137
  return java_1.JContainer.empty();
1080
1138
  }
1081
1139
  const prefix = this.prefix(nodes[0]);
1082
- let argList = nodes[1];
1083
- let childCount = argList.getChildCount();
1140
+ const args = this.mapToRightPaddedList(nodes[1], this.prefix(nodes[2]), markers);
1141
+ return new java_1.JContainer(prefix, args, core_1.Markers.EMPTY);
1142
+ }
1143
+ mapToRightPaddedList(node, lastAfter, markers) {
1144
+ let elementList = node.getChildren(this.sourceFile);
1145
+ let childCount = elementList.length;
1084
1146
  const args = [];
1085
1147
  if (childCount === 0) {
1086
- args.push(this.rightPadded(new J.Empty((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY), this.prefix(nodes[2]), core_1.Markers.EMPTY));
1148
+ args.push(this.rightPadded(new J.Empty((0, core_1.randomId)(), java_1.Space.EMPTY, core_1.Markers.EMPTY), lastAfter, core_1.Markers.EMPTY));
1087
1149
  }
1088
1150
  else {
1089
1151
  for (let i = 0; i < childCount - 1; i += 2) {
1090
1152
  const last = i === childCount - 2;
1091
- args.push(this.rightPadded(this.convert(argList.getChildAt(i)), this.prefix(argList.getChildAt(i + 1)), last ? core_1.Markers.build([new java_1.TrailingComma((0, core_1.randomId)(), this.prefix(nodes[2]))]) : core_1.Markers.EMPTY));
1153
+ args.push(this.rightPadded(this.visit(elementList[i]), this.prefix(elementList[i + 1]), markers ? markers(elementList, i) : core_1.Markers.EMPTY));
1092
1154
  }
1093
1155
  if ((childCount & 1) === 1) {
1094
- args.push(this.rightPadded(this.convert(argList.getChildAt(childCount - 1)), this.prefix(nodes[2])));
1156
+ args.push(this.rightPadded(this.visit(elementList[childCount - 1]), lastAfter));
1095
1157
  }
1096
1158
  }
1097
- return new java_1.JContainer(prefix, args, core_1.Markers.EMPTY);
1159
+ return args;
1098
1160
  }
1099
1161
  mapDecorators(node) {
1100
1162
  return [];
@@ -1105,9 +1167,17 @@ class JavaScriptParserVisitor {
1105
1167
  convertBlock(nodes) {
1106
1168
  const prefix = this.prefix(nodes[0]);
1107
1169
  let statementList = nodes[1];
1108
- const statements = this.rightPaddedSeparatedList([...statementList.getChildren()], ts.SyntaxKind.SemicolonToken, (nodes, i) => { var _a; return ((_a = nodes[i].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; });
1170
+ const statements = this.rightPaddedSeparatedList([...statementList.getChildren(this.sourceFile)], ts.SyntaxKind.SemicolonToken, (nodes, i) => { var _a; return ((_a = nodes[i].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; });
1109
1171
  return new J.Block((0, core_1.randomId)(), prefix, core_1.Markers.EMPTY, this.rightPadded(false, java_1.Space.EMPTY), statements, this.prefix(nodes[nodes.length - 1]));
1110
1172
  }
1173
+ findChildNode(node, kind) {
1174
+ for (let i = 0; i < node.getChildCount(this.sourceFile); i++) {
1175
+ if (node.getChildAt(i, this.sourceFile).kind == kind) {
1176
+ return node.getChildAt(i, this.sourceFile);
1177
+ }
1178
+ }
1179
+ return undefined;
1180
+ }
1111
1181
  }
1112
1182
  exports.JavaScriptParserVisitor = JavaScriptParserVisitor;
1113
1183
  function prefixFromNode(node, sourceFile) {