@openrewrite/rewrite 8.92.16 → 8.92.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/java/formatting-utils.d.ts +2 -1
- package/dist/java/formatting-utils.d.ts.map +1 -1
- package/dist/java/formatting-utils.js +4 -3
- package/dist/java/formatting-utils.js.map +1 -1
- package/dist/java/rpc.d.ts.map +1 -1
- package/dist/java/rpc.js +2 -0
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/tree.d.ts +8 -0
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +11 -1
- package/dist/java/tree.js.map +1 -1
- package/dist/java/type.d.ts +7 -1
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +16 -1
- package/dist/java/type.js.map +1 -1
- package/dist/javascript/add-import.d.ts +27 -21
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +303 -143
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts.map +1 -1
- package/dist/javascript/amd.js +25 -10
- package/dist/javascript/amd.js.map +1 -1
- package/dist/javascript/autodetect.js +36 -45
- package/dist/javascript/autodetect.js.map +1 -1
- package/dist/javascript/binding.d.ts +6 -4
- package/dist/javascript/binding.d.ts.map +1 -1
- package/dist/javascript/binding.js +54 -18
- package/dist/javascript/binding.js.map +1 -1
- package/dist/javascript/comparator.d.ts +22 -5
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +120 -38
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/format/format.d.ts +2 -0
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +11 -1
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +31 -4
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/index.d.ts +4 -2
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +10 -1
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/markers.d.ts +12 -0
- package/dist/javascript/markers.d.ts.map +1 -1
- package/dist/javascript/markers.js +81 -2
- package/dist/javascript/markers.js.map +1 -1
- package/dist/javascript/method-matcher.d.ts +13 -2
- package/dist/javascript/method-matcher.d.ts.map +1 -1
- package/dist/javascript/method-matcher.js +32 -19
- package/dist/javascript/method-matcher.js.map +1 -1
- package/dist/javascript/node-resolution-result.js +3 -2
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/package-name.d.ts +6 -0
- package/dist/javascript/package-name.d.ts.map +1 -0
- package/dist/javascript/package-name.js +47 -0
- package/dist/javascript/package-name.js.map +1 -0
- package/dist/javascript/parser.d.ts +9 -0
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +185 -88
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/preconditions.d.ts +4 -1
- package/dist/javascript/preconditions.d.ts.map +1 -1
- package/dist/javascript/preconditions.js +7 -4
- package/dist/javascript/preconditions.js.map +1 -1
- package/dist/javascript/print.d.ts +10 -1
- package/dist/javascript/print.d.ts.map +1 -1
- package/dist/javascript/print.js +120 -77
- package/dist/javascript/print.js.map +1 -1
- package/dist/javascript/recipes/change-method-target-to-import.d.ts +29 -0
- package/dist/javascript/recipes/change-method-target-to-import.d.ts.map +1 -0
- package/dist/javascript/recipes/change-method-target-to-import.js +164 -0
- package/dist/javascript/recipes/change-method-target-to-import.js.map +1 -0
- package/dist/javascript/recipes/index.d.ts +1 -0
- package/dist/javascript/recipes/index.d.ts.map +1 -1
- package/dist/javascript/recipes/index.js +1 -0
- package/dist/javascript/recipes/index.js.map +1 -1
- package/dist/javascript/scope.d.ts +60 -16
- package/dist/javascript/scope.d.ts.map +1 -1
- package/dist/javascript/scope.js +596 -131
- package/dist/javascript/scope.js.map +1 -1
- package/dist/javascript/search/uses-method.d.ts +1 -1
- package/dist/javascript/search/uses-method.d.ts.map +1 -1
- package/dist/javascript/search/uses-method.js +2 -2
- package/dist/javascript/search/uses-method.js.map +1 -1
- package/dist/javascript/search/uses-type.d.ts +14 -1
- package/dist/javascript/search/uses-type.d.ts.map +1 -1
- package/dist/javascript/search/uses-type.js +24 -9
- package/dist/javascript/search/uses-type.js.map +1 -1
- package/dist/javascript/templating/bindings.d.ts +1 -1
- package/dist/javascript/templating/bindings.d.ts.map +1 -1
- package/dist/javascript/templating/bindings.js +10 -50
- package/dist/javascript/templating/bindings.js.map +1 -1
- package/dist/javascript/templating/comparator.d.ts +8 -11
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +12 -110
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +34 -24
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +208 -115
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts +11 -5
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +86 -20
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +34 -3
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +126 -60
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/precedence.d.ts +3 -1
- package/dist/javascript/templating/precedence.d.ts.map +1 -1
- package/dist/javascript/templating/precedence.js +28 -8
- package/dist/javascript/templating/precedence.js.map +1 -1
- package/dist/javascript/templating/template.d.ts +7 -6
- package/dist/javascript/templating/template.d.ts.map +1 -1
- package/dist/javascript/templating/template.js +31 -28
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +6 -3
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +10 -1
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js +22 -3
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/javascript/tree-debug.d.ts +2 -0
- package/dist/javascript/tree-debug.d.ts.map +1 -1
- package/dist/javascript/tree-debug.js +6 -0
- package/dist/javascript/tree-debug.js.map +1 -1
- package/dist/javascript/tsconfig.d.ts.map +1 -1
- package/dist/javascript/tsconfig.js +7 -17
- package/dist/javascript/tsconfig.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +35 -16
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +271 -252
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/javascript/type-report-cli.d.ts +7 -0
- package/dist/javascript/type-report-cli.d.ts.map +1 -0
- package/dist/javascript/type-report-cli.js +129 -0
- package/dist/javascript/type-report-cli.js.map +1 -0
- package/dist/javascript/type-report.d.ts +61 -0
- package/dist/javascript/type-report.d.ts.map +1 -0
- package/dist/javascript/type-report.js +488 -0
- package/dist/javascript/type-report.js.map +1 -0
- package/dist/markers.d.ts +4 -0
- package/dist/markers.d.ts.map +1 -1
- package/dist/markers.js +8 -0
- package/dist/markers.js.map +1 -1
- package/dist/print.d.ts +6 -1
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +21 -7
- package/dist/print.js.map +1 -1
- package/dist/recipe.d.ts +5 -0
- package/dist/recipe.d.ts.map +1 -1
- package/dist/recipe.js +5 -0
- package/dist/recipe.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/rpc/java-rpc-client.d.ts +2 -0
- package/dist/rpc/java-rpc-client.d.ts.map +1 -1
- package/dist/rpc/java-rpc-client.js +1 -0
- package/dist/rpc/java-rpc-client.js.map +1 -1
- package/dist/rpc/queue.d.ts +24 -0
- package/dist/rpc/queue.d.ts.map +1 -1
- package/dist/rpc/queue.js +71 -11
- package/dist/rpc/queue.js.map +1 -1
- package/dist/rpc/request/get-object.d.ts +4 -0
- package/dist/rpc/request/get-object.d.ts.map +1 -1
- package/dist/rpc/request/get-object.js +23 -1
- package/dist/rpc/request/get-object.js.map +1 -1
- package/dist/rpc/request/parse.d.ts.map +1 -1
- package/dist/rpc/request/parse.js +3 -1
- package/dist/rpc/request/parse.js.map +1 -1
- package/dist/rpc/request/prepare-recipe.d.ts +3 -1
- package/dist/rpc/request/prepare-recipe.d.ts.map +1 -1
- package/dist/rpc/request/prepare-recipe.js +13 -6
- package/dist/rpc/request/prepare-recipe.js.map +1 -1
- package/dist/rpc/request/print.d.ts +8 -2
- package/dist/rpc/request/print.d.ts.map +1 -1
- package/dist/rpc/request/print.js +12 -9
- package/dist/rpc/request/print.js.map +1 -1
- package/dist/rpc/rewrite-rpc.d.ts +3 -2
- package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
- package/dist/rpc/rewrite-rpc.js +9 -3
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/dist/rpc/server.d.ts.map +1 -1
- package/dist/rpc/server.js +19 -5
- package/dist/rpc/server.js.map +1 -1
- package/dist/search/is-source-file.d.ts +1 -0
- package/dist/search/is-source-file.d.ts.map +1 -1
- package/dist/search/is-source-file.js +7 -2
- package/dist/search/is-source-file.js.map +1 -1
- package/dist/test/java-rpc.d.ts.map +1 -1
- package/dist/test/java-rpc.js +3 -0
- package/dist/test/java-rpc.js.map +1 -1
- package/dist/test/rewrite-test.d.ts +5 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +14 -3
- package/dist/test/rewrite-test.js.map +1 -1
- package/package.json +4 -3
- package/src/index.ts +3 -1
- package/src/java/formatting-utils.ts +5 -4
- package/src/java/rpc.ts +2 -0
- package/src/java/tree.ts +15 -0
- package/src/java/type.ts +19 -2
- package/src/javascript/add-import.ts +338 -152
- package/src/javascript/amd.ts +28 -12
- package/src/javascript/autodetect.ts +32 -41
- package/src/javascript/binding.ts +64 -22
- package/src/javascript/comparator.ts +129 -43
- package/src/javascript/format/format.ts +9 -0
- package/src/javascript/format/tabs-and-indents-visitor.ts +30 -3
- package/src/javascript/index.ts +6 -3
- package/src/javascript/markers.ts +77 -5
- package/src/javascript/method-matcher.ts +34 -22
- package/src/javascript/node-resolution-result.ts +3 -2
- package/src/javascript/package-name.ts +45 -0
- package/src/javascript/parser.ts +200 -91
- package/src/javascript/preconditions.ts +7 -4
- package/src/javascript/print.ts +123 -76
- package/src/javascript/recipes/change-method-target-to-import.ts +178 -0
- package/src/javascript/recipes/index.ts +1 -0
- package/src/javascript/scope.ts +705 -169
- package/src/javascript/search/uses-method.ts +2 -2
- package/src/javascript/search/uses-type.ts +30 -9
- package/src/javascript/templating/bindings.ts +13 -38
- package/src/javascript/templating/comparator.ts +16 -127
- package/src/javascript/templating/engine.ts +236 -129
- package/src/javascript/templating/pattern.ts +107 -28
- package/src/javascript/templating/placeholder-replacement.ts +154 -62
- package/src/javascript/templating/precedence.ts +33 -11
- package/src/javascript/templating/template.ts +35 -30
- package/src/javascript/templating/types.ts +6 -3
- package/src/javascript/templating/utils.ts +24 -2
- package/src/javascript/tree-debug.ts +9 -0
- package/src/javascript/tsconfig.ts +7 -17
- package/src/javascript/type-mapping.ts +277 -255
- package/src/javascript/type-report-cli.ts +96 -0
- package/src/javascript/type-report.ts +575 -0
- package/src/markers.ts +8 -0
- package/src/print.ts +23 -8
- package/src/recipe.ts +6 -0
- package/src/rpc/java-rpc-client.ts +3 -0
- package/src/rpc/queue.ts +80 -7
- package/src/rpc/request/get-object.ts +24 -0
- package/src/rpc/request/parse.ts +4 -1
- package/src/rpc/request/prepare-recipe.ts +16 -6
- package/src/rpc/request/print.ts +12 -8
- package/src/rpc/rewrite-rpc.ts +16 -5
- package/src/rpc/server.ts +18 -6
- package/src/search/is-source-file.ts +8 -3
- package/src/test/java-rpc.ts +3 -0
- package/src/test/rewrite-test.ts +14 -3
|
@@ -2,7 +2,7 @@ import { Cursor } from '../..';
|
|
|
2
2
|
import { J } from '../../java';
|
|
3
3
|
import { Any, Capture, DebugOptions, MatchAttemptResult, MatchOptions, MatchResult as IMatchResult, PatternOptions } from './types';
|
|
4
4
|
import { RawCode } from './capture';
|
|
5
|
-
import { CaptureStorageValue, WRAPPERS_MAP_SYMBOL } from './utils';
|
|
5
|
+
import { CaptureStorageValue, PATTERN_PREFIXES_SYMBOL, WRAPPERS_MAP_SYMBOL } from './utils';
|
|
6
6
|
/**
|
|
7
7
|
* Builder for creating patterns programmatically.
|
|
8
8
|
* Use when pattern structure is not known at compile time.
|
|
@@ -58,7 +58,8 @@ export declare class Pattern {
|
|
|
58
58
|
readonly templateParts: TemplateStringsArray;
|
|
59
59
|
readonly captures: (Capture | Any<any> | RawCode)[];
|
|
60
60
|
private _options;
|
|
61
|
-
|
|
61
|
+
/** The pattern tree, keyed by whether its code was parsed as an expression. */
|
|
62
|
+
private _cachedAstPatterns;
|
|
62
63
|
private static nextPatternId;
|
|
63
64
|
private readonly patternId;
|
|
64
65
|
private readonly unnamedCaptureMapping;
|
|
@@ -104,15 +105,16 @@ export declare class Pattern {
|
|
|
104
105
|
*/
|
|
105
106
|
configure(options: PatternOptions): Pattern;
|
|
106
107
|
/**
|
|
107
|
-
* Gets the AST pattern for this pattern, using
|
|
108
|
+
* Gets the AST pattern for this pattern, using three-level caching:
|
|
108
109
|
* 1. Instance-level cache (fastest - this pattern instance)
|
|
109
110
|
* 2. Global LRU cache (fast - shared across pattern instances with same code)
|
|
110
111
|
* 3. Compute via TemplateProcessor (slow - parse and process)
|
|
111
112
|
*
|
|
113
|
+
* @param expression Whether to parse the code as an expression, with statements as the fallback
|
|
112
114
|
* @returns The cached or newly computed pattern AST
|
|
113
115
|
* @internal
|
|
114
116
|
*/
|
|
115
|
-
getAstPattern(): Promise<J>;
|
|
117
|
+
getAstPattern(expression?: boolean): Promise<J>;
|
|
116
118
|
/**
|
|
117
119
|
* Creates a matcher for this pattern against a specific AST node.
|
|
118
120
|
*
|
|
@@ -215,7 +217,9 @@ export declare class Pattern {
|
|
|
215
217
|
*/
|
|
216
218
|
export declare class MatchResult implements IMatchResult {
|
|
217
219
|
private readonly storage;
|
|
218
|
-
|
|
220
|
+
private readonly computePatternPrefixes;
|
|
221
|
+
constructor(storage?: Map<string, CaptureStorageValue>, computePatternPrefixes?: () => Map<string, J.Space>);
|
|
222
|
+
private patternPrefixes?;
|
|
219
223
|
get<T>(capture: Capture<T>): T | undefined;
|
|
220
224
|
get(capture: string): any;
|
|
221
225
|
/**
|
|
@@ -233,6 +237,8 @@ export declare class MatchResult implements IMatchResult {
|
|
|
233
237
|
* @returns The semantic element(s)
|
|
234
238
|
*/
|
|
235
239
|
private extractElements;
|
|
240
|
+
/** @internal */
|
|
241
|
+
[PATTERN_PREFIXES_SYMBOL](): Map<string, J.Space>;
|
|
236
242
|
/**
|
|
237
243
|
* Internal method to get wrappers (used by template expansion).
|
|
238
244
|
* Returns both scalar and variadic wrappers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MatchResult = exports.Pattern = exports.PatternBuilder = void 0;
|
|
4
4
|
exports.pattern = pattern;
|
|
5
|
+
const java_1 = require("../../java");
|
|
5
6
|
const capture_1 = require("./capture");
|
|
6
7
|
const comparator_1 = require("./comparator");
|
|
7
8
|
const utils_1 = require("./utils");
|
|
9
|
+
const scope_1 = require("../scope");
|
|
8
10
|
const engine_1 = require("./engine");
|
|
9
11
|
const print_1 = require("../../print");
|
|
10
12
|
const index_1 = require("../index");
|
|
13
|
+
const comparator_2 = require("../comparator");
|
|
11
14
|
/**
|
|
12
15
|
* Builder for creating patterns programmatically.
|
|
13
16
|
* Use when pattern structure is not known at compile time.
|
|
@@ -135,6 +138,8 @@ class Pattern {
|
|
|
135
138
|
this.templateParts = templateParts;
|
|
136
139
|
this.captures = captures;
|
|
137
140
|
this._options = {};
|
|
141
|
+
/** The pattern tree, keyed by whether its code was parsed as an expression. */
|
|
142
|
+
this._cachedAstPatterns = new Map();
|
|
138
143
|
this.unnamedCaptureMapping = new Map();
|
|
139
144
|
this.patternId = Pattern.nextPatternId++;
|
|
140
145
|
// Build mapping for unnamed captures (unnamed_N -> _X)
|
|
@@ -165,22 +170,24 @@ class Pattern {
|
|
|
165
170
|
configure(options) {
|
|
166
171
|
this._options = Object.assign(Object.assign({}, this._options), options);
|
|
167
172
|
// Invalidate cache when configuration changes
|
|
168
|
-
this.
|
|
173
|
+
this._cachedAstPatterns.clear();
|
|
169
174
|
return this;
|
|
170
175
|
}
|
|
171
176
|
/**
|
|
172
|
-
* Gets the AST pattern for this pattern, using
|
|
177
|
+
* Gets the AST pattern for this pattern, using three-level caching:
|
|
173
178
|
* 1. Instance-level cache (fastest - this pattern instance)
|
|
174
179
|
* 2. Global LRU cache (fast - shared across pattern instances with same code)
|
|
175
180
|
* 3. Compute via TemplateProcessor (slow - parse and process)
|
|
176
181
|
*
|
|
182
|
+
* @param expression Whether to parse the code as an expression, with statements as the fallback
|
|
177
183
|
* @returns The cached or newly computed pattern AST
|
|
178
184
|
* @internal
|
|
179
185
|
*/
|
|
180
|
-
async getAstPattern() {
|
|
186
|
+
async getAstPattern(expression = false) {
|
|
181
187
|
// Level 1: Instance cache (fastest path)
|
|
182
|
-
|
|
183
|
-
|
|
188
|
+
const instanceCached = this._cachedAstPatterns.get(expression);
|
|
189
|
+
if (instanceCached) {
|
|
190
|
+
return instanceCached;
|
|
184
191
|
}
|
|
185
192
|
// Generate cache key for global lookup
|
|
186
193
|
// Include raw code values in the key since they affect the generated AST
|
|
@@ -190,7 +197,7 @@ class Pattern {
|
|
|
190
197
|
return `raw:${c.code}`;
|
|
191
198
|
}
|
|
192
199
|
return c.getName();
|
|
193
|
-
}).join(',');
|
|
200
|
+
}).join(',') + (expression ? '::expression' : '');
|
|
194
201
|
const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, capturesKey,
|
|
195
202
|
// A capture's type reaches the parse as a declaration, so it shapes the tree the same
|
|
196
203
|
// way an explicit context statement does and belongs in the key alongside one.
|
|
@@ -199,13 +206,24 @@ class Pattern {
|
|
|
199
206
|
let tree = utils_1.globalAstCache.get(cacheKey);
|
|
200
207
|
if (!tree) {
|
|
201
208
|
// Level 3: Compute via TemplateEngine (slow path)
|
|
202
|
-
|
|
209
|
+
try {
|
|
210
|
+
tree = await engine_1.TemplateEngine.getPatternTree(this.templateParts, this.captures, contextStatements, this._options.dependencies || {}, this._options.types, expression);
|
|
211
|
+
}
|
|
212
|
+
catch (e) {
|
|
213
|
+
// A block matches only a block, which the statement parse is for
|
|
214
|
+
if (!expression) {
|
|
215
|
+
throw e;
|
|
216
|
+
}
|
|
217
|
+
const statementPattern = await this.getAstPattern(false);
|
|
218
|
+
this._cachedAstPatterns.set(expression, statementPattern);
|
|
219
|
+
return statementPattern;
|
|
220
|
+
}
|
|
203
221
|
utils_1.globalAstCache.set(cacheKey, tree);
|
|
204
222
|
}
|
|
205
223
|
// The key names captures but says nothing about their constraints, so two patterns of the
|
|
206
224
|
// same shape share an entry; markers are attached per instance to keep them apart.
|
|
207
225
|
const result = await engine_1.TemplateEngine.attachCaptureMarkers(tree, this.captures);
|
|
208
|
-
this.
|
|
226
|
+
this._cachedAstPatterns.set(expression, result);
|
|
209
227
|
return result;
|
|
210
228
|
}
|
|
211
229
|
/**
|
|
@@ -253,7 +271,7 @@ class Pattern {
|
|
|
253
271
|
}
|
|
254
272
|
// Create MatchResult with unified storage
|
|
255
273
|
const storage = matcher.storage;
|
|
256
|
-
return new MatchResult(new Map(storage));
|
|
274
|
+
return new MatchResult(new Map(storage), () => matcher.patternPrefixes());
|
|
257
275
|
}
|
|
258
276
|
/**
|
|
259
277
|
* Formats and logs the match result to stderr.
|
|
@@ -471,7 +489,7 @@ class Pattern {
|
|
|
471
489
|
if (success) {
|
|
472
490
|
// Match succeeded - return MatchResult with debug info
|
|
473
491
|
const storage = matcher.storage;
|
|
474
|
-
const matchResult = new MatchResult(new Map(storage));
|
|
492
|
+
const matchResult = new MatchResult(new Map(storage), () => matcher.patternPrefixes());
|
|
475
493
|
return {
|
|
476
494
|
matched: true,
|
|
477
495
|
result: matchResult,
|
|
@@ -516,8 +534,9 @@ Pattern.nextPatternId = 1;
|
|
|
516
534
|
* }
|
|
517
535
|
*/
|
|
518
536
|
class MatchResult {
|
|
519
|
-
constructor(storage = new Map()) {
|
|
537
|
+
constructor(storage = new Map(), computePatternPrefixes = () => new Map()) {
|
|
520
538
|
this.storage = storage;
|
|
539
|
+
this.computePatternPrefixes = computePatternPrefixes;
|
|
521
540
|
}
|
|
522
541
|
// Implementation
|
|
523
542
|
get(capture) {
|
|
@@ -563,6 +582,11 @@ class MatchResult {
|
|
|
563
582
|
// Scalar element
|
|
564
583
|
return value;
|
|
565
584
|
}
|
|
585
|
+
/** @internal */
|
|
586
|
+
[utils_1.PATTERN_PREFIXES_SYMBOL]() {
|
|
587
|
+
var _a;
|
|
588
|
+
return (_a = this.patternPrefixes) !== null && _a !== void 0 ? _a : (this.patternPrefixes = this.computePatternPrefixes());
|
|
589
|
+
}
|
|
566
590
|
/**
|
|
567
591
|
* Internal method to get wrappers (used by template expansion).
|
|
568
592
|
* Returns both scalar and variadic wrappers.
|
|
@@ -597,6 +621,7 @@ class Matcher {
|
|
|
597
621
|
* @param debugOptions Optional debug options for instrumentation
|
|
598
622
|
*/
|
|
599
623
|
constructor(pattern, ast, cursor, debugOptions) {
|
|
624
|
+
var _a;
|
|
600
625
|
this.pattern = pattern;
|
|
601
626
|
this.ast = ast;
|
|
602
627
|
// Unified storage: holds J for scalar captures, J.RightPadded<J>[] or J[] for variadic captures
|
|
@@ -605,6 +630,8 @@ class Matcher {
|
|
|
605
630
|
this.currentPath = [];
|
|
606
631
|
this.cursor = cursor;
|
|
607
632
|
this.debugOptions = debugOptions !== null && debugOptions !== void 0 ? debugOptions : {};
|
|
633
|
+
this.lenientTypeMatching = (_a = pattern.options.lenientTypeMatching) !== null && _a !== void 0 ? _a : true;
|
|
634
|
+
this.sameCodeComparator = new comparator_2.JavaScriptSemanticComparatorVisitor(this.lenientTypeMatching);
|
|
608
635
|
}
|
|
609
636
|
/**
|
|
610
637
|
* Checks if the pattern matches the AST node.
|
|
@@ -613,10 +640,29 @@ class Matcher {
|
|
|
613
640
|
*/
|
|
614
641
|
async matches() {
|
|
615
642
|
if (!this.patternAst) {
|
|
616
|
-
this.patternAst = await this.pattern.getAstPattern();
|
|
643
|
+
this.patternAst = await this.pattern.getAstPattern((0, engine_1.opensWithBrace)(this.pattern.templateParts) && this.ast.kind !== java_1.J.Kind.Block);
|
|
617
644
|
}
|
|
618
645
|
return this.matchNode(this.patternAst, this.ast);
|
|
619
646
|
}
|
|
647
|
+
/**
|
|
648
|
+
* The prefix the pattern writes before each capture, by capture name. A capture of the whole
|
|
649
|
+
* match has none, since the prefix of what it holds lies outside the match.
|
|
650
|
+
*/
|
|
651
|
+
patternPrefixes() {
|
|
652
|
+
const prefixes = new Map();
|
|
653
|
+
(0, scope_1.walk)(this.patternAst, node => {
|
|
654
|
+
const capture = (0, java_1.isIdentifier)(node) ? utils_1.PlaceholderUtils.parseCapture(node.simpleName) : null;
|
|
655
|
+
if (capture && !prefixes.has(capture.name) && !this.capturesWholeMatch(capture.name)) {
|
|
656
|
+
prefixes.set(capture.name, node.prefix);
|
|
657
|
+
}
|
|
658
|
+
return true;
|
|
659
|
+
});
|
|
660
|
+
return prefixes;
|
|
661
|
+
}
|
|
662
|
+
capturesWholeMatch(name) {
|
|
663
|
+
const bound = this.storage.get(name);
|
|
664
|
+
return bound !== undefined && !Array.isArray(bound) && this.extractElements(bound) === this.ast;
|
|
665
|
+
}
|
|
620
666
|
/**
|
|
621
667
|
* Gets all captured nodes (projected view: extracts elements from wrappers).
|
|
622
668
|
*
|
|
@@ -725,13 +771,12 @@ class Matcher {
|
|
|
725
771
|
* @returns true if the pattern matches the target, false otherwise
|
|
726
772
|
*/
|
|
727
773
|
async matchNode(pattern, target) {
|
|
728
|
-
var _a, _b
|
|
774
|
+
var _a, _b;
|
|
729
775
|
// Always delegate to the comparator visitor, which handles:
|
|
730
776
|
// - Capture detection and constraint evaluation
|
|
731
777
|
// - Kind checking
|
|
732
778
|
// - Deep structural comparison
|
|
733
779
|
// This centralizes all matching logic in one place
|
|
734
|
-
const lenientTypeMatching = (_a = this.pattern.options.lenientTypeMatching) !== null && _a !== void 0 ? _a : true;
|
|
735
780
|
// Factory pattern: instantiate debug or production comparator
|
|
736
781
|
// Zero cost in production - DebugPatternMatchingComparator is never instantiated
|
|
737
782
|
const matcherCallbacks = {
|
|
@@ -751,15 +796,15 @@ class Matcher {
|
|
|
751
796
|
} : undefined
|
|
752
797
|
};
|
|
753
798
|
const comparator = this.debugOptions.enabled
|
|
754
|
-
? new comparator_1.DebugPatternMatchingComparator(matcherCallbacks, lenientTypeMatching)
|
|
755
|
-
: new comparator_1.PatternMatchingComparator(matcherCallbacks, lenientTypeMatching);
|
|
799
|
+
? new comparator_1.DebugPatternMatchingComparator(matcherCallbacks, this.lenientTypeMatching)
|
|
800
|
+
: new comparator_1.PatternMatchingComparator(matcherCallbacks, this.lenientTypeMatching);
|
|
756
801
|
// Pass cursors to allow constraints to navigate to root
|
|
757
802
|
// Pattern cursor is undefined (pattern is the root), target cursor is provided by user
|
|
758
803
|
const result = await comparator.compare(pattern, target, undefined, this.cursor);
|
|
759
804
|
// If match failed and no explanation was set, provide a generic one
|
|
760
805
|
if (!result && this.debugOptions.enabled && !this.explanation) {
|
|
761
|
-
const patternKind = ((
|
|
762
|
-
const targetKind = ((
|
|
806
|
+
const patternKind = ((_a = pattern.kind) === null || _a === void 0 ? void 0 : _a.split('.').pop()) || 'unknown';
|
|
807
|
+
const targetKind = ((_b = target.kind) === null || _b === void 0 ? void 0 : _b.split('.').pop()) || 'unknown';
|
|
763
808
|
this.setExplanation('structural-mismatch', `Pattern node of type ${patternKind}`, `Target node of type ${targetKind}`, 'Nodes did not match structurally');
|
|
764
809
|
}
|
|
765
810
|
return result;
|
|
@@ -810,7 +855,7 @@ class Matcher {
|
|
|
810
855
|
* @param wrapper Optional wrapper containing the target (for preserving markers)
|
|
811
856
|
* @returns true if the capture is successful, false otherwise
|
|
812
857
|
*/
|
|
813
|
-
handleCapture(capture, target, wrapper) {
|
|
858
|
+
async handleCapture(capture, target, wrapper) {
|
|
814
859
|
var _a;
|
|
815
860
|
const captureName = capture.captureName;
|
|
816
861
|
if (!captureName) {
|
|
@@ -824,11 +869,28 @@ class Matcher {
|
|
|
824
869
|
// Only store the binding if this is a capturing placeholder
|
|
825
870
|
const capturing = (_a = captureObj === null || captureObj === void 0 ? void 0 : captureObj[capture_1.CAPTURE_CAPTURING_SYMBOL]) !== null && _a !== void 0 ? _a : true;
|
|
826
871
|
if (capturing) {
|
|
872
|
+
const bound = this.storage.get(captureName);
|
|
873
|
+
if (bound !== undefined) {
|
|
874
|
+
return this.bindsSameCode(bound, [target]);
|
|
875
|
+
}
|
|
827
876
|
// Store wrapper if available (preserves markers), otherwise store element
|
|
828
877
|
this.storage.set(captureName, wrapper !== null && wrapper !== void 0 ? wrapper : target);
|
|
829
878
|
}
|
|
830
879
|
return true;
|
|
831
880
|
}
|
|
881
|
+
/** A capture named twice in a pattern binds the same code at both places. */
|
|
882
|
+
async bindsSameCode(bound, targets) {
|
|
883
|
+
const boundElements = (Array.isArray(bound) ? bound : [bound]).map(b => b.kind === java_1.J.Kind.RightPadded ? b.element : b);
|
|
884
|
+
if (boundElements.length !== targets.length) {
|
|
885
|
+
return false;
|
|
886
|
+
}
|
|
887
|
+
for (let i = 0; i < targets.length; i++) {
|
|
888
|
+
if (!await this.sameCodeComparator.compare(boundElements[i], targets[i])) {
|
|
889
|
+
return false;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
return true;
|
|
893
|
+
}
|
|
832
894
|
/**
|
|
833
895
|
* Handles a variadic capture placeholder.
|
|
834
896
|
*
|
|
@@ -837,7 +899,7 @@ class Matcher {
|
|
|
837
899
|
* @param wrappers Optional wrappers to preserve markers
|
|
838
900
|
* @returns true if the capture is successful, false otherwise
|
|
839
901
|
*/
|
|
840
|
-
handleVariadicCapture(capture, targets, wrappers) {
|
|
902
|
+
async handleVariadicCapture(capture, targets, wrappers) {
|
|
841
903
|
var _a;
|
|
842
904
|
const captureName = capture.captureName;
|
|
843
905
|
if (!captureName) {
|
|
@@ -851,6 +913,10 @@ class Matcher {
|
|
|
851
913
|
// Only store the binding if this is a capturing placeholder
|
|
852
914
|
const capturing = (_a = captureObj === null || captureObj === void 0 ? void 0 : captureObj[capture_1.CAPTURE_CAPTURING_SYMBOL]) !== null && _a !== void 0 ? _a : true;
|
|
853
915
|
if (capturing) {
|
|
916
|
+
const bound = this.storage.get(captureName);
|
|
917
|
+
if (bound !== undefined) {
|
|
918
|
+
return this.bindsSameCode(bound, targets);
|
|
919
|
+
}
|
|
854
920
|
// Store the richest representation: wrappers if available, otherwise elements
|
|
855
921
|
if (wrappers && wrappers.length > 0) {
|
|
856
922
|
this.storage.set(captureName, wrappers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { Cursor } from '../..';
|
|
1
|
+
import { Cursor, Marker } from '../..';
|
|
2
2
|
import { J } from '../../java';
|
|
3
3
|
import { JS } from '..';
|
|
4
4
|
import { JavaScriptVisitor } from '../visitor';
|
|
5
5
|
import { Parameter } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Marks a value the template substituted, whose layout is the source's rather than the template's.
|
|
8
|
+
* `ownPrefix` says whether the whitespace before it is the source's too.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SubstitutedValue implements Marker {
|
|
11
|
+
readonly ownPrefix: boolean;
|
|
12
|
+
static readonly KIND = "org.openrewrite.javascript.templating.SubstitutedValue";
|
|
13
|
+
readonly kind = "org.openrewrite.javascript.templating.SubstitutedValue";
|
|
14
|
+
readonly id: string;
|
|
15
|
+
constructor(ownPrefix: boolean);
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* Visitor that replaces placeholder nodes with actual parameter values.
|
|
8
19
|
*/
|
|
@@ -10,13 +21,24 @@ export declare class PlaceholderReplacementVisitor extends JavaScriptVisitor<any
|
|
|
10
21
|
private readonly substitutions;
|
|
11
22
|
private readonly values;
|
|
12
23
|
private readonly wrappersMap;
|
|
13
|
-
|
|
24
|
+
private readonly patternPrefixes;
|
|
25
|
+
/** Whether any value was substituted, and so marked as a {@link SubstitutedValue}. */
|
|
26
|
+
substituted: boolean;
|
|
27
|
+
constructor(substitutions: Map<string, Parameter>, values?: Pick<Map<string, J | J[]>, 'get'>, wrappersMap?: Pick<Map<string, J.RightPadded<J> | J.RightPadded<J>[]>, 'get'>, patternPrefixes?: Pick<Map<string, J.Space>, 'get'>);
|
|
14
28
|
visit<R extends J>(tree: J, p: any, parent?: Cursor): Promise<R | undefined>;
|
|
15
29
|
/**
|
|
16
30
|
* Override visitBindingElement to preserve propertyName from template when replacing.
|
|
17
31
|
* For example, in `{ ref: ${ref} }`, we want to preserve `ref:` when replacing ${ref}.
|
|
18
32
|
*/
|
|
19
33
|
visitBindingElement(bindingElement: JS.BindingElement, p: any): Promise<J | undefined>;
|
|
34
|
+
/** A statement substituted into an expression statement's placeholder is the statement itself. */
|
|
35
|
+
visitExpressionStatement(expressionStatement: JS.ExpressionStatement, p: any): Promise<J | undefined>;
|
|
36
|
+
/**
|
|
37
|
+
* A declaration substituted for the name of a declaration is the declaration itself: `(${p})` and
|
|
38
|
+
* `(...${p})` with `p` bound to the parameter `props: Props` give `(props: Props)` and `(...props: Props)`.
|
|
39
|
+
*/
|
|
40
|
+
visitVariableDeclarations(variableDeclarations: J.VariableDeclarations, p: any): Promise<J | undefined>;
|
|
41
|
+
private concatPrefix;
|
|
20
42
|
/**
|
|
21
43
|
* Override visitContainer to handle variadic expansion for containers.
|
|
22
44
|
* This handles J.Container instances anywhere in the AST (method arguments, etc.).
|
|
@@ -49,8 +71,14 @@ export declare class PlaceholderReplacementVisitor extends JavaScriptVisitor<any
|
|
|
49
71
|
* @returns A merged prefix with source comments and template whitespace
|
|
50
72
|
*/
|
|
51
73
|
private mergePrefix;
|
|
74
|
+
private readonly templatePrefix;
|
|
52
75
|
/** As `mergePrefix`, but a line break the source wrote and the template did not is the source's layout. */
|
|
53
|
-
private
|
|
76
|
+
private readonly elementPrefix;
|
|
77
|
+
private readonly sourcePrefix;
|
|
78
|
+
/** Whether the template writes the same prefix before capture `name` as the pattern it matched with. */
|
|
79
|
+
private spacedAsInPattern;
|
|
80
|
+
/** `value` substituted for `placeholder` under the prefix `merge` chooses, marked as a {@link SubstitutedValue}. */
|
|
81
|
+
private substitute;
|
|
54
82
|
/** As `mergePrefix`, for markers: everything the value was matched with, plus the kinds only the slot wrote. */
|
|
55
83
|
private mergeMarkers;
|
|
56
84
|
/**
|
|
@@ -62,6 +90,8 @@ export declare class PlaceholderReplacementVisitor extends JavaScriptVisitor<any
|
|
|
62
90
|
* @returns Promise of new list with placeholders expanded
|
|
63
91
|
*/
|
|
64
92
|
private expandVariadicElements;
|
|
93
|
+
/** As `visit` on a placeholder, with `merge` choosing the replacement's prefix. */
|
|
94
|
+
private replaceElement;
|
|
65
95
|
/**
|
|
66
96
|
* Checks if a node is a placeholder.
|
|
67
97
|
*
|
|
@@ -73,6 +103,7 @@ export declare class PlaceholderReplacementVisitor extends JavaScriptVisitor<any
|
|
|
73
103
|
* Replaces a placeholder node with the actual parameter value.
|
|
74
104
|
*
|
|
75
105
|
* @param placeholder The placeholder node
|
|
106
|
+
* @param merge Chooses the replacement's prefix from its own and the placeholder's
|
|
76
107
|
* @returns The replacement node or the original if not a placeholder
|
|
77
108
|
*/
|
|
78
109
|
private replacePlaceholder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder-replacement.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/placeholder-replacement.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"placeholder-replacement.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/placeholder-replacement.ts"],"names":[],"mappings":"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"}
|