@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.
- package/dist/java/formatting-utils.d.ts +8 -5
- package/dist/java/formatting-utils.d.ts.map +1 -1
- package/dist/java/formatting-utils.js +14 -10
- package/dist/java/formatting-utils.js.map +1 -1
- package/dist/java/type.d.ts +2 -0
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +5 -0
- package/dist/java/type.js.map +1 -1
- package/dist/javascript/add-import.d.ts +96 -43
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +668 -236
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts +138 -0
- package/dist/javascript/amd.d.ts.map +1 -0
- package/dist/javascript/amd.js +768 -0
- package/dist/javascript/amd.js.map +1 -0
- package/dist/javascript/assertions.d.ts +7 -0
- package/dist/javascript/assertions.d.ts.map +1 -1
- package/dist/javascript/assertions.js +31 -5
- package/dist/javascript/assertions.js.map +1 -1
- package/dist/javascript/binding.d.ts +94 -0
- package/dist/javascript/binding.d.ts.map +1 -0
- package/dist/javascript/binding.js +335 -0
- package/dist/javascript/binding.js.map +1 -0
- package/dist/javascript/comparator.d.ts +5 -0
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +34 -9
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +8 -9
- package/dist/javascript/format/format.js.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts +2 -0
- package/dist/javascript/format/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/format/tabs-and-indents-visitor.js +17 -11
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/index.d.ts +8 -1
- package/dist/javascript/index.d.ts.map +1 -1
- package/dist/javascript/index.js +26 -1
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/node-resolution-result.d.ts +19 -1
- package/dist/javascript/node-resolution-result.d.ts.map +1 -1
- package/dist/javascript/node-resolution-result.js +37 -2
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/package-exported-types.d.ts.map +1 -1
- package/dist/javascript/package-exported-types.js +56 -72
- package/dist/javascript/package-exported-types.js.map +1 -1
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +2 -0
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/parser.d.ts +7 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +17 -4
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/recipes/change-import.d.ts +2 -4
- package/dist/javascript/recipes/change-import.d.ts.map +1 -1
- package/dist/javascript/recipes/change-import.js +8 -244
- package/dist/javascript/recipes/change-import.js.map +1 -1
- package/dist/javascript/remove-import.d.ts +2 -28
- package/dist/javascript/remove-import.d.ts.map +1 -1
- package/dist/javascript/remove-import.js +19 -57
- package/dist/javascript/remove-import.js.map +1 -1
- package/dist/javascript/scope.d.ts +49 -0
- package/dist/javascript/scope.d.ts.map +1 -0
- package/dist/javascript/scope.js +324 -0
- package/dist/javascript/scope.js.map +1 -0
- package/dist/javascript/style.d.ts.map +1 -1
- package/dist/javascript/style.js +3 -10
- package/dist/javascript/style.js.map +1 -1
- package/dist/javascript/templating/bindings.d.ts +8 -0
- package/dist/javascript/templating/bindings.d.ts.map +1 -0
- package/dist/javascript/templating/bindings.js +92 -0
- package/dist/javascript/templating/bindings.js.map +1 -0
- package/dist/javascript/templating/comparator.d.ts +10 -0
- package/dist/javascript/templating/comparator.d.ts.map +1 -1
- package/dist/javascript/templating/comparator.js +48 -20
- package/dist/javascript/templating/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +34 -10
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +109 -55
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/index.d.ts +1 -1
- package/dist/javascript/templating/index.d.ts.map +1 -1
- package/dist/javascript/templating/index.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +13 -10
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +4 -0
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +24 -10
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/templating/precedence.d.ts +12 -4
- package/dist/javascript/templating/precedence.d.ts.map +1 -1
- package/dist/javascript/templating/precedence.js +18 -11
- package/dist/javascript/templating/precedence.js.map +1 -1
- package/dist/javascript/templating/rewrite.d.ts.map +1 -1
- package/dist/javascript/templating/rewrite.js +19 -17
- package/dist/javascript/templating/rewrite.js.map +1 -1
- package/dist/javascript/templating/template.d.ts +14 -0
- package/dist/javascript/templating/template.d.ts.map +1 -1
- package/dist/javascript/templating/template.js +63 -3
- package/dist/javascript/templating/template.js.map +1 -1
- package/dist/javascript/templating/types.d.ts +39 -1
- package/dist/javascript/templating/types.d.ts.map +1 -1
- package/dist/javascript/templating/utils.d.ts +6 -1
- package/dist/javascript/templating/utils.d.ts.map +1 -1
- package/dist/javascript/templating/utils.js +20 -2
- package/dist/javascript/templating/utils.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +1 -0
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +52 -2
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/rewrite-javascript-version.txt +1 -1
- package/dist/style.d.ts +2 -0
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +5 -0
- package/dist/style.js.map +1 -1
- package/dist/test/rewrite-test.d.ts +12 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +40 -3
- package/dist/test/rewrite-test.js.map +1 -1
- package/package.json +2 -2
- package/src/java/formatting-utils.ts +14 -10
- package/src/java/type.ts +5 -0
- package/src/javascript/add-import.ts +751 -247
- package/src/javascript/amd.ts +915 -0
- package/src/javascript/assertions.ts +33 -5
- package/src/javascript/binding.ts +449 -0
- package/src/javascript/comparator.ts +39 -10
- package/src/javascript/format/format.ts +9 -10
- package/src/javascript/format/tabs-and-indents-visitor.ts +18 -12
- package/src/javascript/index.ts +12 -1
- package/src/javascript/node-resolution-result.ts +59 -4
- package/src/javascript/package-exported-types.ts +60 -74
- package/src/javascript/parser-utils.ts +2 -0
- package/src/javascript/parser.ts +23 -3
- package/src/javascript/recipes/change-import.ts +10 -263
- package/src/javascript/remove-import.ts +20 -56
- package/src/javascript/scope.ts +338 -0
- package/src/javascript/style.ts +3 -11
- package/src/javascript/templating/bindings.ts +99 -0
- package/src/javascript/templating/comparator.ts +57 -20
- package/src/javascript/templating/engine.ts +148 -68
- package/src/javascript/templating/index.ts +1 -0
- package/src/javascript/templating/pattern.ts +19 -16
- package/src/javascript/templating/placeholder-replacement.ts +32 -11
- package/src/javascript/templating/precedence.ts +21 -13
- package/src/javascript/templating/rewrite.ts +23 -17
- package/src/javascript/templating/template.ts +84 -9
- package/src/javascript/templating/types.ts +46 -1
- package/src/javascript/templating/utils.ts +21 -2
- package/src/javascript/type-mapping.ts +54 -2
- package/src/style.ts +5 -0
- package/src/test/rewrite-test.ts +61 -3
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { Cursor } from '../..';
|
|
2
2
|
import { J } from '../../java';
|
|
3
|
-
import { Any, Capture
|
|
3
|
+
import { Any, Capture } from '..';
|
|
4
4
|
import { RawCode } from './capture';
|
|
5
5
|
import { JavaCoordinates } from './template';
|
|
6
6
|
import ts from "typescript";
|
|
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
|
+
}
|
|
7
12
|
import { Parameter } from "./types";
|
|
8
13
|
/**
|
|
9
14
|
* Configure the sourceFileCache used for template parsing.
|
|
@@ -31,7 +36,15 @@ export declare class TemplateEngine {
|
|
|
31
36
|
* @param dependencies NPM dependencies for type attribution
|
|
32
37
|
* @returns A Promise resolving to the extracted template AST
|
|
33
38
|
*/
|
|
34
|
-
|
|
39
|
+
/** The template parsed with its context, which is what gives its code types to attribute against. */
|
|
40
|
+
private static parseWithContext;
|
|
41
|
+
/**
|
|
42
|
+
* The modules the template's context binds, for the caller to bind in the file being edited.
|
|
43
|
+
* An `import` or `require` states one; anything else — a `declare`, a helper signature — types
|
|
44
|
+
* the template without asking for a binding.
|
|
45
|
+
*/
|
|
46
|
+
static getContextBindings(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<ContextBinding[]>;
|
|
47
|
+
static getTemplateTree(templateParts: TemplateStringsArray, parameters: Parameter[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
|
|
35
48
|
/**
|
|
36
49
|
* Applies a template from a pre-parsed AST and returns the resulting AST.
|
|
37
50
|
* This method is used by Template.apply() after getting the cached template tree.
|
|
@@ -42,16 +55,22 @@ export declare class TemplateEngine {
|
|
|
42
55
|
* @param coordinates The coordinates specifying where and how to insert the generated AST
|
|
43
56
|
* @param values Map of capture names to values to replace the parameters with
|
|
44
57
|
* @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
|
|
58
|
+
* @param format Whether to fit the result to where it lands
|
|
59
|
+
* @param renames Local names for the template's declared bindings, keyed as declared
|
|
60
|
+
* @param modules The module each declared binding names, keyed as declared
|
|
45
61
|
* @returns A Promise resolving to the generated AST node
|
|
46
62
|
*/
|
|
47
|
-
static applyTemplateFromAst(ast:
|
|
63
|
+
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>;
|
|
48
64
|
/**
|
|
49
65
|
* Generates type preamble declarations for captures/parameters with type annotations.
|
|
50
66
|
*
|
|
51
67
|
* @param parameters The parameters
|
|
52
68
|
* @returns Array of preamble statements
|
|
53
69
|
*/
|
|
54
|
-
|
|
70
|
+
/** The declarations that give a capture's placeholder its type while the pattern is parsed. */
|
|
71
|
+
static capturePreamble(captures: (Capture | Any | RawCode)[]): string[];
|
|
72
|
+
/** The parameter counterpart of {@link capturePreamble}. */
|
|
73
|
+
static parameterPreamble(parameters: Parameter[]): string[];
|
|
55
74
|
/**
|
|
56
75
|
* Builds a template string with parameter placeholders.
|
|
57
76
|
* RawCode parameters are spliced directly into the template at construction time.
|
|
@@ -70,17 +89,21 @@ export declare class TemplateEngine {
|
|
|
70
89
|
*/
|
|
71
90
|
private static typeToString;
|
|
72
91
|
/**
|
|
73
|
-
* Gets the parsed and extracted pattern tree with
|
|
74
|
-
*
|
|
75
|
-
* functionality on top of the shared template tree generation.
|
|
92
|
+
* Gets the parsed and extracted pattern tree, with placeholder identifiers left bare;
|
|
93
|
+
* `attachCaptureMarkers` binds it to a particular set of captures.
|
|
76
94
|
*
|
|
77
95
|
* @param templateParts The string parts of the template
|
|
78
96
|
* @param captures The captures between the string parts (can include RawCode)
|
|
79
97
|
* @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
|
|
80
98
|
* @param dependencies NPM dependencies for type attribution
|
|
81
|
-
* @returns A Promise resolving to the extracted pattern AST
|
|
99
|
+
* @returns A Promise resolving to the extracted pattern AST
|
|
100
|
+
*/
|
|
101
|
+
static getPatternTree(templateParts: TemplateStringsArray, captures: (Capture | Any | RawCode)[], contextStatements?: string[], dependencies?: Record<string, string>, types?: string[]): Promise<J>;
|
|
102
|
+
/**
|
|
103
|
+
* Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
|
|
104
|
+
* capture's constraint and variadic options, to each placeholder identifier.
|
|
82
105
|
*/
|
|
83
|
-
static
|
|
106
|
+
static attachCaptureMarkers(tree: J, captures: (Capture | Any | RawCode)[]): Promise<J>;
|
|
84
107
|
}
|
|
85
108
|
/**
|
|
86
109
|
* Helper class for applying a template to an AST.
|
|
@@ -89,7 +112,8 @@ export declare class TemplateApplier {
|
|
|
89
112
|
private readonly cursor;
|
|
90
113
|
private readonly coordinates;
|
|
91
114
|
private readonly ast;
|
|
92
|
-
|
|
115
|
+
private readonly shouldFormat;
|
|
116
|
+
constructor(cursor: Cursor, coordinates: JavaCoordinates, ast: J, shouldFormat?: boolean);
|
|
93
117
|
/**
|
|
94
118
|
* Applies the template to the current AST.
|
|
95
119
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,MAAM,EAA8C,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAa,CAAC,EAAkB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAC,GAAG,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,13 @@ const capture_1 = require("./capture");
|
|
|
27
27
|
const placeholder_replacement_1 = require("./placeholder-replacement");
|
|
28
28
|
const precedence_1 = require("./precedence");
|
|
29
29
|
const format_1 = require("../format");
|
|
30
|
+
const bindings_1 = require("./bindings");
|
|
30
31
|
const parser_utils_1 = require("../parser-utils");
|
|
31
32
|
const uuid_1 = require("../../uuid");
|
|
32
33
|
const dependency_workspace_1 = require("../dependency-workspace");
|
|
34
|
+
const add_import_1 = require("../add-import");
|
|
35
|
+
const scope_1 = require("../scope");
|
|
36
|
+
const java_2 = require("../../java");
|
|
33
37
|
/**
|
|
34
38
|
* Simple LRU (Least Recently Used) cache implementation.
|
|
35
39
|
* Used for template/pattern compilation caching with bounded memory usage.
|
|
@@ -77,6 +81,21 @@ let templateSourceFileCache;
|
|
|
77
81
|
*/
|
|
78
82
|
function setTemplateSourceFileCache(cache) {
|
|
79
83
|
templateSourceFileCache = cache;
|
|
84
|
+
templateParsers.clear();
|
|
85
|
+
}
|
|
86
|
+
// Every template parses under `template.tsx`, so one parser per workspace carries its program
|
|
87
|
+
// from one compile to the next; see `JavaScriptParser.parse`.
|
|
88
|
+
const templateParsers = new Map();
|
|
89
|
+
function templateParser(workspaceDir, types) {
|
|
90
|
+
// `types` changes what the compiler loads, so parsers cannot be shared across differing sets.
|
|
91
|
+
// An empty list loads nothing where absence loads the defaults, so the two encode apart.
|
|
92
|
+
const key = `${workspaceDir !== null && workspaceDir !== void 0 ? workspaceDir : ""}::${JSON.stringify(types !== null && types !== void 0 ? types : null)}`;
|
|
93
|
+
let parser = templateParsers.get(key);
|
|
94
|
+
if (!parser) {
|
|
95
|
+
parser = new __2.JavaScriptParser({ relativeTo: workspaceDir, sourceFileCache: templateSourceFileCache, types });
|
|
96
|
+
templateParsers.set(key, parser);
|
|
97
|
+
}
|
|
98
|
+
return parser;
|
|
80
99
|
}
|
|
81
100
|
/**
|
|
82
101
|
* Cache for compiled templates and patterns.
|
|
@@ -90,7 +109,7 @@ class TemplateCache {
|
|
|
90
109
|
/**
|
|
91
110
|
* Generates a cache key from template string, captures, and options.
|
|
92
111
|
*/
|
|
93
|
-
generateKey(templateString, captures, contextStatements, dependencies) {
|
|
112
|
+
generateKey(templateString, captures, contextStatements, dependencies, types) {
|
|
94
113
|
// Use the actual template string (with placeholders) as the primary key
|
|
95
114
|
const templateKey = templateString;
|
|
96
115
|
// Capture names
|
|
@@ -99,13 +118,13 @@ class TemplateCache {
|
|
|
99
118
|
const contextKey = contextStatements.join(';');
|
|
100
119
|
// Dependencies
|
|
101
120
|
const depsKey = JSON.stringify(dependencies || {});
|
|
102
|
-
return `${templateKey}::${capturesKey}::${contextKey}::${depsKey}`;
|
|
121
|
+
return `${templateKey}::${capturesKey}::${contextKey}::${depsKey}::${JSON.stringify(types !== null && types !== void 0 ? types : null)}`;
|
|
103
122
|
}
|
|
104
123
|
/**
|
|
105
124
|
* Gets a cached compilation unit or creates and caches a new one.
|
|
106
125
|
*/
|
|
107
|
-
async getOrParse(templateString, captures, contextStatements, dependencies) {
|
|
108
|
-
const key = this.generateKey(templateString, captures, contextStatements, dependencies);
|
|
126
|
+
async getOrParse(templateString, captures, contextStatements, dependencies, types) {
|
|
127
|
+
const key = this.generateKey(templateString, captures, contextStatements, dependencies, types);
|
|
109
128
|
let cu = this.cache.get(key);
|
|
110
129
|
if (cu) {
|
|
111
130
|
return cu;
|
|
@@ -123,10 +142,7 @@ class TemplateCache {
|
|
|
123
142
|
: templateString;
|
|
124
143
|
// Parse and cache (workspace only needed during parsing)
|
|
125
144
|
// Use templateSourceFileCache if configured for ~3.2x speedup on dependency file parsing
|
|
126
|
-
const parser =
|
|
127
|
-
relativeTo: workspaceDir,
|
|
128
|
-
sourceFileCache: templateSourceFileCache
|
|
129
|
-
});
|
|
145
|
+
const parser = templateParser(workspaceDir, types);
|
|
130
146
|
const parseGenerator = parser.parse({ text: fullTemplateString, sourcePath: 'template.tsx' });
|
|
131
147
|
cu = (await parseGenerator.next()).value;
|
|
132
148
|
this.cache.set(key, cu);
|
|
@@ -166,20 +182,41 @@ class TemplateEngine {
|
|
|
166
182
|
* @param dependencies NPM dependencies for type attribution
|
|
167
183
|
* @returns A Promise resolving to the extracted template AST
|
|
168
184
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
185
|
+
/** The template parsed with its context, which is what gives its code types to attribute against. */
|
|
186
|
+
static async parseWithContext(templateParts, parameters, contextStatements, dependencies, types) {
|
|
187
|
+
// A capture's declared type reaches the parse as a declaration, so it belongs with context.
|
|
188
|
+
const preamble = TemplateEngine.parameterPreamble(parameters);
|
|
173
189
|
const templateString = TemplateEngine.buildTemplateString(templateParts, parameters);
|
|
174
|
-
// Add preamble to context statements (so they're skipped during extraction)
|
|
175
190
|
const contextWithPreamble = preamble.length > 0
|
|
176
191
|
? [...contextStatements, ...preamble]
|
|
177
192
|
: contextStatements;
|
|
178
|
-
|
|
179
|
-
|
|
193
|
+
return templateCache.getOrParse(templateString, [], contextWithPreamble, dependencies, types);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The modules the template's context binds, for the caller to bind in the file being edited.
|
|
197
|
+
* An `import` or `require` states one; anything else — a `declare`, a helper signature — types
|
|
198
|
+
* the template without asking for a binding.
|
|
199
|
+
*/
|
|
200
|
+
static async getContextBindings(templateParts, parameters, contextStatements = [], dependencies = {}, types) {
|
|
201
|
+
const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types);
|
|
202
|
+
// The template's own code is the last statement, so everything ahead of it is context.
|
|
203
|
+
const context = Object.assign(Object.assign({}, cu), { statements: cu.statements.slice(0, -1) });
|
|
204
|
+
const attributed = new Set();
|
|
205
|
+
(0, scope_1.walk)(context.statements, node => {
|
|
206
|
+
if ((0, java_2.isIdentifier)(node) && (node.type !== undefined || node.fieldType !== undefined)) {
|
|
207
|
+
attributed.add(node.simpleName);
|
|
208
|
+
}
|
|
209
|
+
return true;
|
|
210
|
+
});
|
|
211
|
+
return (0, add_import_1.moduleScopeBindings)(context)
|
|
212
|
+
.filter(b => b.module !== undefined)
|
|
213
|
+
.map(b => (Object.assign(Object.assign({}, b), { attributed: attributed.has(b.name) })));
|
|
214
|
+
}
|
|
215
|
+
static async getTemplateTree(templateParts, parameters, contextStatements = [], dependencies = {}, types) {
|
|
216
|
+
const cu = await TemplateEngine.parseWithContext(templateParts, parameters, contextStatements, dependencies, types);
|
|
180
217
|
// Check if there are any statements
|
|
181
218
|
if (!cu.statements || cu.statements.length === 0) {
|
|
182
|
-
throw new Error(`Failed to parse template code (no statements):\n${
|
|
219
|
+
throw new Error(`Failed to parse template code (no statements):\n${TemplateEngine.buildTemplateString(templateParts, parameters)}`);
|
|
183
220
|
}
|
|
184
221
|
// The template code is always the last statement (after context + preamble)
|
|
185
222
|
const lastStatement = cu.statements[cu.statements.length - 1].element;
|
|
@@ -197,9 +234,12 @@ class TemplateEngine {
|
|
|
197
234
|
* @param coordinates The coordinates specifying where and how to insert the generated AST
|
|
198
235
|
* @param values Map of capture names to values to replace the parameters with
|
|
199
236
|
* @param wrappersMap Map of capture names to J.RightPadded wrappers (for preserving markers)
|
|
237
|
+
* @param format Whether to fit the result to where it lands
|
|
238
|
+
* @param renames Local names for the template's declared bindings, keyed as declared
|
|
239
|
+
* @param modules The module each declared binding names, keyed as declared
|
|
200
240
|
* @returns A Promise resolving to the generated AST node
|
|
201
241
|
*/
|
|
202
|
-
static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map()) {
|
|
242
|
+
static async applyTemplateFromAst(ast, parameters, cursor, coordinates, values = new Map(), wrappersMap = new Map(), format = true, renames = {}, modules = {}) {
|
|
203
243
|
// Create substitutions map for placeholders
|
|
204
244
|
const substitutions = new Map();
|
|
205
245
|
for (let i = 0; i < parameters.length; i++) {
|
|
@@ -208,9 +248,12 @@ class TemplateEngine {
|
|
|
208
248
|
}
|
|
209
249
|
// Before substitution, so that ids carried over from the source tree survive this pass
|
|
210
250
|
const fresh = await (0, utils_1.randomizeIds)(ast);
|
|
251
|
+
const bound = Object.keys(renames).length > 0
|
|
252
|
+
? await (0, bindings_1.renameBindings)(fresh.tree, renames, modules)
|
|
253
|
+
: fresh.tree;
|
|
211
254
|
// Unsubstitute placeholders with actual parameter values and match results
|
|
212
255
|
const visitor = new placeholder_replacement_1.PlaceholderReplacementVisitor(substitutions, values, wrappersMap);
|
|
213
|
-
const unsubstitutedAst = (await visitor.visit(
|
|
256
|
+
const unsubstitutedAst = (await visitor.visit(bound, null));
|
|
214
257
|
// An id may only be kept where the node answering to it is leaving the tree, which is the
|
|
215
258
|
// subtree this application replaces. A parameter named twice, or spliced in from somewhere
|
|
216
259
|
// that stays, would otherwise put one id in two places.
|
|
@@ -222,7 +265,7 @@ class TemplateEngine {
|
|
|
222
265
|
}
|
|
223
266
|
const uniqueAst = await (0, utils_1.retainIds)(unsubstitutedAst, retainable);
|
|
224
267
|
// Apply the template to the current AST
|
|
225
|
-
return new TemplateApplier(cursor, coordinates, uniqueAst).apply();
|
|
268
|
+
return new TemplateApplier(cursor, coordinates, uniqueAst, format).apply();
|
|
226
269
|
}
|
|
227
270
|
/**
|
|
228
271
|
* Generates type preamble declarations for captures/parameters with type annotations.
|
|
@@ -230,7 +273,31 @@ class TemplateEngine {
|
|
|
230
273
|
* @param parameters The parameters
|
|
231
274
|
* @returns Array of preamble statements
|
|
232
275
|
*/
|
|
233
|
-
|
|
276
|
+
/** The declarations that give a capture's placeholder its type while the pattern is parsed. */
|
|
277
|
+
static capturePreamble(captures) {
|
|
278
|
+
const preamble = [];
|
|
279
|
+
for (const capture of captures) {
|
|
280
|
+
// Raw code is spliced in as source, so it declares nothing
|
|
281
|
+
if (capture instanceof capture_1.RawCode || (capture && typeof capture === 'object' && capture[capture_1.RAW_CODE_SYMBOL])) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
const captureName = capture[capture_1.CAPTURE_NAME_SYMBOL] || capture.getName();
|
|
285
|
+
const captureType = capture[capture_1.CAPTURE_TYPE_SYMBOL];
|
|
286
|
+
if (captureType) {
|
|
287
|
+
const typeString = typeof captureType === 'string'
|
|
288
|
+
? captureType
|
|
289
|
+
: this.typeToString(captureType);
|
|
290
|
+
// `any` attributes nothing, so a declaration for it would only cost a parse
|
|
291
|
+
if (typeString !== 'any') {
|
|
292
|
+
const placeholder = utils_1.PlaceholderUtils.createCapture(captureName, undefined);
|
|
293
|
+
preamble.push(`let ${placeholder}: ${typeString};`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return preamble;
|
|
298
|
+
}
|
|
299
|
+
/** The parameter counterpart of {@link capturePreamble}. */
|
|
300
|
+
static parameterPreamble(parameters) {
|
|
234
301
|
const preamble = [];
|
|
235
302
|
for (let i = 0; i < parameters.length; i++) {
|
|
236
303
|
const param = parameters[i].value;
|
|
@@ -311,7 +378,7 @@ class TemplateEngine {
|
|
|
311
378
|
}
|
|
312
379
|
// Always wrap in function body - let the parser decide what it is,
|
|
313
380
|
// then we'll extract intelligently based on what was parsed
|
|
314
|
-
return `function ${utils_1.WRAPPER_FUNCTION_NAME}() { ${result} }`;
|
|
381
|
+
return `function ${utils_1.WRAPPER_FUNCTION_NAME}() { ${(0, utils_1.dedentTemplate)(result)} }`;
|
|
315
382
|
}
|
|
316
383
|
/**
|
|
317
384
|
* Converts a Type instance to a TypeScript type string.
|
|
@@ -357,39 +424,17 @@ class TemplateEngine {
|
|
|
357
424
|
return 'any';
|
|
358
425
|
}
|
|
359
426
|
/**
|
|
360
|
-
* Gets the parsed and extracted pattern tree with
|
|
361
|
-
*
|
|
362
|
-
* functionality on top of the shared template tree generation.
|
|
427
|
+
* Gets the parsed and extracted pattern tree, with placeholder identifiers left bare;
|
|
428
|
+
* `attachCaptureMarkers` binds it to a particular set of captures.
|
|
363
429
|
*
|
|
364
430
|
* @param templateParts The string parts of the template
|
|
365
431
|
* @param captures The captures between the string parts (can include RawCode)
|
|
366
432
|
* @param contextStatements Context declarations (imports, types, etc.) to prepend for type attribution
|
|
367
433
|
* @param dependencies NPM dependencies for type attribution
|
|
368
|
-
* @returns A Promise resolving to the extracted pattern AST
|
|
434
|
+
* @returns A Promise resolving to the extracted pattern AST
|
|
369
435
|
*/
|
|
370
|
-
static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}) {
|
|
371
|
-
|
|
372
|
-
const preamble = [];
|
|
373
|
-
for (const capture of captures) {
|
|
374
|
-
// Skip raw code - it's not a capture
|
|
375
|
-
if (capture instanceof capture_1.RawCode || (capture && typeof capture === 'object' && capture[capture_1.RAW_CODE_SYMBOL])) {
|
|
376
|
-
continue;
|
|
377
|
-
}
|
|
378
|
-
const captureName = capture[capture_1.CAPTURE_NAME_SYMBOL] || capture.getName();
|
|
379
|
-
const captureType = capture[capture_1.CAPTURE_TYPE_SYMBOL];
|
|
380
|
-
if (captureType) {
|
|
381
|
-
// Convert Type to string if needed
|
|
382
|
-
const typeString = typeof captureType === 'string'
|
|
383
|
-
? captureType
|
|
384
|
-
: this.typeToString(captureType);
|
|
385
|
-
// Only add preamble if we have a concrete type (not 'any')
|
|
386
|
-
if (typeString !== 'any') {
|
|
387
|
-
const placeholder = utils_1.PlaceholderUtils.createCapture(captureName, undefined);
|
|
388
|
-
preamble.push(`let ${placeholder}: ${typeString};`);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
// Don't add preamble declarations without types - they don't provide type attribution
|
|
392
|
-
}
|
|
436
|
+
static async getPatternTree(templateParts, captures, contextStatements = [], dependencies = {}, types) {
|
|
437
|
+
const preamble = TemplateEngine.capturePreamble(captures);
|
|
393
438
|
// Build the template string with placeholders for captures and raw code
|
|
394
439
|
let result = '';
|
|
395
440
|
for (let i = 0; i < templateParts.length; i++) {
|
|
@@ -417,7 +462,7 @@ class TemplateEngine {
|
|
|
417
462
|
// Filter out RawCode from captures for cache and marker attachment
|
|
418
463
|
const actualCaptures = captures.filter(c => !(c instanceof capture_1.RawCode || (c && typeof c === 'object' && c[capture_1.RAW_CODE_SYMBOL])));
|
|
419
464
|
// Use cache to get or parse the compilation unit
|
|
420
|
-
const cu = await templateCache.getOrParse(templateString, actualCaptures, contextWithPreamble, dependencies);
|
|
465
|
+
const cu = await templateCache.getOrParse(templateString, actualCaptures, contextWithPreamble, dependencies, types);
|
|
421
466
|
// Check if there are any statements
|
|
422
467
|
if (!cu.statements || cu.statements.length === 0) {
|
|
423
468
|
throw new Error(`Failed to parse pattern code (no statements):\n${templateString}`);
|
|
@@ -425,17 +470,22 @@ class TemplateEngine {
|
|
|
425
470
|
// The pattern code is always the last statement (after context + preamble)
|
|
426
471
|
const lastStatement = cu.statements[cu.statements.length - 1].element;
|
|
427
472
|
// Extract from wrapper using shared utility
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
473
|
+
return utils_1.PlaceholderUtils.extractFromWrapper(lastStatement, 'Pattern');
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Binds a pattern tree to a set of captures by attaching a CaptureMarker, carrying that
|
|
477
|
+
* capture's constraint and variadic options, to each placeholder identifier.
|
|
478
|
+
*/
|
|
479
|
+
static async attachCaptureMarkers(tree, captures) {
|
|
480
|
+
const actualCaptures = captures.filter(c => !(c instanceof capture_1.RawCode || (c && typeof c === 'object' && c[capture_1.RAW_CODE_SYMBOL])));
|
|
481
|
+
return (await new MarkerAttachmentVisitor(actualCaptures).visit(tree, undefined));
|
|
432
482
|
}
|
|
433
483
|
}
|
|
434
484
|
exports.TemplateEngine = TemplateEngine;
|
|
435
485
|
/**
|
|
436
486
|
* Visitor that attaches CaptureMarkers to capture identifiers in pattern ASTs.
|
|
437
487
|
* This allows efficient capture detection without string parsing during matching.
|
|
438
|
-
*
|
|
488
|
+
* Reached through TemplateEngine.attachCaptureMarkers().
|
|
439
489
|
*/
|
|
440
490
|
class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
|
|
441
491
|
constructor(captures) {
|
|
@@ -540,10 +590,11 @@ class MarkerAttachmentVisitor extends __2.JavaScriptVisitor {
|
|
|
540
590
|
* Helper class for applying a template to an AST.
|
|
541
591
|
*/
|
|
542
592
|
class TemplateApplier {
|
|
543
|
-
constructor(cursor, coordinates, ast) {
|
|
593
|
+
constructor(cursor, coordinates, ast, shouldFormat = true) {
|
|
544
594
|
this.cursor = cursor;
|
|
545
595
|
this.coordinates = coordinates;
|
|
546
596
|
this.ast = ast;
|
|
597
|
+
this.shouldFormat = shouldFormat;
|
|
547
598
|
}
|
|
548
599
|
/**
|
|
549
600
|
* Applies the template to the current AST.
|
|
@@ -613,6 +664,9 @@ class TemplateApplier {
|
|
|
613
664
|
const result = Object.assign(Object.assign({}, resultToUse), {
|
|
614
665
|
// We temporarily set the ID so that the formatter can identify the tree
|
|
615
666
|
id: originalTree.id, prefix: originalTree.prefix });
|
|
667
|
+
if (!this.shouldFormat) {
|
|
668
|
+
return Object.assign(Object.assign({}, result), { id: resultToUse.id });
|
|
669
|
+
}
|
|
616
670
|
// Apply auto-formatting to the result
|
|
617
671
|
const formatted = await (0, format_1.maybeAutoFormat)(originalTree, result, null, undefined, (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.parent);
|
|
618
672
|
// Restore the original ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/javascript/templating/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, MatchOptions, TemplateParameter, TemplateOptions, RewriteRule, RewriteConfig, DebugOptions, DebugLogEntry, MatchExplanation, MatchAttemptResult } from './types';
|
|
1
|
+
export type { VariadicOptions, CaptureOptions, Capture, Any, TemplateParam, PatternOptions, MatchOptions, TemplateParameter, TemplateOptions, RewriteRule, TryOnOptions, RewriteConfig, DebugOptions, DebugLogEntry, MatchExplanation, MatchAttemptResult } from './types';
|
|
2
2
|
export { and, or, not, capture, any, param, raw, _ } from './capture';
|
|
3
3
|
export { Pattern, PatternBuilder, MatchResult, pattern } from './pattern';
|
|
4
4
|
export { rewrite, fromRecipe, flattenBlock } from './rewrite';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,GAAG,EACH,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,UAAU,EACV,YAAY,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,kBAAkB,EACrB,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":"AAiBA,YAAY,EACR,eAAe,EACf,cAAc,EACd,OAAO,EACP,GAAG,EACH,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,GAAG,EACH,CAAC,EACJ,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACV,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,OAAO,EACP,UAAU,EACV,YAAY,EACf,MAAM,WAAW,CAAC;AAGnB,OAAO,EACH,QAAQ,EACR,eAAe,EACf,QAAQ,EACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,kBAAkB,EACrB,MAAM,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/javascript/templating/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAsBH,+BAA+B;AAC/B,qCASmB;AARf,8FAAA,GAAG,OAAA;AACH,6FAAA,EAAE,OAAA;AACF,8FAAA,GAAG,OAAA;AACH,kGAAA,OAAO,OAAA;AACP,8FAAA,GAAG,OAAA;AACH,gGAAA,KAAK,OAAA;AACL,8FAAA,GAAG,OAAA;AACH,4FAAA,CAAC,OAAA;AAGL,+BAA+B;AAC/B,qCAKmB;AAJf,kGAAA,OAAO,OAAA;AACP,yGAAA,cAAc,OAAA;AACd,sGAAA,WAAW,OAAA;AACX,kGAAA,OAAO,OAAA;AAGX,+BAA+B;AAC/B,qCAImB;AAHf,kGAAA,OAAO,OAAA;AACP,qGAAA,UAAU,OAAA;AACV,uGAAA,YAAY,OAAA;AAGhB,gCAAgC;AAChC,uCAIoB;AAHhB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,oGAAA,QAAQ,OAAA;AAGZ,2FAA2F;AAC3F,2CAKsB;AAJlB,wGAAA,UAAU,OAAA;AACV,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AACjB,0GAAA,YAAY,OAAA;AAGhB,wCAAwC;AACxC,mCAEkB;AADd,4GAAA,kBAAkB,OAAA"}
|
|
@@ -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,EAAC,CAAC,EAAC,MAAM,YAAY,CAAC;AAC7B,OAAO,EACH,GAAG,EACH,OAAO,EAEP,YAAY,EACZ,kBAAkB,EAElB,YAAY,EACZ,WAAW,IAAI,YAAY,EAC3B,cAAc,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA8E,OAAO,EAAC,MAAM,WAAW,CAAC;AAE/G,OAAO,EAAgB,mBAAmB,EAAoC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAMlH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAwC;IAExD;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAa3D;;;;OAIG;IACH,KAAK,IAAI,OAAO;CAiBnB;AAED;;GAEG;AACH,qBAAa,OAAO;aAwCI,aAAa,EAAE,oBAAoB;aACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE;IAxC9D,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAC,CAAI;IAC9B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6B;IAEnE;;;OAGG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEtC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,IAAI,cAAc;IAIhC;;;;;OAKG;gBAEiB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE;IAiB9D;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAO3C;;;;;;;;OAQG;IACG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../src/javascript/templating/pattern.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,17 +191,20 @@ class Pattern {
|
|
|
191
191
|
}
|
|
192
192
|
return c.getName();
|
|
193
193
|
}).join(',');
|
|
194
|
-
const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, capturesKey,
|
|
194
|
+
const cacheKey = (0, utils_1.generateCacheKey)(this.templateParts, capturesKey,
|
|
195
|
+
// A capture's type reaches the parse as a declaration, so it shapes the tree the same
|
|
196
|
+
// way an explicit context statement does and belongs in the key alongside one.
|
|
197
|
+
[...contextStatements, ...engine_1.TemplateEngine.capturePreamble(this.captures)], this._options.dependencies || {}, this._options.types);
|
|
195
198
|
// Level 2: Global cache (fast path - shared with Template)
|
|
196
|
-
|
|
197
|
-
if (
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
//
|
|
204
|
-
|
|
199
|
+
let tree = utils_1.globalAstCache.get(cacheKey);
|
|
200
|
+
if (!tree) {
|
|
201
|
+
// Level 3: Compute via TemplateEngine (slow path)
|
|
202
|
+
tree = await engine_1.TemplateEngine.getPatternTree(this.templateParts, this.captures, contextStatements, this._options.dependencies || {}, this._options.types);
|
|
203
|
+
utils_1.globalAstCache.set(cacheKey, tree);
|
|
204
|
+
}
|
|
205
|
+
// The key names captures but says nothing about their constraints, so two patterns of the
|
|
206
|
+
// same shape share an entry; markers are attached per instance to keep them apart.
|
|
207
|
+
const result = await engine_1.TemplateEngine.attachCaptureMarkers(tree, this.captures);
|
|
205
208
|
this._cachedAstPattern = result;
|
|
206
209
|
return result;
|
|
207
210
|
}
|