@openrewrite/rewrite 8.92.17 → 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 (199) 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 +116 -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/index.d.ts +4 -2
  42. package/dist/javascript/index.d.ts.map +1 -1
  43. package/dist/javascript/index.js +10 -1
  44. package/dist/javascript/index.js.map +1 -1
  45. package/dist/javascript/markers.d.ts.map +1 -1
  46. package/dist/javascript/markers.js +64 -0
  47. package/dist/javascript/markers.js.map +1 -1
  48. package/dist/javascript/method-matcher.d.ts +13 -2
  49. package/dist/javascript/method-matcher.d.ts.map +1 -1
  50. package/dist/javascript/method-matcher.js +32 -19
  51. package/dist/javascript/method-matcher.js.map +1 -1
  52. package/dist/javascript/package-name.d.ts +6 -0
  53. package/dist/javascript/package-name.d.ts.map +1 -0
  54. package/dist/javascript/package-name.js +47 -0
  55. package/dist/javascript/package-name.js.map +1 -0
  56. package/dist/javascript/preconditions.d.ts +4 -1
  57. package/dist/javascript/preconditions.d.ts.map +1 -1
  58. package/dist/javascript/preconditions.js +7 -4
  59. package/dist/javascript/preconditions.js.map +1 -1
  60. package/dist/javascript/recipes/change-method-target-to-import.d.ts +29 -0
  61. package/dist/javascript/recipes/change-method-target-to-import.d.ts.map +1 -0
  62. package/dist/javascript/recipes/change-method-target-to-import.js +164 -0
  63. package/dist/javascript/recipes/change-method-target-to-import.js.map +1 -0
  64. package/dist/javascript/recipes/index.d.ts +1 -0
  65. package/dist/javascript/recipes/index.d.ts.map +1 -1
  66. package/dist/javascript/recipes/index.js +1 -0
  67. package/dist/javascript/recipes/index.js.map +1 -1
  68. package/dist/javascript/scope.d.ts +60 -16
  69. package/dist/javascript/scope.d.ts.map +1 -1
  70. package/dist/javascript/scope.js +596 -131
  71. package/dist/javascript/scope.js.map +1 -1
  72. package/dist/javascript/search/uses-method.d.ts +1 -1
  73. package/dist/javascript/search/uses-method.d.ts.map +1 -1
  74. package/dist/javascript/search/uses-method.js +2 -2
  75. package/dist/javascript/search/uses-method.js.map +1 -1
  76. package/dist/javascript/search/uses-type.d.ts +14 -1
  77. package/dist/javascript/search/uses-type.d.ts.map +1 -1
  78. package/dist/javascript/search/uses-type.js +24 -9
  79. package/dist/javascript/search/uses-type.js.map +1 -1
  80. package/dist/javascript/templating/bindings.d.ts +1 -1
  81. package/dist/javascript/templating/bindings.d.ts.map +1 -1
  82. package/dist/javascript/templating/bindings.js +10 -50
  83. package/dist/javascript/templating/bindings.js.map +1 -1
  84. package/dist/javascript/templating/comparator.d.ts +8 -11
  85. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  86. package/dist/javascript/templating/comparator.js +12 -110
  87. package/dist/javascript/templating/comparator.js.map +1 -1
  88. package/dist/javascript/templating/engine.d.ts +34 -24
  89. package/dist/javascript/templating/engine.d.ts.map +1 -1
  90. package/dist/javascript/templating/engine.js +200 -112
  91. package/dist/javascript/templating/engine.js.map +1 -1
  92. package/dist/javascript/templating/pattern.d.ts +11 -5
  93. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  94. package/dist/javascript/templating/pattern.js +86 -20
  95. package/dist/javascript/templating/pattern.js.map +1 -1
  96. package/dist/javascript/templating/placeholder-replacement.d.ts +34 -3
  97. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  98. package/dist/javascript/templating/placeholder-replacement.js +126 -60
  99. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  100. package/dist/javascript/templating/precedence.d.ts +3 -1
  101. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  102. package/dist/javascript/templating/precedence.js +28 -8
  103. package/dist/javascript/templating/precedence.js.map +1 -1
  104. package/dist/javascript/templating/template.d.ts +7 -6
  105. package/dist/javascript/templating/template.d.ts.map +1 -1
  106. package/dist/javascript/templating/template.js +31 -28
  107. package/dist/javascript/templating/template.js.map +1 -1
  108. package/dist/javascript/templating/types.d.ts +6 -3
  109. package/dist/javascript/templating/types.d.ts.map +1 -1
  110. package/dist/javascript/templating/utils.d.ts +10 -1
  111. package/dist/javascript/templating/utils.d.ts.map +1 -1
  112. package/dist/javascript/templating/utils.js +22 -3
  113. package/dist/javascript/templating/utils.js.map +1 -1
  114. package/dist/javascript/tree-debug.d.ts +2 -0
  115. package/dist/javascript/tree-debug.d.ts.map +1 -1
  116. package/dist/javascript/tree-debug.js +6 -0
  117. package/dist/javascript/tree-debug.js.map +1 -1
  118. package/dist/javascript/tsconfig.d.ts.map +1 -1
  119. package/dist/javascript/tsconfig.js +7 -17
  120. package/dist/javascript/tsconfig.js.map +1 -1
  121. package/dist/javascript/type-mapping.d.ts +34 -16
  122. package/dist/javascript/type-mapping.d.ts.map +1 -1
  123. package/dist/javascript/type-mapping.js +253 -249
  124. package/dist/javascript/type-mapping.js.map +1 -1
  125. package/dist/javascript/type-report-cli.d.ts +7 -0
  126. package/dist/javascript/type-report-cli.d.ts.map +1 -0
  127. package/dist/javascript/type-report-cli.js +129 -0
  128. package/dist/javascript/type-report-cli.js.map +1 -0
  129. package/dist/javascript/type-report.d.ts +61 -0
  130. package/dist/javascript/type-report.d.ts.map +1 -0
  131. package/dist/javascript/type-report.js +488 -0
  132. package/dist/javascript/type-report.js.map +1 -0
  133. package/dist/markers.d.ts +4 -0
  134. package/dist/markers.d.ts.map +1 -1
  135. package/dist/markers.js +8 -0
  136. package/dist/markers.js.map +1 -1
  137. package/dist/recipe.d.ts +5 -0
  138. package/dist/recipe.d.ts.map +1 -1
  139. package/dist/recipe.js +5 -0
  140. package/dist/recipe.js.map +1 -1
  141. package/dist/rewrite-javascript-version.txt +1 -1
  142. package/dist/rpc/queue.d.ts +16 -0
  143. package/dist/rpc/queue.d.ts.map +1 -1
  144. package/dist/rpc/queue.js +27 -9
  145. package/dist/rpc/queue.js.map +1 -1
  146. package/dist/rpc/request/prepare-recipe.d.ts +3 -1
  147. package/dist/rpc/request/prepare-recipe.d.ts.map +1 -1
  148. package/dist/rpc/request/prepare-recipe.js +13 -6
  149. package/dist/rpc/request/prepare-recipe.js.map +1 -1
  150. package/dist/search/is-source-file.d.ts +1 -0
  151. package/dist/search/is-source-file.d.ts.map +1 -1
  152. package/dist/search/is-source-file.js +7 -2
  153. package/dist/search/is-source-file.js.map +1 -1
  154. package/dist/test/rewrite-test.d.ts +5 -0
  155. package/dist/test/rewrite-test.d.ts.map +1 -1
  156. package/dist/test/rewrite-test.js +14 -3
  157. package/dist/test/rewrite-test.js.map +1 -1
  158. package/package.json +4 -3
  159. package/src/index.ts +3 -1
  160. package/src/java/formatting-utils.ts +5 -4
  161. package/src/java/rpc.ts +2 -0
  162. package/src/java/tree.ts +15 -0
  163. package/src/java/type.ts +19 -2
  164. package/src/javascript/add-import.ts +338 -152
  165. package/src/javascript/amd.ts +28 -12
  166. package/src/javascript/autodetect.ts +32 -41
  167. package/src/javascript/binding.ts +64 -22
  168. package/src/javascript/comparator.ts +119 -43
  169. package/src/javascript/format/format.ts +9 -0
  170. package/src/javascript/index.ts +6 -3
  171. package/src/javascript/markers.ts +43 -1
  172. package/src/javascript/method-matcher.ts +34 -22
  173. package/src/javascript/package-name.ts +45 -0
  174. package/src/javascript/preconditions.ts +7 -4
  175. package/src/javascript/recipes/change-method-target-to-import.ts +178 -0
  176. package/src/javascript/recipes/index.ts +1 -0
  177. package/src/javascript/scope.ts +705 -169
  178. package/src/javascript/search/uses-method.ts +2 -2
  179. package/src/javascript/search/uses-type.ts +30 -9
  180. package/src/javascript/templating/bindings.ts +13 -38
  181. package/src/javascript/templating/comparator.ts +16 -127
  182. package/src/javascript/templating/engine.ts +229 -127
  183. package/src/javascript/templating/pattern.ts +107 -28
  184. package/src/javascript/templating/placeholder-replacement.ts +154 -62
  185. package/src/javascript/templating/precedence.ts +33 -11
  186. package/src/javascript/templating/template.ts +35 -30
  187. package/src/javascript/templating/types.ts +6 -3
  188. package/src/javascript/templating/utils.ts +24 -2
  189. package/src/javascript/tree-debug.ts +9 -0
  190. package/src/javascript/tsconfig.ts +7 -17
  191. package/src/javascript/type-mapping.ts +258 -252
  192. package/src/javascript/type-report-cli.ts +96 -0
  193. package/src/javascript/type-report.ts +575 -0
  194. package/src/markers.ts +8 -0
  195. package/src/recipe.ts +6 -0
  196. package/src/rpc/queue.ts +44 -5
  197. package/src/rpc/request/prepare-recipe.ts +16 -6
  198. package/src/search/is-source-file.ts +8 -3
  199. package/src/test/rewrite-test.ts +14 -3
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/javascript/format/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/javascript/format/format.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,11 @@ export * from "./method-matcher";
14
14
  export * from "./format";
