@openrewrite/rewrite 8.91.0 → 8.91.2

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 (153) hide show
  1. package/dist/java/formatting-utils.d.ts +8 -5
  2. package/dist/java/formatting-utils.d.ts.map +1 -1
  3. package/dist/java/formatting-utils.js +14 -10
  4. package/dist/java/formatting-utils.js.map +1 -1
  5. package/dist/java/type.d.ts +2 -0
  6. package/dist/java/type.d.ts.map +1 -1
  7. package/dist/java/type.js +5 -0
  8. package/dist/java/type.js.map +1 -1
  9. package/dist/javascript/add-import.d.ts +96 -43
  10. package/dist/javascript/add-import.d.ts.map +1 -1
  11. package/dist/javascript/add-import.js +668 -236
  12. package/dist/javascript/add-import.js.map +1 -1
  13. package/dist/javascript/amd.d.ts +138 -0
  14. package/dist/javascript/amd.d.ts.map +1 -0
  15. package/dist/javascript/amd.js +768 -0
  16. package/dist/javascript/amd.js.map +1 -0
  17. package/dist/javascript/assertions.d.ts +7 -0
  18. package/dist/javascript/assertions.d.ts.map +1 -1
  19. package/dist/javascript/assertions.js +31 -5
  20. package/dist/javascript/assertions.js.map +1 -1
  21. package/dist/javascript/binding.d.ts +94 -0
  22. package/dist/javascript/binding.d.ts.map +1 -0
  23. package/dist/javascript/binding.js +335 -0
  24. package/dist/javascript/binding.js.map +1 -0
  25. package/dist/javascript/comparator.d.ts +5 -0
  26. package/dist/javascript/comparator.d.ts.map +1 -1
  27. package/dist/javascript/comparator.js +34 -9
  28. package/dist/javascript/comparator.js.map +1 -1
  29. package/dist/javascript/format/format.d.ts.map +1 -1
  30. package/dist/javascript/format/format.js +8 -9
  31. package/dist/javascript/format/format.js.map +1 -1
  32. package/dist/javascript/format/tabs-and-indents-visitor.d.ts +2 -0
  33. package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
  34. package/dist/javascript/format/tabs-and-indents-visitor.js +17 -11
  35. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  36. package/dist/javascript/index.d.ts +8 -1
  37. package/dist/javascript/index.d.ts.map +1 -1
  38. package/dist/javascript/index.js +26 -1
  39. package/dist/javascript/index.js.map +1 -1
  40. package/dist/javascript/node-resolution-result.d.ts +19 -1
  41. package/dist/javascript/node-resolution-result.d.ts.map +1 -1
  42. package/dist/javascript/node-resolution-result.js +37 -2
  43. package/dist/javascript/node-resolution-result.js.map +1 -1
  44. package/dist/javascript/package-exported-types.d.ts.map +1 -1
  45. package/dist/javascript/package-exported-types.js +56 -72
  46. package/dist/javascript/package-exported-types.js.map +1 -1
  47. package/dist/javascript/parser-utils.d.ts.map +1 -1
  48. package/dist/javascript/parser-utils.js +2 -0
  49. package/dist/javascript/parser-utils.js.map +1 -1
  50. package/dist/javascript/parser.d.ts +7 -1
  51. package/dist/javascript/parser.d.ts.map +1 -1
  52. package/dist/javascript/parser.js +17 -4
  53. package/dist/javascript/parser.js.map +1 -1
  54. package/dist/javascript/recipes/change-import.d.ts +2 -4
  55. package/dist/javascript/recipes/change-import.d.ts.map +1 -1
  56. package/dist/javascript/recipes/change-import.js +8 -244
  57. package/dist/javascript/recipes/change-import.js.map +1 -1
  58. package/dist/javascript/remove-import.d.ts +2 -28
  59. package/dist/javascript/remove-import.d.ts.map +1 -1
  60. package/dist/javascript/remove-import.js +19 -57
  61. package/dist/javascript/remove-import.js.map +1 -1
  62. package/dist/javascript/scope.d.ts +49 -0
  63. package/dist/javascript/scope.d.ts.map +1 -0
  64. package/dist/javascript/scope.js +324 -0
  65. package/dist/javascript/scope.js.map +1 -0
  66. package/dist/javascript/style.d.ts.map +1 -1
  67. package/dist/javascript/style.js +3 -10
  68. package/dist/javascript/style.js.map +1 -1
  69. package/dist/javascript/templating/bindings.d.ts +8 -0
  70. package/dist/javascript/templating/bindings.d.ts.map +1 -0
  71. package/dist/javascript/templating/bindings.js +92 -0
  72. package/dist/javascript/templating/bindings.js.map +1 -0
  73. package/dist/javascript/templating/comparator.d.ts +10 -0
  74. package/dist/javascript/templating/comparator.d.ts.map +1 -1
  75. package/dist/javascript/templating/comparator.js +48 -20
  76. package/dist/javascript/templating/comparator.js.map +1 -1
  77. package/dist/javascript/templating/engine.d.ts +34 -10
  78. package/dist/javascript/templating/engine.d.ts.map +1 -1
  79. package/dist/javascript/templating/engine.js +109 -55
  80. package/dist/javascript/templating/engine.js.map +1 -1
  81. package/dist/javascript/templating/index.d.ts +1 -1
  82. package/dist/javascript/templating/index.d.ts.map +1 -1
  83. package/dist/javascript/templating/index.js.map +1 -1
  84. package/dist/javascript/templating/pattern.d.ts.map +1 -1
  85. package/dist/javascript/templating/pattern.js +13 -10
  86. package/dist/javascript/templating/pattern.js.map +1 -1
  87. package/dist/javascript/templating/placeholder-replacement.d.ts +4 -0
  88. package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
  89. package/dist/javascript/templating/placeholder-replacement.js +24 -10
  90. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  91. package/dist/javascript/templating/precedence.d.ts +12 -4
  92. package/dist/javascript/templating/precedence.d.ts.map +1 -1
  93. package/dist/javascript/templating/precedence.js +18 -11
  94. package/dist/javascript/templating/precedence.js.map +1 -1
  95. package/dist/javascript/templating/rewrite.d.ts.map +1 -1
  96. package/dist/javascript/templating/rewrite.js +19 -17
  97. package/dist/javascript/templating/rewrite.js.map +1 -1
  98. package/dist/javascript/templating/template.d.ts +14 -0
  99. package/dist/javascript/templating/template.d.ts.map +1 -1
  100. package/dist/javascript/templating/template.js +63 -3
  101. package/dist/javascript/templating/template.js.map +1 -1
  102. package/dist/javascript/templating/types.d.ts +39 -1
  103. package/dist/javascript/templating/types.d.ts.map +1 -1
  104. package/dist/javascript/templating/utils.d.ts +6 -1
  105. package/dist/javascript/templating/utils.d.ts.map +1 -1
  106. package/dist/javascript/templating/utils.js +20 -2
  107. package/dist/javascript/templating/utils.js.map +1 -1
  108. package/dist/javascript/type-mapping.d.ts +1 -0
  109. package/dist/javascript/type-mapping.d.ts.map +1 -1
  110. package/dist/javascript/type-mapping.js +52 -2
  111. package/dist/javascript/type-mapping.js.map +1 -1
  112. package/dist/rewrite-javascript-version.txt +1 -1
  113. package/dist/style.d.ts +2 -0
  114. package/dist/style.d.ts.map +1 -1
  115. package/dist/style.js +5 -0
  116. package/dist/style.js.map +1 -1
  117. package/dist/test/rewrite-test.d.ts +12 -0
  118. package/dist/test/rewrite-test.d.ts.map +1 -1
  119. package/dist/test/rewrite-test.js +40 -3
  120. package/dist/test/rewrite-test.js.map +1 -1
  121. package/package.json +2 -2
  122. package/src/java/formatting-utils.ts +14 -10
  123. package/src/java/type.ts +5 -0
  124. package/src/javascript/add-import.ts +751 -247
  125. package/src/javascript/amd.ts +915 -0
  126. package/src/javascript/assertions.ts +33 -5
  127. package/src/javascript/binding.ts +449 -0
  128. package/src/javascript/comparator.ts +39 -10
  129. package/src/javascript/format/format.ts +9 -10
  130. package/src/javascript/format/tabs-and-indents-visitor.ts +18 -12
  131. package/src/javascript/index.ts +12 -1
  132. package/src/javascript/node-resolution-result.ts +59 -4
  133. package/src/javascript/package-exported-types.ts +60 -74
  134. package/src/javascript/parser-utils.ts +2 -0
  135. package/src/javascript/parser.ts +23 -3
  136. package/src/javascript/recipes/change-import.ts +10 -263
  137. package/src/javascript/remove-import.ts +20 -56
  138. package/src/javascript/scope.ts +338 -0
  139. package/src/javascript/style.ts +3 -11
  140. package/src/javascript/templating/bindings.ts +99 -0
  141. package/src/javascript/templating/comparator.ts +57 -20
  142. package/src/javascript/templating/engine.ts +148 -68
  143. package/src/javascript/templating/index.ts +1 -0
  144. package/src/javascript/templating/pattern.ts +19 -16
  145. package/src/javascript/templating/placeholder-replacement.ts +32 -11
  146. package/src/javascript/templating/precedence.ts +21 -13
  147. package/src/javascript/templating/rewrite.ts +23 -17
  148. package/src/javascript/templating/template.ts +84 -9
  149. package/src/javascript/templating/types.ts +46 -1
  150. package/src/javascript/templating/utils.ts +21 -2
  151. package/src/javascript/type-mapping.ts +54 -2
  152. package/src/style.ts +5 -0
  153. package/src/test/rewrite-test.ts +61 -3
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/javascript/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/javascript/style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { J } from '../../java';
2
+ /**
3
+ * Renames the identifiers a template uses for its declared bindings to the names the file
4
+ * actually binds. Runs before parameter substitution, so only the template's own code is in
5
+ * scope and a caller's captured code is never rewritten.
6
+ */
7
+ export declare function renameBindings<T extends J>(tree: T, renames: Record<string, string>, modules: Record<string, string>): Promise<T>;
8
+ //# sourceMappingURL=bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/bindings.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,CAAC,EAAO,MAAM,YAAY,CAAC;AAInC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEvI"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renameBindings = renameBindings;
4
+ /*
5
+ * Copyright 2025 the original author or authors.
6
+ * <p>
7
+ * Licensed under the Moderne Source Available License (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ * <p>
11
+ * https://docs.moderne.io/licensing/moderne-source-available-license
12
+ * <p>
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ const java_1 = require("../../java");
20
+ const visitor_1 = require("../visitor");
21
+ /**
22
+ * Renames the identifiers a template uses for its declared bindings to the names the file
23
+ * actually binds. Runs before parameter substitution, so only the template's own code is in
24
+ * scope and a caller's captured code is never rewritten.
25
+ */
26
+ async function renameBindings(tree, renames, modules) {
27
+ return new RenameBindingsVisitor(renames, modules).visit(tree, undefined);
28
+ }
29
+ class RenameBindingsVisitor extends visitor_1.JavaScriptVisitor {
30
+ constructor(renames, modules) {
31
+ super();
32
+ this.renames = renames;
33
+ this.modules = modules;
34
+ }
35
+ async visitIdentifier(identifier, p) {
36
+ const renamed = this.renames[identifier.simpleName];
37
+ if (renamed === undefined || renamed === identifier.simpleName) {
38
+ return identifier;
39
+ }
40
+ // Attribution settles it where the context import resolved. It is absent for a module the
41
+ // parse could not reach, and the identifier's position decides instead.
42
+ const resolved = resolvedModule(identifier);
43
+ const refersToBinding = resolved !== undefined
44
+ ? resolved === this.modules[identifier.simpleName]
45
+ : !namesItsParent(this.cursor, identifier);
46
+ return refersToBinding ? Object.assign(Object.assign({}, identifier), { simpleName: renamed }) : identifier;
47
+ }
48
+ }
49
+ /** Whether the parent is naming this identifier — as a property, a method, a declaration — rather than referencing it. */
50
+ function namesItsParent(cursor, identifier) {
51
+ let c = cursor.parent;
52
+ while (c && isPadding(c.value)) {
53
+ c = c.parent;
54
+ }
55
+ const parent = c === null || c === void 0 ? void 0 : c.value;
56
+ // A call names a member of whatever it selects from. With nothing selected there is no member,
57
+ // and its `name` is a reference to the function being called.
58
+ if ((parent === null || parent === void 0 ? void 0 : parent.kind) === java_1.J.Kind.MethodInvocation && !parent.select) {
59
+ return false;
60
+ }
61
+ const name = parent === null || parent === void 0 ? void 0 : parent.name;
62
+ return name === identifier || (name === null || name === void 0 ? void 0 : name.element) === identifier;
63
+ }
64
+ function isPadding(value) {
65
+ const kind = value === null || value === void 0 ? void 0 : value.kind;
66
+ return kind === java_1.J.Kind.RightPadded || kind === java_1.J.Kind.LeftPadded || kind === java_1.J.Kind.Container;
67
+ }
68
+ /** The module an identifier's attribution traces back to, following the owning-class chain to its root. */
69
+ function resolvedModule(identifier) {
70
+ const fieldType = identifier.fieldType;
71
+ if ((fieldType === null || fieldType === void 0 ? void 0 : fieldType.kind) === java_1.Type.Kind.Variable) {
72
+ const owner = fieldType.owner;
73
+ return owner && java_1.Type.isClass(owner) ? rootName(owner) : undefined;
74
+ }
75
+ const type = identifier.type;
76
+ if (type && java_1.Type.isMethod(type)) {
77
+ const declaring = type.declaringType;
78
+ return declaring ? rootName(declaring) : undefined;
79
+ }
80
+ if (type && java_1.Type.isClass(type)) {
81
+ return rootName(type);
82
+ }
83
+ return undefined;
84
+ }
85
+ function rootName(classType) {
86
+ let current = classType;
87
+ while (current.owningClass && java_1.Type.isClass(current.owningClass)) {
88
+ current = current.owningClass;
89
+ }
90
+ return java_1.Type.FullyQualified.getFullyQualifiedName(current);
91
+ }
92
+ //# sourceMappingURL=bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../../src/javascript/templating/bindings.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,11 @@ export interface MatcherCallbacks {
41
41
  restoreState: (state: MatcherState) => void;
