@openrewrite/rewrite 8.92.15 → 8.92.17

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.
Files changed (114) hide show
  1. package/dist/javascript/add-import.d.ts.map +1 -1
  2. package/dist/javascript/add-import.js +3 -2
  3. package/dist/javascript/add-import.js.map +1 -1
  4. package/dist/javascript/amd.d.ts.map +1 -1
  5. package/dist/javascript/amd.js +3 -2
  6. package/dist/javascript/amd.js.map +1 -1
  7. package/dist/javascript/binding.js +3 -3
  8. package/dist/javascript/binding.js.map +1 -1
  9. package/dist/javascript/comparator.d.ts.map +1 -1
  10. package/dist/javascript/comparator.js +4 -0
  11. package/dist/javascript/comparator.js.map +1 -1
  12. package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
  13. package/dist/javascript/format/tabs-and-indents-visitor.js +31 -4
  14. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  15. package/dist/javascript/index.d.ts +3 -0
  16. package/dist/javascript/index.d.ts.map +1 -1
  17. package/dist/javascript/index.js +3 -0
  18. package/dist/javascript/index.js.map +1 -1
  19. package/dist/javascript/markers.d.ts +12 -0
  20. package/dist/javascript/markers.d.ts.map +1 -1
  21. package/dist/javascript/markers.js +17 -2
  22. package/dist/javascript/markers.js.map +1 -1
  23. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.d.ts.map +1 -1
  24. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js +28 -32
  25. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js.map +1 -1
  26. package/dist/javascript/node-resolution-result.js +3 -2
  27. package/dist/javascript/node-resolution-result.js.map +1 -1
  28. package/dist/javascript/parser.d.ts +9 -0
  29. package/dist/javascript/parser.d.ts.map +1 -1
  30. package/dist/javascript/parser.js +185 -88
  31. package/dist/javascript/parser.js.map +1 -1
  32. package/dist/javascript/preconditions.d.ts +11 -0
  33. package/dist/javascript/preconditions.d.ts.map +1 -1
  34. package/dist/javascript/preconditions.js +14 -0
  35. package/dist/javascript/preconditions.js.map +1 -1
  36. package/dist/javascript/print.d.ts +10 -1
  37. package/dist/javascript/print.d.ts.map +1 -1
  38. package/dist/javascript/print.js +120 -77
  39. package/dist/javascript/print.js.map +1 -1
  40. package/dist/javascript/search/index.d.ts +1 -0
  41. package/dist/javascript/search/index.d.ts.map +1 -1
  42. package/dist/javascript/search/index.js +1 -0
  43. package/dist/javascript/search/index.js.map +1 -1
  44. package/dist/javascript/search/is-vendored-or-bundled.d.ts +13 -0
  45. package/dist/javascript/search/is-vendored-or-bundled.d.ts.map +1 -0
  46. package/dist/javascript/search/is-vendored-or-bundled.js +93 -0
  47. package/dist/javascript/search/is-vendored-or-bundled.js.map +1 -0
  48. package/dist/javascript/templating/engine.d.ts.map +1 -1
  49. package/dist/javascript/templating/engine.js +8 -3
  50. package/dist/javascript/templating/engine.js.map +1 -1
  51. package/dist/javascript/type-mapping.d.ts +1 -0
  52. package/dist/javascript/type-mapping.d.ts.map +1 -1
  53. package/dist/javascript/type-mapping.js +18 -3
  54. package/dist/javascript/type-mapping.js.map +1 -1
  55. package/dist/print.d.ts +6 -1
  56. package/dist/print.d.ts.map +1 -1
  57. package/dist/print.js +21 -7
  58. package/dist/print.js.map +1 -1
  59. package/dist/rewrite-javascript-version.txt +1 -1
  60. package/dist/rpc/java-rpc-client.d.ts +2 -0
  61. package/dist/rpc/java-rpc-client.d.ts.map +1 -1
  62. package/dist/rpc/java-rpc-client.js +1 -0
  63. package/dist/rpc/java-rpc-client.js.map +1 -1
  64. package/dist/rpc/queue.d.ts +8 -0
  65. package/dist/rpc/queue.d.ts.map +1 -1
  66. package/dist/rpc/queue.js +45 -3
  67. package/dist/rpc/queue.js.map +1 -1
  68. package/dist/rpc/request/get-object.d.ts +4 -0
  69. package/dist/rpc/request/get-object.d.ts.map +1 -1
  70. package/dist/rpc/request/get-object.js +23 -1
  71. package/dist/rpc/request/get-object.js.map +1 -1
  72. package/dist/rpc/request/parse.d.ts.map +1 -1
  73. package/dist/rpc/request/parse.js +3 -1
  74. package/dist/rpc/request/parse.js.map +1 -1
  75. package/dist/rpc/request/print.d.ts +8 -2
  76. package/dist/rpc/request/print.d.ts.map +1 -1
  77. package/dist/rpc/request/print.js +12 -9
  78. package/dist/rpc/request/print.js.map +1 -1
  79. package/dist/rpc/rewrite-rpc.d.ts +3 -2
  80. package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
  81. package/dist/rpc/rewrite-rpc.js +9 -3
  82. package/dist/rpc/rewrite-rpc.js.map +1 -1
  83. package/dist/rpc/server.d.ts.map +1 -1
  84. package/dist/rpc/server.js +19 -5
  85. package/dist/rpc/server.js.map +1 -1
  86. package/dist/test/java-rpc.d.ts.map +1 -1
  87. package/dist/test/java-rpc.js +3 -0
  88. package/dist/test/java-rpc.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/javascript/add-import.ts +3 -2
  91. package/src/javascript/amd.ts +3 -2
  92. package/src/javascript/binding.ts +3 -3
  93. package/src/javascript/comparator.ts +10 -0
  94. package/src/javascript/format/tabs-and-indents-visitor.ts +30 -3
  95. package/src/javascript/index.ts +3 -0
  96. package/src/javascript/markers.ts +34 -4
  97. package/src/javascript/migrate/es6/modernize-octal-escape-sequences.ts +28 -36
  98. package/src/javascript/node-resolution-result.ts +3 -2
  99. package/src/javascript/parser.ts +200 -91
  100. package/src/javascript/preconditions.ts +19 -1
  101. package/src/javascript/print.ts +123 -76
  102. package/src/javascript/search/index.ts +1 -0
  103. package/src/javascript/search/is-vendored-or-bundled.ts +59 -0
  104. package/src/javascript/templating/engine.ts +7 -2
  105. package/src/javascript/type-mapping.ts +19 -3
  106. package/src/print.ts +23 -8
  107. package/src/rpc/java-rpc-client.ts +3 -0
  108. package/src/rpc/queue.ts +37 -3
  109. package/src/rpc/request/get-object.ts +24 -0
  110. package/src/rpc/request/parse.ts +4 -1
  111. package/src/rpc/request/print.ts +12 -8
  112. package/src/rpc/rewrite-rpc.ts +16 -5
  113. package/src/rpc/server.ts +18 -6
  114. package/src/test/java-rpc.ts +3 -0