15
15
  export * from "./autodetect";
16
16
  export * from "./tree-debug";
17
+ export { isEqual } from "./comparator";
18
+ export * from "./type-report";
17
19
  export * from "./project-parser";
18
- export type { Scope } from "./scope";
19
- export { scopeOf, namesDeclaredIn, namesDeclaredWithin, namesUsedIn, namesReferencedWithin, bindingNames, deconflict, isValueReference, declarationsOf, compilationUnitOf, walk } from "./scope";
20
+ export type { Scope, Meaning, Reference } from "./scope";
21
+ export { scopeOf, namesDeclaredIn, namesDeclaredWithin, namesUsedIn, namesUsedWithin, namesReferencedWithin, bindingNames, deconflict, isReference, isValueReference, isWrite, resolve, referencesOf, declarationsOf, compilationUnitOf, walk } from "./scope";
20
22
  export type { QuoteChar, AddImportOptions } from "./add-import";
21
23
  export { ImportStyle, moduleNameOf, AddImport } from "./add-import";
22
24
  export type { AmdBlock, AmdCalleeOptions } from "./amd";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAGnC,OAAO,EACH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAC3G,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,EAC5D,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAElE,YAAY,EAAC,QAAQ,EAAE,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACtD,OAAO,EACH,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EACnG,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAC/F,cAAc,EAAE,qBAAqB,EAAE,mBAAmB,EAC1D,mBAAmB,EAAE,4BAA4B,EACpD,MAAM,OAAO,CAAC;AACf,YAAY,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AACxG,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAC7H,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":"AAeA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,SAAS,CAAC;AAGvD,OAAO,EACH,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAChH,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,EACrH,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAElE,YAAY,EAAC,QAAQ,EAAE,gBAAgB,EAAC,MAAM,OAAO,CAAC;AACtD,OAAO,EACH,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EACnG,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAC/F,cAAc,EAAE,qBAAqB,EAAE,mBAAmB,EAC1D,mBAAmB,EAAE,4BAA4B,EACpD,MAAM,OAAO,CAAC;AACf,YAAY,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AACxG,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAC7H,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAE3C,OAAO,SAAS,CAAC;AACjB,OAAO,OAAO,CAAC"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.maybeAddImport = exports.maybeRemoveImport = exports.isAmdBlock = exports.moduleBindings = exports.maybeRebind = exports.maybeUnbind = exports.maybeBind = exports.removeNewlyUnusedAmdBindings = exports.RemoveAmdDependency = exports.withoutDependencyAt = exports.withUnboundDependency = exports.withDependency = exports.derivedBindingName = exports.lastSegment = exports.namesUsed = exports.references = exports.bodyOf = exports.parameterNames = exports.dependencyNames = exports.identifierOf = exports.parametersOf = exports.elementsOf = exports.present = exports.enclosingAmdBlock = exports.amdBlockOf = exports.DEFAULT_AMD_CALLEES = exports.AddImport = exports.moduleNameOf = exports.ImportStyle = exports.walk = exports.compilationUnitOf = exports.declarationsOf = exports.isValueReference = exports.deconflict = exports.bindingNames = exports.namesReferencedWithin = exports.namesUsedIn = exports.namesDeclaredWithin = exports.namesDeclaredIn = exports.scopeOf = void 0;
