@openrewrite/rewrite 8.92.16 → 8.92.18

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 (254) hide show
  1. package/README.md +48 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/java/formatting-utils.d.ts +2 -1
  6. package/dist/java/formatting-utils.d.ts.map +1 -1
  7. package/dist/java/formatting-utils.js +4 -3
  8. package/dist/java/formatting-utils.js.map +1 -1
  9. package/dist/java/rpc.d.ts.map +1 -1
  10. package/dist/java/rpc.js +2 -0
  11. package/dist/java/rpc.js.map +1 -1
  12. package/dist/java/tree.d.ts +8 -0
  13. package/dist/java/tree.d.ts.map +1 -1
  14. package/dist/java/tree.js +11 -1
  15. package/dist/java/tree.js.map +1 -1
  16. package/dist/java/type.d.ts +7 -1
  17. package/dist/java/type.d.ts.map +1 -1
  18. package/dist/java/type.js +16 -1
  19. package/dist/java/type.js.map +1 -1
  20. package/dist/javascript/add-import.d.ts +27 -21
  21. package/dist/javascript/add-import.d.ts.map +1 -1
  22. package/dist/javascript/add-import.js +303 -143
  23. package/dist/javascript/add-import.js.map +1 -1
  24. package/dist/javascript/amd.d.ts.map +1 -1
  25. package/dist/javascript/amd.js +25 -10
  26. package/dist/javascript/amd.js.map +1 -1
  27. package/dist/javascript/autodetect.js +36 -45
  28. package/dist/javascript/autodetect.js.map +1 -1
  29. package/dist/javascript/binding.d.ts +6 -4
  30. package/dist/javascript/binding.d.ts.map +1 -1
  31. package/dist/javascript/binding.js +54 -18
  32. package/dist/javascript/binding.js.map +1 -1
  33. package/dist/javascript/comparator.d.ts +22 -5
  34. package/dist/javascript/comparator.d.ts.map +1 -1
  35. package/dist/javascript/comparator.js +120 -38
  36. package/dist/javascript/comparator.js.map +1 -1
  37. package/dist/javascript/format/format.d.ts +2 -0
  38. package/dist/javascript/format/format.d.ts.map +1 -1
  39. package/dist/javascript/format/format.js +11 -1
  40. package/dist/javascript/format/format.js.map +1 -1
  41. package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
  42. package/dist/javascript/format/tabs-and-indents-visitor.js +31 -4
  43. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  44. package/dist/javascript/index.d.ts +4 -2
  45. package/dist/javascript/index.d.ts.map +1 -1
  46. package/dist/javascript/index.js +10 -1
  47. package/dist/javascript/index.js.map +1 -1
  48. package/dist/javascript/markers.d.ts +12 -0
  49. package/dist/javascript/markers.d.ts.map +1 -1
  50. package/dist/javascript/markers.js +81 -2
  51. package/dist/javascript/markers.js.map +1 -1
  52. package/dist/javascript/method-matcher.d.ts +13 -2
  53. package/dist/javascript/method-matcher.d.ts.map +1 -1
  54. package/dist/javascript/method-matcher.js +32 -19
  55. package/dist/javascript/method-matcher.js.map +1 -1
  56. package/dist/javascript/node-resolution-result.js +3 -2
  57. package/dist/javascript/node-resolution-result.js.map +1 -1
  58. package/dist/javascript/package-name.d.ts +6 -0
  59. package/dist/javascript/package-name.d.ts.map +1 -0
  60. package/dist/javascript/package-name.js +47 -0
  61. package/dist/javascript/package-name.js.map +1 -0
  62. package/dist/javascript/parser.d.ts +9 -0
  63. package/dist/javascript/parser.d.ts.map +1 -1
  64. package/dist/javascript/parser.js +185 -88
  65. package/dist/javascript/parser.js.map +1 -1
  66. package/dist/javascript/preconditions.d.ts +4 -1
  67. package/dist/javascript/preconditions.d.ts.map +1 -1
  68. package/dist/javascript/preconditions.js +7 -4
  69. package/dist/javascript/preconditions.js.map +1 -1
  70. package/dist/javascript/print.d.ts +10 -1
  71. package/dist/javascript/print.d.ts.map +1 -1
  72. package/dist/javascript/print.js +120 -77
  73. package/dist/javascript/print.js.map +1 -1
  74. package/dist/javascript/recipes/change-method-target-to-import.d.ts +29 -0
  75. package/dist/javascript/recipes/change-method-target-to-import.d.ts.map +1 -0
  76. package/dist/javascript/recipes/change-method-target-to-import.js +164 -0
  77. package/dist/javascript/recipes/change-method-target-to-import.js.map +1 -0
  78. package/dist/javascript/recipes/index.d.ts +1 -0
  79. package/dist/javascript/recipes/index.d.ts.map +1 -1
  80. package/dist/javascript/recipes/index.js +1 -0
  81. package/dist/javascript/recipes/index.js.map +1 -1
  82. package/dist/javascript/scope.d.ts +60 -16
  83. package/dist/javascript/scope.d.ts.map +1 -1
  84. package/dist/javascript/scope.js +596 -131
  85. package/dist/javascript/scope.js.map +1 -1
  86. package/dist/javascript/search/uses-method.d.ts +1 -1
  87. package/dist/javascript/search/uses-method.d.ts.map +1 -1
  88. package/dist/javascript/search/uses-method.js +2 -2
  89. package/dist/javascript/search/uses-method.js.map +1 -1
  90. package/dist/javascript/search/uses-type.d.ts +14 -1
  91. package/dist/javascript/search/uses-type.d.ts.map +1 -1
  92. package/dist/javascript/search/uses-type.js +24 -9
  93. package/dist/javascript/search/uses-type.js.map +1 -1
  94. package/dist/javascript/templating/bindings.d.ts +1 -1
  95. package/dist/javascript/templating/bindings.d.ts.map +1 -1
  96. package/dist/javascript/templating/bindings.js +10 -50
  97. package/dist/javascript/templating/bindings.js.map +1 -1
  98. package/dist/javascript/templating/comparator.d.ts +8 -11
  99. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  100. package/dist/javascript/templating/comparator.js +12 -110
  101. package/dist/javascript/templating/comparator.js.map +1 -1
  102. package/dist/javascript/templating/engine.d.ts +34 -24
  103. package/dist/javascript/templating/engine.d.ts.map +1 -1
  104. package/dist/javascript/templating/engine.js +208 -115
  105. package/dist/javascript/templating/engine.js.map +1 -1
  106. package/dist/javascript/templating/pattern.d.ts +11 -5
  107. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  108. package/dist/javascript/templating/pattern.js +86 -20
  109. package/dist/javascript/templating/pattern.js.map +1 -1
  110. package/dist/javascript/templating/placeholder-replacement.d.ts +34 -3
  111. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  112. package/dist/javascript/templating/placeholder-replacement.js +126 -60
  113. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  114. package/dist/javascript/templating/precedence.d.ts +3 -1
  115. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  116. package/dist/javascript/templating/precedence.js +28 -8
  117. package/dist/javascript/templating/precedence.js.map +1 -1
  118. package/dist/javascript/templating/template.d.ts +7 -6
  119. package/dist/javascript/templating/template.d.ts.map +1 -1
  120. package/dist/javascript/templating/template.js +31 -28
  121. package/dist/javascript/templating/template.js.map +1 -1
  122. package/dist/javascript/templating/types.d.ts +6 -3
  123. package/dist/javascript/templating/types.d.ts.map +1 -1
  124. package/dist/javascript/templating/utils.d.ts +10 -1
  125. package/dist/javascript/templating/utils.d.ts.map +1 -1
  126. package/dist/javascript/templating/utils.js +22 -3
  127. package/dist/javascript/templating/utils.js.map +1 -1
  128. package/dist/javascript/tree-debug.d.ts +2 -0
  129. package/dist/javascript/tree-debug.d.ts.map +1 -1
  130. package/dist/javascript/tree-debug.js +6 -0
  131. package/dist/javascript/tree-debug.js.map +1 -1
  132. package/dist/javascript/tsconfig.d.ts.map +1 -1
  133. package/dist/javascript/tsconfig.js +7 -17
  134. package/dist/javascript/tsconfig.js.map +1 -1
  135. package/dist/javascript/type-mapping.d.ts +35 -16
  136. package/dist/javascript/type-mapping.d.ts.map +1 -1
  137. package/dist/javascript/type-mapping.js +271 -252
  138. package/dist/javascript/type-mapping.js.map +1 -1
  139. package/dist/javascript/type-report-cli.d.ts +7 -0
  140. package/dist/javascript/type-report-cli.d.ts.map +1 -0
  141. package/dist/javascript/type-report-cli.js +129 -0
  142. package/dist/javascript/type-report-cli.js.map +1 -0
  143. package/dist/javascript/type-report.d.ts +61 -0
  144. package/dist/javascript/type-report.d.ts.map +1 -0
  145. package/dist/javascript/type-report.js +488 -0
  146. package/dist/javascript/type-report.js.map +1 -0
  147. package/dist/markers.d.ts +4 -0
  148. package/dist/markers.d.ts.map +1 -1
  149. package/dist/markers.js +8 -0
  150. package/dist/markers.js.map +1 -1
  151. package/dist/print.d.ts +6 -1
  152. package/dist/print.d.ts.map +1 -1
  153. package/dist/print.js +21 -7
  154. package/dist/print.js.map +1 -1
  155. package/dist/recipe.d.ts +5 -0
  156. package/dist/recipe.d.ts.map +1 -1
  157. package/dist/recipe.js +5 -0
  158. package/dist/recipe.js.map +1 -1
  159. package/dist/rewrite-javascript-version.txt +1 -1
  160. package/dist/rpc/java-rpc-client.d.ts +2 -0
  161. package/dist/rpc/java-rpc-client.d.ts.map +1 -1
  162. package/dist/rpc/java-rpc-client.js +1 -0
  163. package/dist/rpc/java-rpc-client.js.map +1 -1
  164. package/dist/rpc/queue.d.ts +24 -0
  165. package/dist/rpc/queue.d.ts.map +1 -1
  166. package/dist/rpc/queue.js +71 -11
  167. package/dist/rpc/queue.js.map +1 -1
  168. package/dist/rpc/request/get-object.d.ts +4 -0
  169. package/dist/rpc/request/get-object.d.ts.map +1 -1
  170. package/dist/rpc/request/get-object.js +23 -1
  171. package/dist/rpc/request/get-object.js.map +1 -1
  172. package/dist/rpc/request/parse.d.ts.map +1 -1
  173. package/dist/rpc/request/parse.js +3 -1
  174. package/dist/rpc/request/parse.js.map +1 -1
  175. package/dist/rpc/request/prepare-recipe.d.ts +3 -1
  176. package/dist/rpc/request/prepare-recipe.d.ts.map +1 -1
  177. package/dist/rpc/request/prepare-recipe.js +13 -6
  178. package/dist/rpc/request/prepare-recipe.js.map +1 -1
  179. package/dist/rpc/request/print.d.ts +8 -2
  180. package/dist/rpc/request/print.d.ts.map +1 -1
  181. package/dist/rpc/request/print.js +12 -9
  182. package/dist/rpc/request/print.js.map +1 -1
  183. package/dist/rpc/rewrite-rpc.d.ts +3 -2
  184. package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
  185. package/dist/rpc/rewrite-rpc.js +9 -3
  186. package/dist/rpc/rewrite-rpc.js.map +1 -1
  187. package/dist/rpc/server.d.ts.map +1 -1
  188. package/dist/rpc/server.js +19 -5
  189. package/dist/rpc/server.js.map +1 -1
  190. package/dist/search/is-source-file.d.ts +1 -0
  191. package/dist/search/is-source-file.d.ts.map +1 -1
  192. package/dist/search/is-source-file.js +7 -2
  193. package/dist/search/is-source-file.js.map +1 -1
  194. package/dist/test/java-rpc.d.ts.map +1 -1
  195. package/dist/test/java-rpc.js +3 -0
  196. package/dist/test/java-rpc.js.map +1 -1
  197. package/dist/test/rewrite-test.d.ts +5 -0
  198. package/dist/test/rewrite-test.d.ts.map +1 -1
  199. package/dist/test/rewrite-test.js +14 -3
  200. package/dist/test/rewrite-test.js.map +1 -1
  201. package/package.json +4 -3
  202. package/src/index.ts +3 -1
  203. package/src/java/formatting-utils.ts +5 -4
  204. package/src/java/rpc.ts +2 -0
  205. package/src/java/tree.ts +15 -0
  206. package/src/java/type.ts +19 -2
  207. package/src/javascript/add-import.ts +338 -152
  208. package/src/javascript/amd.ts +28 -12
  209. package/src/javascript/autodetect.ts +32 -41
  210. package/src/javascript/binding.ts +64 -22
  211. package/src/javascript/comparator.ts +129 -43
  212. package/src/javascript/format/format.ts +9 -0
  213. package/src/javascript/format/tabs-and-indents-visitor.ts +30 -3
  214. package/src/javascript/index.ts +6 -3
  215. package/src/javascript/markers.ts +77 -5
  216. package/src/javascript/method-matcher.ts +34 -22
  217. package/src/javascript/node-resolution-result.ts +3 -2
  218. package/src/javascript/package-name.ts +45 -0
  219. package/src/javascript/parser.ts +200 -91
  220. package/src/javascript/preconditions.ts +7 -4
  221. package/src/javascript/print.ts +123 -76
  222. package/src/javascript/recipes/change-method-target-to-import.ts +178 -0
  223. package/src/javascript/recipes/index.ts +1 -0
  224. package/src/javascript/scope.ts +705 -169
  225. package/src/javascript/search/uses-method.ts +2 -2
  226. package/src/javascript/search/uses-type.ts +30 -9
  227. package/src/javascript/templating/bindings.ts +13 -38
  228. package/src/javascript/templating/comparator.ts +16 -127
  229. package/src/javascript/templating/engine.ts +236 -129
  230. package/src/javascript/templating/pattern.ts +107 -28
  231. package/src/javascript/templating/placeholder-replacement.ts +154 -62
  232. package/src/javascript/templating/precedence.ts +33 -11
  233. package/src/javascript/templating/template.ts +35 -30
  234. package/src/javascript/templating/types.ts +6 -3
  235. package/src/javascript/templating/utils.ts +24 -2
  236. package/src/javascript/tree-debug.ts +9 -0
  237. package/src/javascript/tsconfig.ts +7 -17
  238. package/src/javascript/type-mapping.ts +277 -255
  239. package/src/javascript/type-report-cli.ts +96 -0
  240. package/src/javascript/type-report.ts +575 -0
  241. package/src/markers.ts +8 -0
  242. package/src/print.ts +23 -8
  243. package/src/recipe.ts +6 -0
  244. package/src/rpc/java-rpc-client.ts +3 -0
  245. package/src/rpc/queue.ts +80 -7
  246. package/src/rpc/request/get-object.ts +24 -0
  247. package/src/rpc/request/parse.ts +4 -1
  248. package/src/rpc/request/prepare-recipe.ts +16 -6
  249. package/src/rpc/request/print.ts +12 -8
  250. package/src/rpc/rewrite-rpc.ts +16 -5
  251. package/src/rpc/server.ts +18 -6
  252. package/src/search/is-source-file.ts +8 -3
  253. package/src/test/java-rpc.ts +3 -0
  254. package/src/test/rewrite-test.ts +14 -3