@@ -15,6 +15,17 @@ import { RecipeRef } from "../preconditions";
15
15
  * Delegates to {@code org.openrewrite.FindSourceFiles}.
16
16
  */
17
17
  export declare function hasSourcePath(filePattern: string): RecipeRef;
18
+ /**
19
+ * Match vendored, bundled and build-output JavaScript and TypeScript sources,
20
+ * typically negated with {@link not} so that a recipe leaves them alone.
21
+ *
22
+ * Returns a {@link RecipeRef} placeholder bundled with a native
23
+ * {@link IsVendoredOrBundled} visitor for in-process evaluation; see
24
+ * {@link hasSourcePath} for the introspection / lazy-evaluation pattern.
25
+ *
26
+ * Delegates to {@code org.openrewrite.javascript.search.FindVendoredOrBundled}.
27
+ */
28
+ export declare function isVendoredOrBundled(): RecipeRef;
18
29
  /**
19
30
  * Match files using a specific method.
20
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"preconditions.d.ts","sourceRoot":"","sources":["../../src/javascript/preconditions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAI3C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAM5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,CAM5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,SAAS,CAMvG;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,CAM7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAMnE"}
1
+ {"version":3,"file":"preconditions.d.ts","sourceRoot":"","sources":["../../src/javascript/preconditions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAI3C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAM5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAM/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,CAM5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,GAAE,OAAe,GAAG,SAAS,CAMvG;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,SAAS,CAM7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAMnE"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hasSourcePath = hasSourcePath;
4
+ exports.isVendoredOrBundled = isVendoredOrBundled;
4
5
  exports.usesMethod = usesMethod;
5
6
  exports.usesType = usesType;
6
7
  exports.findMethods = findMethods;
@@ -41,6 +42,19 @@ const search_2 = require("./search");
41
42
  function hasSourcePath(filePattern) {
42
43
  return new preconditions_1.RecipeRef("org.openrewrite.FindSourceFiles", { filePattern }, new search_1.IsSourceFile(filePattern));
43
44
  }
45
+ /**
46
+ * Match vendored, bundled and build-output JavaScript and TypeScript sources,
47
+ * typically negated with {@link not} so that a recipe leaves them alone.
48
+ *
49
+ * Returns a {@link RecipeRef} placeholder bundled with a native
50
+ * {@link IsVendoredOrBundled} visitor for in-process evaluation; see
51
+ * {@link hasSourcePath} for the introspection / lazy-evaluation pattern.
52
+ *
53
+ * Delegates to {@code org.openrewrite.javascript.search.FindVendoredOrBundled}.
54
+ */
55
+ function isVendoredOrBundled() {
56
+ return new preconditions_1.RecipeRef("org.openrewrite.javascript.search.FindVendoredOrBundled", {}, new search_2.IsVendoredOrBundled());
57
+ }
44
58
  /**
45
59
  * Match files using a specific method.
46
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"preconditions.js","sourceRoot":"","sources":["../../src/javascript/preconditions.ts"],"names":[],"mappings":";;AAkCA,sCAMC;AAeD,gCAMC;AAWD,4BAMC;AAWD,kCAMC;AAWD,8BAMC;AAhHD;;;;;;;;;;;;;;GAcG;AACH,oDAA2C;AAC3C,sCAAuC;AACvC,qCAA8C;AAE9C;;;;;;;;;;;;;;GAcG;AACH,SAAgB,aAAa,CAAC,WAAmB;IAC7C,OAAO,IAAI,yBAAS,CAChB,iCAAiC,EACjC,EAAC,WAAW,EAAC,EACb,IAAI,qBAAY,CAAC,WAAW,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,UAAU,CAAC,aAAqB,EAAE,iBAA0B,KAAK;IAC7E,OAAO,IAAI,yBAAS,CAChB,uCAAuC,EACvC,EAAC,aAAa,EAAE,cAAc,EAAC,EAC/B,IAAI,mBAAU,CAAC,aAAa,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,sBAA8B,EAAE,qBAA8B,KAAK;IACxF,OAAO,IAAI,yBAAS,CAChB,qCAAqC,EACrC,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,EAC5C,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CACvC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,aAAqB,EAAE,iBAA0B,KAAK;IAC9E,OAAO,IAAI,yBAAS,CAChB,yCAAyC,EACzC,EAAC,aAAa,EAAE,cAAc,EAAC,EAC/B,IAAI,mBAAU,CAAC,aAAa,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,sBAA8B;IACpD,OAAO,IAAI,yBAAS,CAChB,uCAAuC,EACvC,EAAC,sBAAsB,EAAC,EACxB,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CACvC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"preconditions.js","sourceRoot":"","sources":["../../src/javascript/preconditions.ts"],"names":[],"mappings":";;AAkCA,sCAMC;AAYD,kDAMC;AAeD,gCAMC;AAWD,4BAMC;AAWD,kCAMC;AAWD,8BAMC;AAlID;;;;;;;;;;;;;;GAcG;AACH,oDAA2C;AAC3C,sCAAuC;AACvC,qCAAmE;AAEnE;;;;;;;;;;;;;;GAcG;AACH,SAAgB,aAAa,CAAC,WAAmB;IAC7C,OAAO,IAAI,yBAAS,CAChB,iCAAiC,EACjC,EAAC,WAAW,EAAC,EACb,IAAI,qBAAY,CAAC,WAAW,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB;IAC/B,OAAO,IAAI,yBAAS,CAChB,yDAAyD,EACzD,EAAE,EACF,IAAI,4BAAmB,EAAE,CAC5B,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,UAAU,CAAC,aAAqB,EAAE,iBAA0B,KAAK;IAC7E,OAAO,IAAI,yBAAS,CAChB,uCAAuC,EACvC,EAAC,aAAa,EAAE,cAAc,EAAC,EAC/B,IAAI,mBAAU,CAAC,aAAa,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,sBAA8B,EAAE,qBAA8B,KAAK;IACxF,OAAO,IAAI,yBAAS,CAChB,qCAAqC,EACrC,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,EAC5C,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CACvC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,WAAW,CAAC,aAAqB,EAAE,iBAA0B,KAAK;IAC9E,OAAO,IAAI,yBAAS,CAChB,yCAAyC,EACzC,EAAC,aAAa,EAAE,cAAc,EAAC,EAC/B,IAAI,mBAAU,CAAC,aAAa,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,sBAA8B;IACpD,OAAO,IAAI,yBAAS,CAChB,uCAAuC,EACvC,EAAC,sBAAsB,EAAC,EACxB,IAAI,iBAAQ,CAAC,sBAAsB,CAAC,CACvC,CAAC;AACN,CAAC"}
@@ -50,6 +50,7 @@ export declare class JavaScriptPrinter extends JavaScriptVisitor<PrintOutputCapt
50
50
  visitModifier(mod: J.Modifier, p: PrintOutputCapture): Promise<J | undefined>;
51
51
  visitFunctionCall(functionCall: JS.FunctionCall, p: PrintOutputCapture): Promise<J | undefined>;
52
52
  visitFunctionType(functionType: JS.FunctionType, p: PrintOutputCapture): Promise<J | undefined>;
53
+ visitClassDeclarationKind(classKind: J.ClassDeclaration.Kind, p: PrintOutputCapture): Promise<J | undefined>;
53
54
  visitClassDeclaration(classDecl: J.ClassDeclaration, p: PrintOutputCapture): Promise<J | undefined>;
54
55
  visitMethodDeclaration(method: J.MethodDeclaration, p: PrintOutputCapture): Promise<J | undefined>;
55
56
  visitComputedPropertyMethodDeclaration(method: JS.ComputedPropertyMethodDeclaration, p: PrintOutputCapture): Promise<J | undefined>;
@@ -118,7 +119,15 @@ export declare class JavaScriptPrinter extends JavaScriptVisitor<PrintOutputCapt
118
119
  visitForInLoop(loop: JS.ForInLoop, p: PrintOutputCapture): Promise<J | undefined>;
119
120
  private visitStatements;
120
121
  private visitStatementLocal;
121
- private getParentCursor;
122
+ private parentTree;
123
+ visitArrayAccess(arrayAccess: J.ArrayAccess, p: PrintOutputCapture): Promise<J | undefined>;
124
+ visitTypeCast(typeCast: J.TypeCast, p: PrintOutputCapture): Promise<J | undefined>;
125
+ visitParenthesizedTypeTree(parTypeTree: J.ParenthesizedTypeTree, p: PrintOutputCapture): Promise<J | undefined>;
126
+ visitEmpty(empty: J.Empty, p: PrintOutputCapture): Promise<J | undefined>;
127
+ visitUnknown(unknown: J.Unknown, p: PrintOutputCapture): Promise<J | undefined>;
128
+ private printTypeParameters;
129
+ private markersOnly;
130
+ private beforeSyntaxMarkers;
122
131
  protected afterSyntax(j: J, p: PrintOutputCapture): Promise<void>;
123
132
  private afterSyntaxMarkers;
124
133
  protected beforeSyntax(j: J, p: PrintOutputCapture): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../src/javascript/print.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../src/javascript/print.ts"],"names":[],"mappings":"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"}
@@ -128,10 +128,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
128
128
  async visitJsxAttribute(attribute, p) {
129
129
  await this.beforeSyntax(attribute, p);
130
130
  await this.visit(attribute.key, p);
131
- if (attribute.value) {
132
- p.append("=");
133
- await this.visit(attribute.value.element, p);
134
- }
131
+ await this.visitLeftPaddedLocal("=", attribute.value, p);
135
132
  await this.afterSyntax(attribute, p);
136
133
  return attribute;
137
134
  }
@@ -264,6 +261,11 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
264
261
  if (aCatch.parameter.tree.element.variables.length > 0) {
265
262
  await this.visit(aCatch.parameter, p);
266
263
  }
264
+ else {
265
+ this.beforeSyntaxMarkers(aCatch.parameter.markers, p);
266
+ await this.markersOnly(aCatch.parameter.tree.element, p);
267
+ await this.afterSyntax(aCatch.parameter, p);
268
+ }
267
269
  await this.visit(aCatch.body, p);
268
270
  await this.afterSyntax(aCatch, p);
269
271
  return aCatch;
@@ -563,23 +565,15 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
563
565
  if (functionType.constructorType.element) {
564
566
  await this.visitLeftPaddedLocal("new", functionType.constructorType, p);
565
567
  }
566
- const typeParameters = functionType.typeParameters;
567
- if (typeParameters) {
568
- await this.visitNodes(typeParameters.annotations, p);
569
- await this.visitSpace(typeParameters.prefix, p);
570
- await this.visitMarkers(typeParameters.markers, p);
571
- p.append("<");
572
- await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
573
- p.append(">");
574
- }
568
+ await this.printTypeParameters(functionType.typeParameters, p);
575
569
  await this.visitContainerLocal("(", functionType.parameters, ",", ")", p);
576
570
  await this.visitLeftPaddedLocal("=>", functionType.returnType, p);
577
571
  await this.afterSyntax(functionType, p);
578
572
  return functionType;
579
573
  }
580
- async visitClassDeclaration(classDecl, p) {
574
+ async visitClassDeclarationKind(classKind, p) {
581
575
  let kind = "";
582
- switch (classDecl.classKind.type) {
576
+ switch (classKind.type) {
583
577
  case java_1.J.ClassDeclaration.Kind.Type.Class:
584
578
  kind = "class";
585
579
  break;
@@ -596,15 +590,20 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
596
590
  kind = "record";
597
591
  break;
598
592
  }
593
+ await this.visitNodes(classKind.annotations, p);
594
+ await this.beforeSyntax(classKind, p);
595
+ p.append(kind);
596
+ await this.afterSyntax(classKind, p);
597
+ return classKind;
598
+ }
599
+ async visitClassDeclaration(classDecl, p) {
599
600
  await this.beforeSyntax(classDecl, p);
600
601
  await this.visitSpace(java_1.emptySpace, p);
601
602
  await this.visitNodes(classDecl.leadingAnnotations, p);
602
603
  for (const m of classDecl.modifiers) {
603
604
  await this.visitModifier(m, p);
604
605
  }
605
- await this.visitNodes(classDecl.classKind.annotations, p);
606
- await this.visitSpace(classDecl.classKind.prefix, p);
607
- p.append(kind);
606
+ await this.visitClassDeclarationKind(classDecl.classKind, p);
608
607
  await this.visit(classDecl.name, p);
609
608
  classDecl.typeParameters && await this.visitContainerLocal("<", classDecl.typeParameters, ",", ">", p);
610
609
  classDecl.primaryConstructor && await this.visitContainerLocal("(", classDecl.primaryConstructor, ",", ")", p);
@@ -621,6 +620,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
621
620
  for (const m of method.modifiers) {
622
621
  await this.visitModifier(m, p);
623
622
  }
623
+ await this.visitNodes(method.nameAnnotations, p);
624
624
  let m;
625
625
  if ((m = (0, markers_1.findMarker)(method, tree_1.JS.Markers.FunctionDeclaration))) {
626
626
  await this.visitSpace(m.prefix, p);
@@ -632,15 +632,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
632
632
  p.append("*");
633
633
  }
634
634
  await this.visit(method.name, p);
635
- const typeParameters = method.typeParameters;
636
- if (typeParameters) {
637
- await this.visitNodes(typeParameters.annotations, p);
638
- await this.visitSpace(typeParameters.prefix, p);
639
- await this.visitMarkers(typeParameters.markers, p);
640
- p.append("<");
641
- await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
642
- p.append(">");
643
- }
635
+ await this.printTypeParameters(method.typeParameters, p);
644
636
  await this.visitContainerLocal("(", method.parameters, ",", ")", p);
645
637
  if (method.returnTypeExpression) {
646
638
  await this.visit(method.returnTypeExpression, p);
@@ -662,15 +654,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
662
654
  p.append("*");
663
655
  }
664
656
  await this.visit(method.name, p);
665
- const typeParameters = method.typeParameters;
666
- if (typeParameters) {
667
- await this.visitNodes(typeParameters.annotations, p);
668
- await this.visitSpace(typeParameters.prefix, p);
669
- await this.visitMarkers(typeParameters.markers, p);
670
- p.append("<");
671
- await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
672
- p.append(">");
673
- }
657
+ await this.printTypeParameters(method.typeParameters, p);
674
658
  await this.visitContainerLocal("(", method.parameters, ",", ")", p);
675
659
  if (method.returnTypeExpression) {
676
660
  await this.visit(method.returnTypeExpression, p);
@@ -716,11 +700,17 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
716
700
  p.append("extends");
717
701
  await this.visitRightPadded(constraintType, p);
718
702
  }
703
+ else {
704
+ await this.markersOnly(constraintType.element, p);
705
+ }
719
706
  const defaultType = bounds.elements[1];
720
707
  if (!(defaultType.element.kind === java_1.J.Kind.Empty)) {
721
708
  p.append("=");
722
709
  await this.visitRightPadded(defaultType, p);
723
710
  }
711
+ else {
712
+ await this.markersOnly(defaultType.element, p);
713
+ }
724
714
  }
725
715
  await this.afterSyntax(typeParameter, p);
726
716
  return typeParameter;
@@ -731,31 +721,27 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
731
721
  for (const m of arrowFunction.modifiers) {
732
722
  await this.visitModifier(m, p);
733
723
  }
734
- const typeParameters = arrowFunction.typeParameters;
735
- if (typeParameters) {
736
- await this.visitNodes(typeParameters.annotations, p);
737
- await this.visitSpace(typeParameters.prefix, p);
738
- await this.visitMarkers(typeParameters.markers, p);
739
- p.append("<");
740
- await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
741
- p.append(">");
742
- }
724
+ await this.printTypeParameters(arrowFunction.typeParameters, p);
743
725
  const lambda = arrowFunction.lambda;
726
+ this.beforeSyntaxMarkers(lambda.markers, p);
744
727
  if (lambda.parameters.parenthesized) {
745
- await this.visitSpace(lambda.parameters.prefix, p);
728
+ await this.beforeSyntax(lambda.parameters, p);
746
729
  p.append("(");
747
730
  await this.visitRightPaddedLocal(lambda.parameters.parameters, ",", p);
748
731
  p.append(")");
749
732
  }
750
733
  else {
734
+ this.beforeSyntaxMarkers(lambda.parameters.markers, p);
751
735
  await this.visitRightPaddedLocal(lambda.parameters.parameters, ",", p);
752
736
  }
737
+ await this.afterSyntax(lambda.parameters, p);
753
738
  if (arrowFunction.returnTypeExpression) {
754
739
  await this.visit(arrowFunction.returnTypeExpression, p);
755
740
  }
756
741
  await this.visitSpace(lambda.arrow, p);
757
742
  p.append("=>");
758
743
  await this.visit(lambda.body, p);
744
+ await this.afterSyntax(lambda, p);
759
745
  await this.afterSyntax(arrowFunction, p);
760
746
  return arrowFunction;
761
747
  }
@@ -792,15 +778,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
792
778
  await this.visitModifier(m, p);
793
779
  }
794
780
  await this.visitLeftPaddedLocal("type", typeDeclaration.name, p);
795
- const typeParameters = typeDeclaration.typeParameters;
796
- if (typeParameters) {
797
- await this.visitNodes(typeParameters.annotations, p);
798
- await this.visitSpace(typeParameters.prefix, p);
799
- await this.visitMarkers(typeParameters.markers, p);
800
- p.append("<");
801
- await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
802
- p.append(">");
803
- }
781
+ await this.printTypeParameters(typeDeclaration.typeParameters, p);
804
782
  await this.visitLeftPaddedLocal("=", typeDeclaration.initializer, p);
805
783
  await this.afterSyntax(typeDeclaration, p);
806
784
  return typeDeclaration;
@@ -833,11 +811,11 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
833
811
  return jis;
834
812
  }
835
813
  async visitExportDeclaration(ed, p) {
836
- await this.beforeSyntax(ed, p);
837
- p.append("export");
838
814
  for (const it of ed.modifiers) {
839
815
  await this.visitModifier(it, p);
840
816
  }
817
+ await this.beforeSyntax(ed, p);
818
+ p.append("export");
841
819
  if (ed.typeOnly.element) {
842
820
  await this.visitLeftPaddedLocal("type", ed.typeOnly, p);
843
821
  }
@@ -1274,15 +1252,21 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1274
1252
  }
1275
1253
  async visitEnumValue(enum_, p) {
1276
1254
  await this.beforeSyntax(enum_, p);
1255
+ const computed = (0, markers_1.findMarker)(enum_.name, tree_1.JS.Markers.Computed);
1256
+ computed && p.append("[");
1277
1257
  await this.visit(enum_.name, p);
1258
+ if (computed) {
1259
+ await this.visitSpace(computed.suffix, p);
1260
+ p.append("]");
1261
+ }
1278
1262
  const initializer = enum_.initializer;
1279
1263
  if (initializer) {
1280
- await this.visitSpace(initializer.prefix, p);
1264
+ await this.beforeSyntax(initializer, p);
1281
1265
  p.append("=");
1282
1266
  // There can be only one argument
1283
1267
  const expression = initializer.arguments.elements[0];
1284
1268
  await this.visitRightPadded(expression, p);
1285
- return enum_;
1269
+ await this.afterSyntax(initializer, p);
1286
1270
  }
1287
1271
  await this.afterSyntax(enum_, p);
1288
1272
  return enum_;
@@ -1449,13 +1433,14 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1449
1433
  await this.beforeSyntax(forLoop, p);
1450
1434
  p.append("for");
1451
1435
  const ctrl = forLoop.control;
1452
- await this.visitSpace(ctrl.prefix, p);
1436
+ await this.beforeSyntax(ctrl, p);
1453
1437
  p.append('(');
1454
1438
  await this.visitRightPaddedLocal(ctrl.init, ",", p);
1455
1439
  p.append(';');
1456
1440
  ctrl.condition && await this.visitRightPaddedLocalSingle(ctrl.condition, ";", p);
1457
1441
  await this.visitRightPaddedLocal(ctrl.update, ",", p);
1458
1442
  p.append(')');
1443
+ await this.afterSyntax(ctrl, p);
1459
1444
  await this.visitStatementLocal(forLoop.body, p);
1460
1445
  await this.afterSyntax(forLoop, p);
1461
1446
  return forLoop;
@@ -1467,14 +1452,17 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1467
1452
  await this.visitSpace(loop.await, p);
1468
1453
  p.append("await");
1469
1454
  }
1455
+ this.beforeSyntaxMarkers(loop.loop.markers, p);
1470
1456
  const control = loop.loop.control;
1471
- await this.visitSpace(control.prefix, p);
1457
+ await this.beforeSyntax(control, p);
1472
1458
  p.append('(');
1473
1459
  await this.visitRightPadded(control.variable, p);
1474
1460
  p.append("of");
1475
1461
  await this.visitRightPadded(control.iterable, p);
1476
1462
  p.append(')');
1463
+ await this.afterSyntax(control, p);
1477
1464
  await this.visitRightPadded(loop.loop.body, p);
1465
+ await this.afterSyntax(loop.loop, p);
1478
1466
  await this.afterSyntax(loop, p);
1479
1467
  return loop;
1480
1468
  }
@@ -1482,21 +1470,22 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1482
1470
  await this.beforeSyntax(loop, p);
1483
1471
  p.append("for");
1484
1472
  const control = loop.control;
1485
- await this.visitSpace(control.prefix, p);
1473
+ await this.beforeSyntax(control, p);
1486
1474
  p.append('(');
1487
1475
  await this.visitRightPadded(control.variable, p);
1488
1476
  p.append("in");
1489
1477
  await this.visitRightPadded(control.iterable, p);
1490
1478
  p.append(')');
1479
+ await this.afterSyntax(control, p);
1491
1480
  await this.visitRightPadded(loop.body, p);
1492
1481
  await this.afterSyntax(loop, p);
1493
1482
  return loop;
1494
1483
  }
1495
1484
  // ---- print utils
1496
1485
  async visitStatements(statements, p) {
1497
- var _a, _b;
1498
- const objectLiteral = ((_a = this.getParentCursor(0)) === null || _a === void 0 ? void 0 : _a.value.kind) === java_1.J.Kind.Block &&
1499
- ((_b = this.getParentCursor(1)) === null || _b === void 0 ? void 0 : _b.value.kind) === java_1.J.Kind.NewClass;
1486
+ var _a;
1487
+ const objectLiteral = this.cursor.value.kind === java_1.J.Kind.Block &&
1488
+ ((_a = this.parentTree()) === null || _a === void 0 ? void 0 : _a.kind) === java_1.J.Kind.NewClass;
1500
1489
  for (let i = 0; i < statements.length; i++) {
1501
1490
  const paddedStat = statements[i];
1502
1491
  await this.visitStatementLocal(paddedStat, p);
@@ -1512,12 +1501,66 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1512
1501
  await this.visitMarkers(paddedStat.markers, p);
1513
1502
  }
1514
1503
  }
1515
- getParentCursor(levels) {
1516
- let cursor = this.cursor;
1517
- for (let i = 0; i < levels && cursor; i++) {
1518
- cursor = cursor.parent;
1504
+ // A cursor handed in by a caller holds the padding between a tree and the tree enclosing it.
1505
+ parentTree() {
1506
+ var _a;
1507
+ return (_a = this.cursor.parentTree()) === null || _a === void 0 ? void 0 : _a.value;
1508
+ }
1509
+ async visitArrayAccess(arrayAccess, p) {
1510
+ await this.beforeSyntax(arrayAccess, p);
1511
+ await this.visit(arrayAccess.indexed, p);
1512
+ await this.visit(arrayAccess.dimension, p);
1513
+ await this.afterSyntax(arrayAccess, p);
1514
+ return arrayAccess;
1515
+ }
1516
+ async visitTypeCast(typeCast, p) {
1517
+ await this.beforeSyntax(typeCast, p);
1518
+ await this.visit(typeCast.class, p);
1519
+ await this.visit(typeCast.expression, p);
1520
+ await this.afterSyntax(typeCast, p);
1521
+ return typeCast;
1522
+ }
1523
+ async visitParenthesizedTypeTree(parTypeTree, p) {
1524
+ await this.beforeSyntax(parTypeTree, p);
1525
+ await this.visitNodes(parTypeTree.annotations, p);
1526
+ await this.visit(parTypeTree.parenthesizedType, p);
1527
+ await this.afterSyntax(parTypeTree, p);
1528
+ return parTypeTree;
1529
+ }
1530
+ async visitEmpty(empty, p) {
1531
+ await this.beforeSyntax(empty, p);
1532
+ await this.afterSyntax(empty, p);
1533
+ return empty;
1534
+ }
1535
+ async visitUnknown(unknown, p) {
1536
+ await this.beforeSyntax(unknown, p);
1537
+ await this.visit(unknown.source, p);
1538
+ await this.afterSyntax(unknown, p);
1539
+ return unknown;
1540
+ }
1541
+ async printTypeParameters(typeParameters, p) {
1542
+ if (typeParameters) {
1543
+ await this.visitNodes(typeParameters.annotations, p);
1544
+ await this.beforeSyntaxExt(typeParameters.prefix, typeParameters.markers, p);
1545
+ p.append("<");
1546
+ await this.visitRightPaddedLocal(typeParameters.typeParameters, ",", p);
1547
+ p.append(">");
1548
+ await this.afterSyntaxMarkers(typeParameters.markers, p);
1549
+ }
1550
+ }
1551
+ // A tree that stands for something left out of the source is still printed where a recipe marked it.
1552
+ async markersOnly(j, p) {
1553
+ this.beforeSyntaxMarkers(j.markers, p);
1554
+ await this.afterSyntax(j, p);
1555
+ }
1556
+ // For a tree printed as part of another, whose prefix is not printed.
1557
+ beforeSyntaxMarkers(markers, p) {
1558
+ for (const marker of markers.markers) {
1559
+ p.append(p.markerPrinter.beforePrefix(marker, new tree_2.Cursor(marker, this.cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1560
+ }
1561
+ for (const marker of markers.markers) {
1562
+ p.append(p.markerPrinter.beforeSyntax(marker, new tree_2.Cursor(marker, this.cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1519
1563
  }
1520
- return cursor;
1521
1564
  }
1522
1565
  async afterSyntax(j, p) {
1523
1566
  await this.afterSyntaxMarkers(j.markers, p);
@@ -1627,7 +1670,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1627
1670
  return tree;
1628
1671
  }
1629
1672
  async postVisit(tree, p) {
1630
- var _a, _b, _c, _d, _e, _f;
1673
+ var _a;
1631
1674
  for (const marker of tree.markers.markers) {
1632
1675
  if (marker.kind === tree_1.JS.Markers.NonNullAssertion) {
1633
1676
  await this.visitSpace(marker.prefix, p);
@@ -1635,10 +1678,10 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1635
1678
  }
1636
1679
  if (marker.kind === tree_1.JS.Markers.Optional) {
1637
1680
  await this.visitSpace(marker.prefix, p);
1638
- if (((_b = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.kind) !== java_1.J.Kind.MethodInvocation &&
1639
- ((_d = (_c = this.cursor.parent) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.kind) !== tree_1.JS.Kind.FunctionCall) {
1681
+ const parent = (_a = this.parentTree()) === null || _a === void 0 ? void 0 : _a.kind;
1682
+ if (parent !== java_1.J.Kind.MethodInvocation && parent !== tree_1.JS.Kind.FunctionCall) {
1640
1683
  p.append("?");
1641
- if (((_f = (_e = this.cursor.parent) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.kind) === java_1.J.Kind.ArrayAccess) {
1684
+ if (parent === java_1.J.Kind.ArrayAccess) {
1642
1685
  p.append(".");
1643
1686
  }
1644
1687
  }
@@ -1648,14 +1691,14 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1648
1691
  }
1649
1692
  printComment(comment, cursor, p) {
1650
1693
  for (const marker of comment.markers.markers) {
1651
- p.append(p.markerPrinter.beforeSyntax(marker, new tree_2.Cursor(this, cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1694
+ p.append(p.markerPrinter.beforeSyntax(marker, new tree_2.Cursor(comment, cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1652
1695
  }
1653
1696
  if (comment.kind === java_1.J.Kind.TextComment) {
1654
1697
  const textComment = comment;
1655
1698
  p.append(textComment.multiline ? `/*${textComment.text}*/` : `//${textComment.text}`);
1656
1699
  }
1657
1700
  for (const marker of comment.markers.markers) {
1658
- p.append(p.markerPrinter.afterSyntax(marker, new tree_2.Cursor(this, cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1701
+ p.append(p.markerPrinter.afterSyntax(marker, new tree_2.Cursor(comment, cursor), this.JAVA_SCRIPT_MARKER_WRAPPER));
1659
1702
  }
1660
1703
  }
1661
1704
  async visitNodes(nodes, p) {
@@ -1668,7 +1711,7 @@ class JavaScriptPrinter extends visitor_1.JavaScriptVisitor {
1668
1711
  async visitControlParentheses(controlParens, p) {
1669
1712
  var _a;
1670
1713
  await this.beforeSyntax(controlParens, p);
1671
- if (((_a = this.getParentCursor(1)) === null || _a === void 0 ? void 0 : _a.value.kind) === java_1.J.Kind.TypeCast) {
1714
+ if (((_a = this.parentTree()) === null || _a === void 0 ? void 0 : _a.kind) === java_1.J.Kind.TypeCast) {
1672
1715
  p.append('<');
1673
1716
  await this.visitRightPaddedLocalSingle(controlParens.tree, ">", p);
1674
1717
  }