17
+ exports.maybeAddImport = exports.maybeRemoveImport = exports.isAmdBlock = exports.moduleBindings = exports.maybeRebind = exports.maybeUnbind = exports.maybeBind = exports.removeNewlyUnusedAmdBindings = exports.RemoveAmdDependency = exports.withoutDependencyAt = exports.withUnboundDependency = exports.withDependency = exports.derivedBindingName = exports.lastSegment = exports.namesUsed = exports.references = exports.bodyOf = exports.parameterNames = exports.dependencyNames = exports.identifierOf = exports.parametersOf = exports.elementsOf = exports.present = exports.enclosingAmdBlock = exports.amdBlockOf = exports.DEFAULT_AMD_CALLEES = exports.AddImport = exports.moduleNameOf = exports.ImportStyle = exports.walk = exports.compilationUnitOf = exports.declarationsOf = exports.referencesOf = exports.resolve = exports.isWrite = exports.isValueReference = exports.isReference = exports.deconflict = exports.bindingNames = exports.namesReferencedWithin = exports.namesUsedWithin = exports.namesUsedIn = exports.namesDeclaredWithin = exports.namesDeclaredIn = exports.scopeOf = exports.isEqual = void 0;
18
18
  /*
19
19
  * Copyright 2025 the original author or authors.
20
20
  * <p>
@@ -46,6 +46,10 @@ __exportStar(require("./method-matcher"), exports);
46
46
  __exportStar(require("./format"), exports);
47
47
  __exportStar(require("./autodetect"), exports);
48
48
  __exportStar(require("./tree-debug"), exports);
49
+ // The comparator visitors stay internal so what they compare is free to change.
50
+ var comparator_1 = require("./comparator");
51
+ Object.defineProperty(exports, "isEqual", { enumerable: true, get: function () { return comparator_1.isEqual; } });
52
+ __exportStar(require("./type-report"), exports);
49
53
  __exportStar(require("./project-parser"), exports);
50
54
  // `cursorOf` is deliberately absent: a visitor of one's own reaches `this.cursor` directly, and
51
55
  // the free functions that have no visitor to reach it through are already in this list.
@@ -54,10 +58,15 @@ Object.defineProperty(exports, "scopeOf", { enumerable: true, get: function () {
54
58
  Object.defineProperty(exports, "namesDeclaredIn", { enumerable: true, get: function () { return scope_1.namesDeclaredIn; } });
55
59
  Object.defineProperty(exports, "namesDeclaredWithin", { enumerable: true, get: function () { return scope_1.namesDeclaredWithin; } });
56
60
  Object.defineProperty(exports, "namesUsedIn", { enumerable: true, get: function () { return scope_1.namesUsedIn; } });
61
+ Object.defineProperty(exports, "namesUsedWithin", { enumerable: true, get: function () { return scope_1.namesUsedWithin; } });
57
62
  Object.defineProperty(exports, "namesReferencedWithin", { enumerable: true, get: function () { return scope_1.namesReferencedWithin; } });
58
63
  Object.defineProperty(exports, "bindingNames", { enumerable: true, get: function () { return scope_1.bindingNames; } });
59
64
  Object.defineProperty(exports, "deconflict", { enumerable: true, get: function () { return scope_1.deconflict; } });
65
+ Object.defineProperty(exports, "isReference", { enumerable: true, get: function () { return scope_1.isReference; } });
60
66
  Object.defineProperty(exports, "isValueReference", { enumerable: true, get: function () { return scope_1.isValueReference; } });
67
+ Object.defineProperty(exports, "isWrite", { enumerable: true, get: function () { return scope_1.isWrite; } });
68
+ Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return scope_1.resolve; } });
69
+ Object.defineProperty(exports, "referencesOf", { enumerable: true, get: function () { return scope_1.referencesOf; } });
61
70
  Object.defineProperty(exports, "declarationsOf", { enumerable: true, get: function () { return scope_1.declarationsOf; } });
62
71
  Object.defineProperty(exports, "compilationUnitOf", { enumerable: true, get: function () { return scope_1.compilationUnitOf; } });
63
72
  Object.defineProperty(exports, "walk", { enumerable: true, get: function () { return scope_1.walk; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2DAAyC;AACzC,wDAAsC;AACtC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,mDAAiC;AAGjC,gGAAgG;AAChG,wFAAwF;AACxF,iCAGiB;AAFb,gGAAA,OAAO,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,mGAAA,UAAU,OAAA;AAC3G,yGAAA,gBAAgB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,6FAAA,IAAI,OAAA;AAG7D,2CAAkE;AAA1D,yGAAA,WAAW,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,uGAAA,SAAS,OAAA;AAG5C,6BAKe;AAJX,0GAAA,mBAAmB,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,mGAAA,YAAY,OAAA;AAAE,mGAAA,YAAY,OAAA;AACnG,sGAAA,eAAe,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,yGAAA,kBAAkB,OAAA;AAC/F,qGAAA,cAAc,OAAA;AAAE,4GAAA,qBAAqB,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAC1D,0GAAA,mBAAmB,OAAA;AAAE,mHAAA,4BAA4B,OAAA;AAGrD,qCAA6H;AAArH,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAC1G,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,sDAAoC;AACpC,6DAA2C;AAE3C,mBAAiB;AACjB,iBAAe"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/javascript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yCAAuB;AACvB,4CAA0B;AAC1B,+CAA6B;AAC7B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2DAAyC;AACzC,wDAAsC;AACtC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,gFAAgF;AAChF,2CAAqC;AAA7B,qGAAA,OAAO,OAAA;AACf,gDAA8B;AAC9B,mDAAiC;AAGjC,gGAAgG;AAChG,wFAAwF;AACxF,iCAGiB;AAFb,gGAAA,OAAO,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAAE,qGAAA,YAAY,OAAA;AAChH,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,0GAAA,iBAAiB,OAAA;AAAE,6FAAA,IAAI,OAAA;AAGtH,2CAAkE;AAA1D,yGAAA,WAAW,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,uGAAA,SAAS,OAAA;AAG5C,6BAKe;AAJX,0GAAA,mBAAmB,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,mGAAA,YAAY,OAAA;AAAE,mGAAA,YAAY,OAAA;AACnG,sGAAA,eAAe,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,yGAAA,kBAAkB,OAAA;AAC/F,qGAAA,cAAc,OAAA;AAAE,4GAAA,qBAAqB,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAC1D,0GAAA,mBAAmB,OAAA;AAAE,mHAAA,4BAA4B,OAAA;AAGrD,qCAA6H;AAArH,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAC1G,kDAAgC;AAChC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,sDAAoC;AACpC,6DAA2C;AAE3C,mBAAiB;AACjB,iBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/javascript/markers.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAe1B,OAAO,QAAQ,QAAQ,CAAC;IACpB,UAAU,EAAE,CAAC;QACF,MAAM,OAAO,EAAE;YAClB,QAAQ,CAAC,SAAS,EAAE,6CAA6C,CAAC;YAClE,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;YAChE,QAAQ,CAAC,gBAAgB,EAAE,oDAAoD,CAAC;YAChF,QAAQ,CAAC,cAAc,EAAE,kDAAkD,CAAC;YAC5E,QAAQ,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;YACtF,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SACnE,CAAC;KACL;CACJ;AAYD;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/javascript/markers.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAc,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAgB1B,OAAO,QAAQ,QAAQ,CAAC;IACpB,UAAU,EAAE,CAAC;QACF,MAAM,OAAO,EAAE;YAClB,QAAQ,CAAC,SAAS,EAAE,6CAA6C,CAAC;YAClE,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;YAChE,QAAQ,CAAC,gBAAgB,EAAE,oDAAoD,CAAC;YAChF,QAAQ,CAAC,cAAc,EAAE,kDAAkD,CAAC;YAC5E,QAAQ,CAAC,mBAAmB,EAAE,uDAAuD,CAAC;YACtF,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SACnE,CAAC;KACL;CACJ;AAYD;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC5C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,MAAM;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;CAC5B"}
@@ -1,5 +1,32 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
+ /*
15
+ * Copyright 2025 the original author or authors.
16
+ * <p>
17
+ * Licensed under the Moderne Source Available License (the "License");
18
+ * you may not use this file except in compliance with the License.
19
+ * You may obtain a copy of the License at
20
+ * <p>
21
+ * https://docs.moderne.io/licensing/moderne-source-available-license
22
+ * <p>
23
+ * Unless required by applicable law or agreed to in writing, software
24
+ * distributed under the License is distributed on an "AS IS" BASIS,
25
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ * See the License for the specific language governing permissions and
27
+ * limitations under the License.
28
+ */
29
+ const markers_1 = require("../markers");
3
30
  const tree_1 = require("./tree");