42
42
  debug?: DebugCallbacks;
43
43
  }
44
+ /** A capture found in a pattern, and the target node it binds to. */
45
+ interface CaptureAt {
46
+ marker: CaptureMarker;
47
+ target: J;
48
+ }
44
49
  /**
45
50
  * A comparator for pattern matching that is lenient about optional properties.
46
51
  * Allows patterns without type annotations to match actual code with type annotations.
@@ -55,6 +60,10 @@ export declare class PatternMatchingComparator extends JavaScriptSemanticCompara
55
60
  * @returns The constraint context for evaluating capture constraints
56
61
  */
57
62
  protected buildConstraintContext(cursor: Cursor): CaptureConstraintContext;
63
+ /** The capture this pattern node stands for, paired with the target node it should bind to. */
64
+ protected captureAt(j: Tree, p: J): CaptureAt | undefined;
65
+ /** The marker `attachCaptureMarkers` moved onto a parenthesized capture's `J.RightPadded`, which `unwrap()` skips past. */
66
+ private captureBehindParentheses;
58
67
  visit<R extends J>(j: Tree, p: J, parent?: Cursor): Promise<R | undefined>;
59
68
  protected hasSameKind(j: J, other: J): boolean;
60
69
  /**
@@ -174,4 +183,5 @@ export declare class DebugPatternMatchingComparator extends PatternMatchingCompa
174
183
  protected visitSequenceElement(patternWrapper: J.RightPadded<J>, targetWrapper: J.RightPadded<J>, targetIdx: number): Promise<boolean>;
175
184
  protected matchSequenceOptimized(patternElements: J.RightPadded<J>[], targetElements: J.RightPadded<J>[], patternIdx: number, targetIdx: number, filterEmpty: boolean): Promise<boolean>;
176
185
  }
186
+ export {};
177
187
  //# sourceMappingURL=comparator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/comparator.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,10 @@ class CaptureMapImpl {
41
41
  return this.storage.has(name);
42
42
  }
43
43
  }
44
+ /** Parentheses that `JavaScriptSemanticComparatorVisitor.unwrap()` sees through. */
45
+ function isParenthesized(j) {
46
+ return (j === null || j === void 0 ? void 0 : j.kind) === java_1.J.Kind.Parentheses || (j === null || j === void 0 ? void 0 : j.kind) === java_1.J.Kind.ControlParentheses;
47
+ }
44
48
  /**
45
49
  * A comparator for pattern matching that is lenient about optional properties.
46
50
  * Allows patterns without type annotations to match actual code with type annotations.
@@ -64,31 +68,55 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
64
68
  captures: new CaptureMapImpl(state.storage)
65
69
  };
66
70
  }
71
+ /** The capture this pattern node stands for, paired with the target node it should bind to. */
72
+ captureAt(j, p) {
73
+ const marker = utils_1.PlaceholderUtils.getCaptureMarker(j);
74
+ return marker ? { marker, target: p } : this.captureBehindParentheses(j, p);
75
+ }
76
+ /** The marker `attachCaptureMarkers` moved onto a parenthesized capture's `J.RightPadded`, which `unwrap()` skips past. */
77
+ captureBehindParentheses(j, p) {
78
+ let pattern = j;
79
+ let target = p;
80
+ while (isParenthesized(pattern)) {
81
+ const padded = pattern.tree;
82
+ if (!padded) {
83
+ return undefined;
84
+ }
85
+ target = isParenthesized(target) ? target.tree.element : target;
86
+ const marker = utils_1.PlaceholderUtils.getCaptureMarker(padded);
87
+ if (marker) {
88
+ return { marker, target: target };
89
+ }
90
+ pattern = padded.element;
91
+ }
92
+ return undefined;
93
+ }
67
94
  async visit(j, p, parent) {
68
95
  // Check if the pattern node is a capture - this handles unwrapped captures
69
96
  // (Wrapped captures in J.RightPadded are handled by visitRightPadded override)
70
97
  // Note: targetCursor will be pushed by parent's visit() method after this check
71
- const captureMarker = utils_1.PlaceholderUtils.getCaptureMarker(j);
72
- if (captureMarker) {
98
+ const capture = this.captureAt(j, p);
99
+ if (capture) {
100
+ const { marker: captureMarker, target } = capture;
73
101
  // Push targetCursor to position it at the captured node for constraint evaluation
74
102
  // Only create cursor if targetCursor was initialized (meaning user provided one)
75
103
  const savedTargetCursor = this.targetCursor;
76
104
  const cursorAtCapturedNode = this.targetCursor !== undefined
77
- ? new __1.Cursor(p, this.targetCursor)
78
- : new __1.Cursor(p);
105
+ ? new __1.Cursor(target, this.targetCursor)
106
+ : new __1.Cursor(target);
79
107
  this.targetCursor = cursorAtCapturedNode;
80
108
  try {
81
109
  // Evaluate constraint with context (cursor + previous captures)
82
110
  // Skip constraint for variadic captures - they're evaluated in matchSequence with the full array
83
111
  if (captureMarker.constraint && !captureMarker.variadicOptions) {
84
112
  const context = this.buildConstraintContext(cursorAtCapturedNode);
85
- if (!captureMarker.constraint(p, context)) {
113
+ if (!captureMarker.constraint(target, context)) {
86
114
  const captureName = captureMarker.captureName || 'unnamed';
87
- const targetKind = p.kind || 'unknown';
115
+ const targetKind = target.kind || 'unknown';
88
116
  return this.constraintFailed(captureName, targetKind);
89
117
  }
90
118
  }
91
- const success = this.matcher.handleCapture(captureMarker, p, undefined);
119
+ const success = this.matcher.handleCapture(captureMarker, target, undefined);
92
120
  if (!success) {
93
121
  const captureName = captureMarker.captureName || 'unnamed';
94
122
  return this.captureConflict(captureName);
@@ -268,12 +296,11 @@ class PatternMatchingComparator extends comparator_1.JavaScriptSemanticComparato
268
296
  if (!this.match)
269
297
  return methodInvocation;
270
298
  }
271
- // Compare typeParameters
272
- if ((methodInvocation.typeParameters === undefined) !== (otherMethodInvocation.typeParameters === undefined)) {
273
- return this.structuralMismatch('typeParameters');
274
- }
275
- // Visit typeParameters if present
276
- if (methodInvocation.typeParameters && otherMethodInvocation.typeParameters) {
299
+ // A pattern that spells out no type arguments says nothing about them, as with parentheses
300
+ if (methodInvocation.typeParameters) {
301
+ if (!otherMethodInvocation.typeParameters) {
302
+ return this.structuralMismatch('typeParameters');
303
+ }
277
304
  if (methodInvocation.typeParameters.elements.length !== otherMethodInvocation.typeParameters.elements.length) {
278
305
  return this.arrayLengthMismatch('typeParameters.elements');
279
306
  }
@@ -741,25 +768,26 @@ class DebugPatternMatchingComparator extends PatternMatchingComparator {
741
768
  }
742
769
  }
743
770
  async visit(j, p, parent) {
744
- const captureMarker = utils_1.PlaceholderUtils.getCaptureMarker(j);
745
- if (captureMarker) {
771
+ const capture = this.captureAt(j, p);
772
+ if (capture) {
773
+ const { marker: captureMarker, target } = capture;
746
774
  const savedTargetCursor = this.targetCursor;
747
775
  const cursorAtCapturedNode = this.targetCursor !== undefined
748
- ? new __1.Cursor(p, this.targetCursor)
749
- : new __1.Cursor(p);
776
+ ? new __1.Cursor(target, this.targetCursor)
777
+ : new __1.Cursor(target);
750
778
  this.targetCursor = cursorAtCapturedNode;
751
779
  try {
752
780
  if (captureMarker.constraint && !captureMarker.variadicOptions) {
753
781
  this.debug.log('debug', 'constraint', `Evaluating constraint for capture: ${captureMarker.captureName}`);
754
- const constraintResult = captureMarker.constraint(p, this.buildConstraintContext(cursorAtCapturedNode));
782
+ const constraintResult = captureMarker.constraint(target, this.buildConstraintContext(cursorAtCapturedNode));
755
783
  if (!constraintResult) {
756
784
  this.debug.log('info', 'constraint', `Constraint failed for capture: ${captureMarker.captureName}`);
757
- this.debug.setExplanation('constraint-failed', `Capture ${captureMarker.captureName} with valid constraint`, `Constraint failed for ${p.kind}`, `Constraint evaluation returned false`);
785
+ this.debug.setExplanation('constraint-failed', `Capture ${captureMarker.captureName} with valid constraint`, `Constraint failed for ${target.kind}`, `Constraint evaluation returned false`);
758
786
  return this.abort(j);
759
787
  }
760
788
  this.debug.log('debug', 'constraint', `Constraint passed for capture: ${captureMarker.captureName}`);
761
789
  }
762
- const success = this.matcher.handleCapture(captureMarker, p, undefined);
790
+ const success = this.matcher.handleCapture(captureMarker, target, undefined);
763
791
  if (!success) {
764
792
  return this.abort(j);
765
793
  }
@@ -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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"}