@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
@@ -116,7 +116,7 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
116
116
  return this.constraintFailed(captureName, targetKind);
117
117
  }
118
118
  }
119
- const success = this.matcher.handleCapture(captureMarker, target, undefined);
119
+ const success = await this.matcher.handleCapture(captureMarker, target, undefined);
120
120
  if (!success) {
121
121
  const captureName = captureMarker.captureName || 'unnamed';
122
122
  return this.captureConflict(captureName);
@@ -133,9 +133,12 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
133
133
  // Continue with parent's visit which will push targetCursor and traverse
134
134
  return await super.visit(j, p, parent);
135
135
  }
136
- /** A capture in the receiver has to bind, so a matching `methodType` cannot stand in for it. */
137
- selectMustBeVisited(method) {
138
- return method.select !== undefined && containsCapture(method.select);
136
+ /**
137
+ * A function the pattern's `context` declares lives in no module of the source,
138
+ * so it stands in for any function of its name.
139
+ */
140
+ declaresAnyCallee(declaringType) {
141
+ return java_1.Type.FullyQualified.getFullyQualifiedName(declaringType) === utils_1.TEMPLATE_MODULE;
139
142
  }
140
143
  hasSameKind(j, other) {
141
144
  return super.hasSameKind(j, other) ||
@@ -185,7 +188,7 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
185
188
  return this.constraintFailed(captureName, targetKind);
186
189
  }
187
190
  // Handle the capture with the wrapper - use the element for pattern matching
188
- const success = this.matcher.handleCapture(captureMarker, targetElement, targetWrapper);
191
+ const success = await this.matcher.handleCapture(captureMarker, targetElement, targetWrapper);
189
192
  if (!success) {
190
193
  const captureName = captureMarker.captureName || 'unnamed';
191
194
  return this.captureConflict(captureName);
@@ -258,79 +261,6 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
258
261
  await this.visitRightPadded(element, otherElement);
259
262
  return this.match;
260
263
  }
261
- async visitMethodInvocation(methodInvocation, other) {
262
- // Check if any arguments are variadic captures
263
- const hasVariadicCapture = methodInvocation.arguments.elements.some(arg => utils_1.PlaceholderUtils.isVariadicCapture(arg));
264
- // If no variadic captures, use parent implementation (which includes semantic/type-aware matching)
265
- if (!hasVariadicCapture) {
266
- return super.visitMethodInvocation(methodInvocation, other);
267
- }
268
- // Otherwise, handle variadic captures ourselves
269
- if (!this.match) {
270
- return this.abort(methodInvocation);
271
- }
272
- if (other.kind !== java_1.J.Kind.MethodInvocation) {
273
- // Set up cursors for kindMismatch
274
- const savedCursor = this.cursor;
275
- const savedTargetCursor = this.targetCursor;
276
- this.cursor = new __1.Cursor(methodInvocation, this.cursor);
277
- this.targetCursor = new __1.Cursor(other, this.targetCursor);
278
- try {
279
- return this.kindMismatch();
280
- }
281
- finally {
282
- this.cursor = savedCursor;
283
- this.targetCursor = savedTargetCursor;
284
- }
285
- }
286
- const otherMethodInvocation = other;
287
- // Set up cursors for the entire method
288
- const savedCursor = this.cursor;
289
- const savedTargetCursor = this.targetCursor;
290
- this.cursor = new __1.Cursor(methodInvocation, this.cursor);
291
- this.targetCursor = new __1.Cursor(otherMethodInvocation, this.targetCursor);
292
- try {
293
- // Compare select
294
- if ((methodInvocation.select === undefined) !== (otherMethodInvocation.select === undefined)) {
295
- return this.structuralMismatch('select');
296
- }
297
- // Visit select if present
298
- if (methodInvocation.select && otherMethodInvocation.select) {
299
- await this.visit(methodInvocation.select.element, otherMethodInvocation.select.element);
300
- if (!this.match)
301
- return methodInvocation;
302
- }
303
- // A pattern that spells out no type arguments says nothing about them, as with parentheses
304
- if (methodInvocation.typeParameters) {
305
- if (!otherMethodInvocation.typeParameters) {
306
- return this.structuralMismatch('typeParameters');
307
- }
308
- if (methodInvocation.typeParameters.elements.length !== otherMethodInvocation.typeParameters.elements.length) {
309
- return this.arrayLengthMismatch('typeParameters.elements');
310
- }
311
- // Visit each type parameter in lock step (visit RightPadded to check for markers)
312
- for (let i = 0; i < methodInvocation.typeParameters.elements.length; i++) {
313
- await this.visitRightPadded(methodInvocation.typeParameters.elements[i], otherMethodInvocation.typeParameters.elements[i]);
314
- if (!this.match)
315
- return methodInvocation;
316
- }
317
- }
318
- // Visit name
319
- await this.visit(methodInvocation.name, otherMethodInvocation.name);
320
- if (!this.match) {
321
- return methodInvocation;
322
- }
323
- // Special handling for variadic captures in arguments
324
- if (!await this.matchArguments(methodInvocation.arguments.elements, otherMethodInvocation.arguments.elements)) {
325
- return this.structuralMismatch('arguments');
326
- }
327
- return methodInvocation;
328
- }
329
- finally {
330
- this.cursor = savedCursor;
331
- this.targetCursor = savedTargetCursor;
332
- }
333
- }
334
264
  async visitBlock(block, other) {
335
265
  // Check if any statements have CaptureMarker indicating they're variadic
336
266
  const hasVariadicCapture = block.statements.some(stmt => {
@@ -422,13 +352,6 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
422
352
  this.targetCursor = savedTargetCursor;
423
353
  }
424
354
  }
425
- /**
426
- * Matches argument lists, with special handling for variadic captures.
427
- * A variadic capture can match zero or more consecutive arguments.
428
- */
429
- async matchArguments(patternArgs, targetArgs) {
430
- return await this.matchSequence(patternArgs, targetArgs, true);
431
- }
432
355
  /**
433
356
  * Generic sequence matching with variadic capture support.
434
357
  * Works for any sequence of JRightPadded elements (arguments, statements, etc.).
@@ -569,7 +492,7 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
569
492
  // Save current state for backtracking
570
493
  const savedState = this.matcher.saveState();
571
494
  // Handle the variadic capture
572
- const success = this.matcher.handleVariadicCapture(captureMarker, capturedElements, capturedWrappers);
495
+ const success = await this.matcher.handleVariadicCapture(captureMarker, capturedElements, capturedWrappers);
573
496
  if (!success) {
574
497
  // Restore state and try next amount
575
498
  this.matcher.restoreState(savedState);
@@ -791,7 +714,7 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
791
714
  }
792
715
  this.debug.log('debug', 'constraint', `Constraint passed for capture: ${captureMarker.captureName}`);
793
716
  }
794
- const success = this.matcher.handleCapture(captureMarker, target, undefined);
717
+ const success = await this.matcher.handleCapture(captureMarker, target, undefined);
795
718
  if (!success) {
796
719
  return this.abort(j);
797
720
  }
@@ -879,7 +802,7 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
879
802
  }
880
803
  this.debug.log('debug', 'constraint', `Constraint passed for wrapped capture: ${captureMarker.captureName}`);
881
804
  }
882
- const success = this.matcher.handleCapture(captureMarker, targetElement, targetWrapper);
805
+ const success = await this.matcher.handleCapture(captureMarker, targetElement, targetWrapper);
883
806
  if (!success) {
884
807
  return this.abort(right);
885
808
  }
@@ -1163,7 +1086,7 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
1163
1086
  this.debug.log('debug', 'constraint', `Variadic constraint passed for capture: ${captureMarker.captureName}`);
1164
1087
  }
1165
1088
  const savedState = this.matcher.saveState();
1166
- const success = this.matcher.handleVariadicCapture(captureMarker, capturedElements, capturedWrappers);
1089
+ const success = await this.matcher.handleVariadicCapture(captureMarker, capturedElements, capturedWrappers);
1167
1090
  if (!success) {
1168
1091
  this.matcher.restoreState(savedState);
1169
1092
  continue;
@@ -1200,25 +1123,4 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
1200
1123
  }
1201
1124
  }
1202
1125
  exports.DebugPatternMatchingComparator = DebugPatternMatchingComparator;
1203
- /** Whether anything under `node`, the padding wrappers a marker moves onto included, is a capture. */
1204
- function containsCapture(node) {
1205
- if (node === null || typeof node !== 'object') {
1206
- return false;
1207
- }
1208
- if (Array.isArray(node)) {
1209
- return node.some(containsCapture);
1210
- }
1211
- const record = node;
1212
- if (typeof record.kind !== 'string') {
1213
- return false;
1214
- }
1215
- // Attribution is a cyclic graph, and a capture is never reachable through one
1216
- if (java_1.Type.isType(node)) {
1217
- return false;
1218
- }
1219
- if (record.markers && utils_1.PlaceholderUtils.getCaptureMarker(node)) {
1220
- return true;
1221
- }
1222
- return Object.entries(record).some(([key, value]) => key !== 'markers' && containsCapture(value));
1223
- }
1224
1126
  //# sourceMappingURL=comparator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparator.js","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,6 @@ import { RawCode } from './capture';
5
5
  import { JavaCoordinates } from './template';
6
6
  import ts from "typescript";
7
7
  import { ModuleScopeBinding } from '../add-import';
8
- /** A module a template's context binds, and whether the parse resolved it well enough to attribute. */
9
- export interface ContextBinding extends ModuleScopeBinding {
10
- attributed: boolean;
11
- }
12
8
  import { Parameter } from "./types";
13
9
  /**
14
10
  * Configure the sourceFileCache used for template parsing.
@@ -26,6 +22,19 @@ export declare function clearTemplateCache(): void;
26
22
  * Not exported from index, so only visible within the templating module.
27
23
  */
28
24
  export declare class TemplateEngine {
25
+ /** The template parsed with its context, which is what gives its code types to attribute against. */
26
+ private static parseWithContext;
27
+ /**
28
+ * The parse behind every template and pattern. Code that fails to parse yields a compilation
29
+ * unit with no statements, which every caller goes on to read, so it fails here naming the code.
30
+ */
31
+ private static parseOrThrow;
32
+ /**
33
+ * The modules the template's context binds and its code reads, for the caller to bind in the
34
+ * file being edited. An `import` or `require` states one; anything else — a `declare`, a helper
35
+ * signature — types the template without asking for a binding.
36
+ */
37
+ static getContextBindings(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<ModuleScopeBinding[]>;
29
38
  /**
30
39
  * Gets the parsed and extracted template tree (before value substitution).
31
40
  * This is the cacheable part of template processing.
@@ -34,22 +43,11 @@ export declare class TemplateEngine {
34
43
  * @param parameters The parameters between the string parts
35
44
  * @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
36
45
  * @param dependencies NPM dependencies for type attribution
46
+ * @param expression Whether to parse the code as an expression
47
+ * @param preamble The parameters' declarations, from {@link parameterPreamble}
37
48
  * @returns A Promise resolving to the extracted template AST
38
49
  */
39
- /** The template parsed with its context, which is what gives its code types to attribute against. */
40
- private static parseWithContext;
41
- /**
42
- * The parse behind every template and pattern. Code that fails to parse yields a compilation
43
- * unit with no statements, which every caller goes on to read, so it fails here naming the code.
44
- */
45
- private static parseOrThrow;
46
- /**
47
- * The modules the template's context binds, for the caller to bind in the file being edited.
48
- * An `import` or `require` states one; anything else — a `declare`, a helper signature — types
49
- * the template without asking for a binding.
50
- */
51
- static getContextBindings(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<ContextBinding[]>;
52
- static getTemplateTree(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
50
+ static getTemplateTree(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[], expression?: boolean, preamble?: string[]): Promise<J>;
53
51
  /**
54
52
  * Applies a template from a pre-parsed AST and returns the resulting AST.
55
53
  * This method is used by Template.apply() after getting the cached template tree.
@@ -62,10 +60,10 @@ export declare class TemplateEngine {
62
60
  * @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
63
61
  * @param format Whether to fit the result to where it lands
64
62
  * @param renames Local names for the template's declared bindings, keyed as declared
65
- * @param modules The module each declared binding names, keyed as declared
63
+ * @param patternPrefixes The matched pattern's capture prefixes, given only under `format: false`
66
64
  * @returns A Promise resolving to the generated AST node
67
65
  */
68
- static applyTemplateFromAst(ast: J, parameters: Parameter[], cursor: Cursor, coordinates: JavaCoordinates, values?: Pick<Map<string, J>, 'get'>, wrappersMap?: Pick<Map<string, J.RightPadded<J> | J.RightPadded<J>[]>, 'get'>, format?: boolean, renames?: Record<string, string>, modules?: Record<string, string>): Promise<J | undefined>;
66
+ static applyTemplateFromAst(ast: J, parameters: Parameter[], cursor: Cursor, coordinates: JavaCoordinates, values?: Pick<Map<string, J>, 'get'>, wrappersMap?: Pick<Map<string, J.RightPadded<J> | J.RightPadded<J>[]>, 'get'>, format?: boolean, renames?: Record<string, string>, patternPrefixes?: Pick<Map<string, J.Space>, 'get'>): Promise<J | undefined>;
69
67
  /**
70
68
  * Generates type preamble declarations for captures/parameters with type annotations.
71
69
  *
@@ -74,8 +72,14 @@ export declare class TemplateEngine {
74
72
  */
75
73
  /** The declarations that give a capture's placeholder its type while the pattern is parsed. */
76
74
  static capturePreamble(captures: (Capture | Any | RawCode)[]): string[];
77
- /** The parameter counterpart of {@link capturePreamble}. */
78
- static parameterPreamble(parameters: Parameter[]): string[];
75
+ /**
76
+ * The parameter counterpart of {@link capturePreamble}. A capture without a declared type takes
77
+ * the type of the expression bound to it, as an expression parameter takes its own. A variadic
78
+ * capture binds a list, which has no one type to declare.
79
+ */
80
+ static parameterPreamble(parameters: Parameter[], values?: Pick<Map<string, J | J[]>, 'get'>): string[];
81
+ private static parameterType;
82
+ private static treeType;
79
83
  /**
80
84
  * Builds a template string with parameter placeholders.
81
85
  * RawCode parameters are spliced directly into the template at construction time.
@@ -101,15 +105,20 @@ export declare class TemplateEngine {
101
105
  * @param captures The captures between the string parts (can include RawCode)
102
106
  * @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
103
107
  * @param dependencies NPM dependencies for type attribution
108
+ * @param expression Whether to parse the code as an expression
104
109
  * @returns A Promise resolving to the extracted pattern AST
105
110
  */
106
- static getPatternTree(templateParts: TemplateStringsArray, captures: (Capture | Any | RawCode)[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
111
+ static getPatternTree(templateParts: TemplateStringsArray, captures: (Capture | Any | RawCode)[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[], expression?: boolean): Promise<J>;
107
112
  /**
108
113
  * Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
109
114
  * capture's constraint and variadic options, to each placeholder identifier.
110
115
  */
111
116
  static attachCaptureMarkers(tree: J, captures: (Capture | Any | RawCode)[]): Promise<J>;
112
117
  }
118
+ /** Whether the code opens with `{`, which is a block where a statement goes and an object literal elsewhere. */
119
+ export declare function opensWithBrace(templateParts: TemplateStringsArray): boolean;
120
+ /** Whether code opening with `{` that replaces `tree`, which `cursor` points at, is an object literal. */
121
+ export declare function replacedByObjectLiteral(tree: J, cursor: Cursor): boolean;
113
122
  /**
114
123
  * Helper class for applying a template to an AST.
115
124
  */
@@ -118,7 +127,8 @@ export declare class TemplateApplier {
118
127
  private readonly coordinates;
119
128
  private readonly ast;
120
129
  private readonly shouldFormat;
121
- constructor(cursor: Cursor, coordinates: JavaCoordinates, ast: J, shouldFormat?: boolean);
130
+ private readonly substituted;
131
+ constructor(cursor: Cursor, coordinates: JavaCoordinates, ast: J, shouldFormat?: boolean, substituted?: boolean);
122
132
  /**
123
133
  * Applies the template to the current AST.
124
134
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}