4
31
  const rpc_1 = require("../rpc");
5
32
  const style_1 = require("./style");
@@ -179,4 +206,41 @@ rpc_1.RpcCodecs.registerCodec(style_1.StyleKind.WrappingAndBracesStyle, {
179
206
  await q.getAndSend(after, a => a.keepWhenReformatting);
180
207
  }
181
208
  });
209
+ const styleDetailKinds = new Set([
210
+ ...Object.values(style_1.SpacesStyleDetailKind),
211
+ ...Object.values(style_1.WrappingAndBracesStyleDetailKind)
212
+ ]);
213
+ function detailKind(styleKind, field) {
214
+ const kind = `${styleKind}$${field.charAt(0).toUpperCase()}${field.slice(1)}`;
215
+ return styleDetailKinds.has(kind) ? kind : undefined;
216
+ }
217
+ function styleFromValue(value) {
218
+ if (value === null || typeof value !== "object") {
219
+ return value;
220
+ }
221
+ const { "@c": kind, "@ref": _ref } = value, fields = __rest(value, ["@c", "@ref"]);
222
+ for (const [field, detail] of Object.entries(fields)) {
223
+ const kindOfDetail = detailKind(kind, field);
224
+ if (kindOfDetail && detail !== null && typeof detail === "object") {
225
+ fields[field] = Object.assign({ kind: kindOfDetail }, detail);
226
+ }
227
+ }
228
+ return Object.assign({ kind }, fields);
229
+ }
230
+ function styleToValue(_a, ref) {
231
+ var { kind } = _a, fields = __rest(_a, ["kind"]);
232
+ for (const [field, detail] of Object.entries(fields)) {
233
+ if (detailKind(kind, field) && detail !== null && typeof detail === "object") {
234
+ const { kind: _kind } = detail, detailFields = __rest(detail, ["kind"]);
235
+ fields[field] = detailFields;
236
+ }
237
+ }
238
+ return Object.assign({ "@c": kind, "@ref": ref }, fields);
239
+ }
240
+ // A plain NamedStyles has no codec on either side, so it travels in the shape Java's serializer gives it
241
+ rpc_1.RpcCodecs.registerValueCodec(markers_1.MarkersKind.NamedStyles, {
242
+ fromValue: (value) => { var _a; return (Object.assign(Object.assign({}, value), { styles: ((_a = value.styles) !== null && _a !== void 0 ? _a : []).map(styleFromValue) })); },
243
+ // Java's deserializer wants an object id on each style, and gives the first to the set itself
244
+ toValue: (after) => (Object.assign(Object.assign({}, after), { styles: after.styles.map((style, i) => styleToValue(style, i + 2)) }))
245
+ });
182
246
  //# sourceMappingURL=markers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/javascript/markers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/javascript/markers.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,23 @@