@@ -35,6 +35,7 @@ const util_1 = require("../util");
35
35
  const parse_error_1 = require("../parse-error");
36
36
  const markers_1 = require("../markers");
37
37
  const javascript_1 = require("../javascript");
38
+ const type_report_1 = require("../javascript/type-report");
38
39
  class RecipeSpec {
39
40
  constructor() {
40
41
  var _a;
@@ -90,6 +91,11 @@ class RecipeSpec {
90
91
  static forgetSuiteSpecs() {
91
92
  RecipeSpec.live && (RecipeSpec.live = []);
92
93
  }
94
+ /**
95
+ * Setting `REWRITE_JAVASCRIPT_DUMP_TYPES` prints each parsed file's type attribution, and a
96
+ * recipe that produces no change names the nodes that carry none. See the README section
97
+ * "Inspecting type attribution".
98
+ */
93
99
  async rewriteRun(...sourceSpecs) {
94
100
  var _a, e_1, _b, _c;
95
101
  // Flatten generators into a list of sourceSpecs
@@ -138,6 +144,9 @@ class RecipeSpec {
138
144
  const specs = specsByKind[kind];
139
145
  const parsed = await this.parse(specs);
140
146
  await this.expectNoParseFailures(parsed);
147
+ for (const [_, sourceFile] of parsed) {
148
+ await (0, type_report_1.dumpTypesIfRequested)(sourceFile);
149
+ }
141
150
  await this.expectWhitespaceNotToContainNonwhitespaceCharacters(parsed);
142
151
  this.checkParsePrintIdempotence && await this.expectParsePrintIdempotence(parsed);
143
152
  allParsed.push(...parsed);
@@ -219,7 +228,7 @@ class RecipeSpec {
219
228
  }
220
229
  }
221
230
  else {
222
- await this.expectAfter(spec, after);
231
+ await this.expectAfter(spec, after, matchingSpec === null || matchingSpec === void 0 ? void 0 : matchingSpec[1]);
223
232
  }
224
233
  }
225
234
  }
@@ -235,7 +244,7 @@ class RecipeSpec {
235
244
  await this.expectAfter(spec, after === null || after === void 0 ? void 0 : after.after);
236
245
  }
237
246
  }
238
- async expectAfter(spec, after) {
247
+ async expectAfter(spec, after, before) {
239
248
  if (!after) {
240
249
  throw new Error('Expected for recipe to have produced a change for file:\n' + (0, util_1.trimIndent)(spec.before));
241
250
  }
@@ -244,8 +253,10 @@ class RecipeSpec {
244
253
  const afterSource = typeof spec.after === "function" ?
245
254
  spec.after(actualAfter) : spec.after;
246
255
  if (actualAfter !== afterSource) {
256
+ // A tree the recipe returned unchanged usually means it never fired.
257
+ const hint = after === before ? await (0, type_report_1.attributionHint)(after) : "";
247
258
  throw new Error(`Recipe output does not match expected.\n` +
248
- `Expected:\n${afterSource}\n\nActual:\n${actualAfter}`);
259
+ `Expected:\n${afterSource}\n\nActual:\n${actualAfter}${hint}`);
249
260
  }
250
261
  if (spec.afterRecipe) {
251
262
  await spec.afterRecipe(after);
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite-test.js","sourceRoot":"","sources":["../../src/test/rewrite-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewrite-test.js","sourceRoot":"","sources":["../../src/test/rewrite-test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.92.16",
3
+ "version": "8.92.18",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "repository": {
@@ -60,7 +60,7 @@
60
60
  "scripts": {
61
61
  "prebuild": "bun -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && bun -e \"require('fs').rmSync('tsconfig.build.tsbuildinfo',{force:true})\"",
62
62
  "build": "tsc --build tsconfig.build.json",
63
- "postbuild": "bun -e \"require('fs').chmodSync('dist/rpc/server.js', 0o755)\" && npm link",
63
+ "postbuild": "bun -e \"require('fs').chmodSync('dist/rpc/server.js', 0o755); require('fs').chmodSync('dist/javascript/type-report-cli.js', 0o755)\" && npm link",
64
64
  "typecheck": "tsc --noEmit -p tsconfig.test.json",
65
65
  "dev": "tsc --watch -p tsconfig.json",
66
66
  "test": "npm run typecheck && npm run build && vitest run",
@@ -103,6 +103,7 @@
103
103
  "lodash": "^4.18.1"
104
104
  },
105
105
  "bin": {
106
- "rewrite-rpc": "./dist/rpc/server.js"
106
+ "rewrite-rpc": "./dist/rpc/server.js",
107
+ "rewrite-javascript-types": "./dist/javascript/type-report-cli.js"
107
108
  }
108
109
  }
package/src/index.ts CHANGED
@@ -40,12 +40,14 @@ export async function activate(marketplace: RecipeMarketplace): Promise<void> {
40
40
  AsyncCallbackInSyncArrayMethod,
41
41
  AutoFormat,
42
42
  OrderImports,
43
- ChangeImport
43
+ ChangeImport,
44
+ ChangeMethodTargetToImport
44
45
  } = await import("./javascript/recipes/index.js");
45
46
  await marketplace.install(AsyncCallbackInSyncArrayMethod, JavaScript);
46
47
  await marketplace.install(AutoFormat, JavaScript);
47
48
  await marketplace.install(OrderImports, JavaScript);
48
49
  await marketplace.install(ChangeImport, JavaScript);
50
+ await marketplace.install(ChangeMethodTargetToImport, JavaScript);
49
51
 
50
52
  const {FindDependency, Search} = await import("./javascript/search/index.js");
51
53
  await marketplace.install(FindDependency, Search);
@@ -64,17 +64,18 @@ export function replaceIndentAfterLastNewline(ws: string, newIndent: string): st
64
64
  return ws.substring(0, lastNewline + 1) + newIndent;
65
65
  }
66
66
 
67
+ const isTextComment = (comment: Comment): comment is TextComment => comment.kind === J.Kind.TextComment;
68
+
67
69
  /**
68
- * Checks if a Space contains any newlines (in whitespace or comment suffixes).
70
+ * Checks if a Space contains a line terminator. A block comment spanning lines counts as one, as it
71
+ * does for automatic semicolon insertion.
69
72
  */
70
73
  export function spaceContainsNewline(space: J.Space | undefined): boolean {
71
74
  if (!space) return false;
72
75
  if (space.whitespace.includes("\n")) return true;
73
- return space.comments.some(c => c.suffix.includes("\n"));
76
+ return space.comments.some(c => c.suffix.includes("\n") || (isTextComment(c) && c.text.includes("\n")));
74
77
  }
75
78
 
76
- const isTextComment = (comment: Comment): comment is TextComment => comment.kind === J.Kind.TextComment;
77
-
78
79
  /**
79
80
  * Re-indents a line's leading whitespace when the enclosing construct moves from `oldMargin` to
80
81
  * `newMargin`, preserving whatever indentation the line adds beyond the margin.
package/src/java/rpc.ts CHANGED
@@ -43,6 +43,7 @@ class TypeSender extends TypeVisitor<RpcSendQueue> {
43
43
  }
44
44
 
45
45
  protected async visitVariable(variable: Type.Variable, q: RpcSendQueue): Promise<Type | undefined> {
46
+ await q.getAndSend(variable, v => v.flags);
46
47
  await q.getAndSend(variable, v => v.name);
47
48
  await q.getAndSend(variable, v => v.owner ? asRef(v.owner) : undefined, owner => this.visit(owner, q));
48
49
  await q.getAndSend(variable, v => asRef(v.type), t => this.visit(t, q));
@@ -169,6 +170,7 @@ class TypeReceiver extends TypeVisitor<RpcReceiveQueue> {
169
170
  }
170
171
 
171
172
  protected async visitVariable(variable: Type.Variable, q: RpcReceiveQueue): Promise<Type | undefined> {
173
+ variable.flags = await q.receive(variable.flags);
172
174
  variable.name = await q.receive(variable.name);
173
175
  variable.owner = await q.receive(variable.owner, owner => this.visit(owner, q));
174
176
  variable.type = await q.receive(variable.type, t => this.visit(t, q));
package/src/java/tree.ts CHANGED
@@ -40,6 +40,21 @@ export interface Expression extends J {
40
40
  readonly type?: Type;
41
41
  }
42
42
 
43
+ export namespace Expression {
44
+ /**
45
+ * Returns the first expression inside any number of nested parentheses, or the expression itself
46
+ * when it is not parenthesized.
47
+ */
48
+ export function unwrap(expr: Expression): Expression;
49
+ export function unwrap(expr: Expression | undefined): Expression | undefined;
50
+ export function unwrap(expr: Expression | undefined): Expression | undefined {
51
+ while (expr?.kind === J.Kind.Parentheses) {
52
+ expr = (expr as J.Parentheses<Expression>).tree.element;
53
+ }
54
+ return expr;
55
+ }
56
+ }
57
+
43
58
  export interface MethodCall extends Expression {
44
59
  readonly methodType?: Type.Method;
45
60
  }
package/src/java/type.ts CHANGED
@@ -108,6 +108,7 @@ export namespace Type {
108
108
 
109
109
  export interface Variable extends Type {
110
110
  readonly kind: typeof Kind.Variable;
111
+ flags: number;
111
112
  name: string;
112
113
  owner?: Type;
113
114
  type: Type;
@@ -137,7 +138,7 @@ export namespace Type {
137
138
  }
138
139
  }
139
140
 
140
- export interface Array extends Type, FullyQualified {
141
+ export interface Array extends Type {
141
142
  readonly kind: typeof Kind.Array;
142
143
  elemType: Type;
143
144
  annotations: Type.Annotation[];
@@ -290,7 +291,6 @@ export namespace Type {
290
291
  type.kind === Type.Kind.Class ||
291
292
  type.kind === Type.Kind.Annotation ||
292
293
  type.kind === Type.Kind.Parameterized ||
293
- type.kind === Type.Kind.Array ||
294
294
  type.kind === Type.Kind.ShallowClass
295
295
  );
296
296
  }
@@ -316,6 +316,23 @@ export namespace Type {
316
316
  }
317
317
  }
318
318
 
319
+ /**
320
+ * Whether `matches` accepts the fully qualified name of `type` or, with `matchOverride`, of a
321
+ * class or interface it extends.
322
+ */
323
+ export function isOfTypeWithName(type: Type | undefined, matchOverride: boolean,
324
+ matches: (fullyQualifiedName: string) => boolean): boolean {
325
+ if (!isFullyQualified(type)) {
326
+ return false;
327
+ }
328
+ if (matches(FullyQualified.getFullyQualifiedName(type))) {
329
+ return true;
330
+ }
331
+ const c = isParameterized(type) ? type.type : type;
332
+ return matchOverride && isClass(c) &&
333
+ (isOfTypeWithName(c.supertype, true, matches) || c.interfaces.some(i => isOfTypeWithName(i, true, matches)));
334
+ }
335
+
319
336
  // Track type variable names and parameterized types to prevent infinite recursion
320
337
  let typeVariableNameStack: Set<string> | null = null;
321
338
  let parameterizedStack: Set<Type> | null = null;