1
1
  import { Type } from "../java";
2
+ /**
3
+ * Matches a method type against a `<declaring type> <name>(<args>)` pattern.
4
+ * `REWRITE_JAVASCRIPT_DUMP_TYPES=1` in a test run prints the pattern each call would match.
5
+ *
6
+ * With `matchOverrides`, the pattern's type may also be a supertype or interface of the declaring
7
+ * type, as in Java. A pattern naming a subtype of the declaring type never matches.
8
+ */
2
9
  export declare class MethodMatcher {
10
+ private readonly matchOverrides;
3
11
  private readonly packagePattern;
4
12
  private readonly typePattern;
5
13
  private readonly methodPattern;
6
14
  private readonly argumentPatterns;
7
- constructor(pattern: string);
15
+ constructor(pattern: string, matchOverrides?: boolean);
8
16
  matches(method?: Type.Method): boolean;
9
- private typeToString;
17
+ private matchesTargetType;
18
+ private matchesTypeName;
19
+ /** The name an argument pattern compares against a parameter of this type. */
20
+ static typeName(type: Type): string;
10
21
  private matchesPackage;
11
22
  private matchesPattern;
12
23
  private matchesArguments;
@@ -1 +1 @@
1
- {"version":3,"file":"method-matcher.d.ts","sourceRoot":"","sources":["../../src/javascript/method-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAG7B,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;gBAEhC,OAAO,EAAE,MAAM;IA2D3B,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO;IAmCtC,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,sBAAsB;CAmBjC"}
1
+ {"version":3,"file":"method-matcher.d.ts","sourceRoot":"","sources":["../../src/javascript/method-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAG7B;;;;;;GAMG;AACH,qBAAa,aAAa;IAMO,OAAO,CAAC,QAAQ,CAAC,cAAc;IAL5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;gBAEhC,OAAO,EAAE,MAAM,EAAmB,cAAc,GAAE,OAAe;IA6D7E,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO;IAmBtC,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IASvB,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAkBnC,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,sBAAsB;CAmBjC"}
@@ -3,8 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MethodMatcher = void 0;
4
4
  const java_1 = require("../java");
5
5
  var FullyQualified = java_1.Type.FullyQualified;
6
+ /**
7
+ * Matches a method type against a `<declaring type> <name>(<args>)` pattern.
8
+ * `REWRITE_JAVASCRIPT_DUMP_TYPES=1` in a test run prints the pattern each call would match.
9
+ *
10
+ * With `matchOverrides`, the pattern's type may also be a supertype or interface of the declaring
11
+ * type, as in Java. A pattern naming a subtype of the declaring type never matches.
12
+ */
6
13
  class MethodMatcher {
7
- constructor(pattern) {
14
+ constructor(pattern, matchOverrides = false) {
15
+ this.matchOverrides = matchOverrides;
8
16
  // Find the last space before the method spec (which contains parentheses)
9
17
  const firstParenIndex = pattern.indexOf('(');
10
18
  if (firstParenIndex === -1) {
@@ -26,7 +34,9 @@ class MethodMatcher {
26
34
  else {
27
35
  const lastDotIndex = typeSpec.lastIndexOf('.');
28
36
  if (lastDotIndex === -1) {
29
- this.packagePattern = '*';
37
+ // As in Java, a type without a package matches only the type in no package, such as
38
+ // the global `Array` or the module `fs-extra`. `*.Array` matches any package.
39
+ this.packagePattern = '';
30
40
  this.typePattern = typeSpec;
31
41
  }
32
42
  else {
@@ -65,20 +75,7 @@ class MethodMatcher {
65
75
  if (!method) {
66
76
  return false;
67
77
  }
68
- // Extract fully qualified name from declaringType
69
- const fullyQualifiedName = FullyQualified.getFullyQualifiedName(method.declaringType);
70
- // Split fully qualified name into package and type
71
- const lastDotIndex = fullyQualifiedName.lastIndexOf('.');
72
- const packageName = lastDotIndex === -1 ? '' : fullyQualifiedName.substring(0, lastDotIndex);
73
- const typeName = lastDotIndex === -1 ? fullyQualifiedName : fullyQualifiedName.substring(lastDotIndex + 1);
74
- // Match package
75
- if (!this.matchesPackage(packageName)) {
76
- return false;
77
- }
78
- // Match type (normalize primitives for matching)
79
- const normalizedTypePattern = this.normalizePrimitiveType(this.typePattern);
80
- const normalizedTypeName = this.normalizePrimitiveType(typeName);
81
- if (!this.matchesPattern(normalizedTypePattern, normalizedTypeName)) {
78
+ if (!this.matchesTargetType(method.declaringType)) {
82
79
  return false;
83
80
  }
84
81
  // Match method name
@@ -86,10 +83,26 @@ class MethodMatcher {
86
83
  return false;
87
84
  }
88
85
  // Match arguments - convert Type[] to string representations
89
- const argStrings = method.parameterTypes.map(type => this.typeToString(type));
86
+ const argStrings = method.parameterTypes.map(type => MethodMatcher.typeName(type));
90
87
  return this.matchesArguments(argStrings);
91
88
  }
92
- typeToString(type) {
89
+ matchesTargetType(type) {
90
+ const matches = (name) => this.matchesTypeName(name);
91
+ // A call on an untyped receiver declares on the unknown type, which a wildcard pattern
92
+ // matches by name. Java's matcher has no such case because Java calls are always typed.
93
+ return (type === null || type === void 0 ? void 0 : type.kind) === java_1.Type.Kind.Unknown
94
+ ? matches(FullyQualified.getFullyQualifiedName(type))
95
+ : java_1.Type.isOfTypeWithName(type, this.matchOverrides, matches);
96
+ }
97
+ matchesTypeName(fullyQualifiedName) {
98
+ const lastDotIndex = fullyQualifiedName.lastIndexOf('.');
99
+ const packageName = lastDotIndex === -1 ? '' : fullyQualifiedName.substring(0, lastDotIndex);
100
+ const typeName = lastDotIndex === -1 ? fullyQualifiedName : fullyQualifiedName.substring(lastDotIndex + 1);
101
+ return this.matchesPackage(packageName) &&
102
+ this.matchesPattern(this.normalizePrimitiveType(this.typePattern), this.normalizePrimitiveType(typeName));
103
+ }
104
+ /** The name an argument pattern compares against a parameter of this type. */
105
+ static typeName(type) {
93
106
  switch (type.kind) {
94
107
  case java_1.Type.Kind.Primitive:
95
108
  return type.keyword;
@@ -99,7 +112,7 @@ class MethodMatcher {
99
112
  return FullyQualified.getFullyQualifiedName(type.type);
100
113
  case java_1.Type.Kind.Array:
101
114
  const arrayType = type;
102
- return this.typeToString(arrayType.elemType) + '[]';
115
+ return MethodMatcher.typeName(arrayType.elemType) + '[]';
103
116
  case java_1.Type.Kind.GenericTypeVariable:
104
117
  return type.name;
105
118
  default: