@openrewrite/rewrite 8.96.4 → 8.97.0
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/execution.d.ts +2 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +4 -0
- package/dist/execution.js.map +1 -1
- package/dist/heavyweight.d.ts +8 -0
- package/dist/heavyweight.d.ts.map +1 -0
- package/dist/heavyweight.js +45 -0
- package/dist/heavyweight.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/java/tree.d.ts +2 -1
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js.map +1 -1
- package/dist/java/visitor.d.ts +5 -0
- package/dist/java/visitor.d.ts.map +1 -1
- package/dist/java/visitor.js +264 -217
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/add-import.d.ts +2 -1
- package/dist/javascript/add-import.d.ts.map +1 -1
- package/dist/javascript/add-import.js +14 -2
- package/dist/javascript/add-import.js.map +1 -1
- package/dist/javascript/amd.d.ts.map +1 -1
- package/dist/javascript/amd.js +2 -1
- package/dist/javascript/amd.js.map +1 -1
- package/dist/javascript/cleanup/add-parse-int-radix.js +1 -1
- package/dist/javascript/cleanup/add-parse-int-radix.js.map +1 -1
- package/dist/javascript/dependency-workspace.d.ts +8 -2
- package/dist/javascript/dependency-workspace.d.ts.map +1 -1
- package/dist/javascript/dependency-workspace.js +36 -4
- package/dist/javascript/dependency-workspace.js.map +1 -1
- package/dist/javascript/format/format.d.ts +10 -0
- package/dist/javascript/format/format.d.ts.map +1 -1
- package/dist/javascript/format/format.js +10 -2
- 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 +4 -0
- package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
- package/dist/javascript/format/whitespace-reconciler.d.ts.map +1 -1
- package/dist/javascript/format/whitespace-reconciler.js +4 -0
- package/dist/javascript/format/whitespace-reconciler.js.map +1 -1
- package/dist/javascript/node-resolution-result.d.ts.map +1 -1
- package/dist/javascript/node-resolution-result.js +2 -0
- package/dist/javascript/node-resolution-result.js.map +1 -1
- package/dist/javascript/parser-utils.d.ts.map +1 -1
- package/dist/javascript/parser-utils.js +9 -6
- package/dist/javascript/parser-utils.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts +1 -0
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +39 -10
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/javascript/templating/pattern.d.ts.map +1 -1
- package/dist/javascript/templating/pattern.js +8 -0
- package/dist/javascript/templating/pattern.js.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.d.ts +2 -0
- package/dist/javascript/templating/placeholder-replacement.d.ts.map +1 -1
- package/dist/javascript/templating/placeholder-replacement.js +37 -1
- package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/javascript/visitor.js +153 -118
- package/dist/javascript/visitor.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/run.d.ts +7 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +40 -2
- package/dist/run.js.map +1 -1
- package/dist/test/accumulator-contents.d.ts +15 -0
- package/dist/test/accumulator-contents.d.ts.map +1 -0
- package/dist/test/accumulator-contents.js +185 -0
- package/dist/test/accumulator-contents.js.map +1 -0
- package/dist/test/empty-sources.d.ts +14 -0
- package/dist/test/empty-sources.d.ts.map +1 -0
- package/dist/test/empty-sources.js +98 -0
- package/dist/test/empty-sources.js.map +1 -0
- package/dist/test/formatting-scope.d.ts +18 -0
- package/dist/test/formatting-scope.d.ts.map +1 -0
- package/dist/test/formatting-scope.js +244 -0
- package/dist/test/formatting-scope.js.map +1 -0
- package/dist/test/probes.d.ts +25 -0
- package/dist/test/probes.d.ts.map +1 -0
- package/dist/test/probes.js +189 -0
- package/dist/test/probes.js.map +1 -0
- package/dist/test/rewrite-test.d.ts +27 -0
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +191 -21
- package/dist/test/rewrite-test.js.map +1 -1
- package/dist/test/tree-shapes.d.ts +15 -0
- package/dist/test/tree-shapes.d.ts.map +1 -0
- package/dist/test/tree-shapes.js +288 -0
- package/dist/test/tree-shapes.js.map +1 -0
- package/dist/test/unparsed-sources.d.ts +17 -0
- package/dist/test/unparsed-sources.d.ts.map +1 -0
- package/dist/test/unparsed-sources.js +113 -0
- package/dist/test/unparsed-sources.js.map +1 -0
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +2 -0
- package/dist/tree.js.map +1 -1
- package/dist/visitor.d.ts.map +1 -1
- package/dist/visitor.js +2 -0
- package/dist/visitor.js.map +1 -1
- package/package.json +1 -1
- package/src/execution.ts +6 -0
- package/src/heavyweight.ts +42 -0
- package/src/index.ts +1 -0
- package/src/java/tree.ts +2 -1
- package/src/java/visitor.ts +263 -216
- package/src/javascript/add-import.ts +11 -2
- package/src/javascript/amd.ts +4 -2
- package/src/javascript/cleanup/add-parse-int-radix.ts +2 -2
- package/src/javascript/dependency-workspace.ts +35 -3
- package/src/javascript/format/format.ts +18 -0
- package/src/javascript/format/tabs-and-indents-visitor.ts +4 -0
- package/src/javascript/format/whitespace-reconciler.ts +4 -0
- package/src/javascript/node-resolution-result.ts +3 -0
- package/src/javascript/parser-utils.ts +10 -6
- package/src/javascript/templating/engine.ts +41 -9
- package/src/javascript/templating/pattern.ts +10 -0
- package/src/javascript/templating/placeholder-replacement.ts +38 -1
- package/src/javascript/visitor.ts +166 -118
- package/src/recipe.ts +5 -0
- package/src/run.ts +30 -2
- package/src/test/accumulator-contents.ts +194 -0
- package/src/test/empty-sources.ts +99 -0
- package/src/test/formatting-scope.ts +231 -0
- package/src/test/probes.ts +156 -0
- package/src/test/rewrite-test.ts +177 -24
- package/src/test/tree-shapes.ts +332 -0
- package/src/test/unparsed-sources.ts +138 -0
- package/src/tree.ts +3 -0
- package/src/visitor.ts +3 -0
package/dist/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":";;;AAwCA,wBAMC;AAED,0BAEC;AAmED,gCAEC;AAoBD,oCAEC;AA1HD,+CAAkD;AAErC,QAAA,QAAQ,GAAG;IACpB,QAAQ,EAAE,0BAA0B;IACpC,cAAc,EAAE,gCAAgC;CAC1C,CAAA;AAgBV,SAAgB,MAAM,CAAC,IAAS;IAC5B,OAAO,CACH,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CACpC,CAAC;AACN,CAAC;AAED,SAAgB,OAAO,CAAC,CAAO,EAAE,CAAO;IACpC,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAa,MAAM;IAGf,YAA4B,KAAU,EAAkB,MAAe;QAA3C,UAAK,GAAL,KAAK,CAAK;QAAkB,WAAM,GAAN,MAAM,CAAS;IACvE,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,iBAAiB,CAAI,GAAW;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO;QACH,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,IAAI,OAAO,GAAuB,IAAI,CAAC;QACvC,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,QAAgB,CAAC;QACxB,IAAI,CAAC,GAAuB,IAAI,CAAC,MAAM,CAAC;QACxC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,cAAc,CAAI,KAAiC;QAC/C,IAAI,CAAC,GAAuB,IAAI,CAAC;QACjC,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC,KAAU,CAAC;YACxB,CAAC;YACD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7DD,wBA6DC;AAED,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;AAE5B,SAAgB,UAAU;IACtB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAoBD,SAAgB,YAAY,CAAC,IAAS;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,CAAA;AAC/C,CAAC"}
|
package/dist/visitor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AAeA,OAAO,EAAe,MAAM,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AACxD,OAAO,EAAC,MAAM,EAA4B,UAAU,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC1E,OAAO,EAAS,KAAK,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/visitor.js
CHANGED
|
@@ -22,6 +22,7 @@ const markers_1 = require("./markers");
|
|
|
22
22
|
const tree_1 = require("./tree");
|
|
23
23
|
const mutative_1 = require("mutative");
|
|
24
24
|
const util_1 = require("./util");
|
|
25
|
+
const heavyweight_1 = require("./heavyweight");
|
|
25
26
|
async function produceAsync(before, recipe) {
|
|
26
27
|
const b = await before;
|
|
27
28
|
// Mutative's create(base, recipe) supports async recipes and rawReturn(undefined)
|
|
@@ -140,6 +141,7 @@ class TreeVisitor {
|
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
exports.TreeVisitor = TreeVisitor;
|
|
144
|
+
(0, heavyweight_1.registerHeavyweight)(TreeVisitor);
|
|
143
145
|
function noopVisitor() {
|
|
144
146
|
return new class extends TreeVisitor {
|
|
145
147
|
async visit(tree) {
|
package/dist/visitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":";;;AAyBA,oCAQC;AAyID,kCAMC;AAhLD;;;;;;;;;;;;;;GAcG;AACH,uCAAwD;AACxD,iCAA0E;AAC1E,uCAAuC;AACvC,iCAAiD;AACjD,+CAAkD;AAM3C,KAAK,UAAU,YAAY,CAC9B,MAA4B,EAC5B,MACmD;IAEnD,MAAM,CAAC,GAAS,MAAM,MAAM,CAAC;IAC7B,kFAAkF;IAClF,OAAO,IAAA,iBAAM,EAAC,CAAC,EAAE,MAAa,CAAqB,CAAC;AACxD,CAAC;AAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;AAE5D,MAAsB,WAAW;IAAjC;QACc,WAAM,GAAW,IAAA,iBAAU,GAAE,CAAC;QAChC,eAAU,GAAW,CAAC,CAAC;QACxB,eAAU,GAA0B,EAAE,CAAC;IA8HlD,CAAC;IA5HG,KAAK,CAAC,YAAY,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;QAC7D,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAI,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,KAAK,CAAc,IAAU,EAAE,CAAI,EAAE,MAAe;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,CAAgB,CAAA;QACpB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACf,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAS,EAAE,CAAC,CAAC,CAAA;gBACrC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE,CAAC;oBACvD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClB,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC/B,CAAC;oBACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBAClB,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBAClC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAO,CAAC;YAElC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC;wBACnC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;wBACvB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;4BAClB,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;gBAC9B,MAAM,CAAC,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,cAAc,CAAC,CAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAiB,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,CAAI,EAAE,CAAI;QAC7B,OAAO,CAAC,CAAA;IACZ,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAsB,EAAE,CAAI;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,IAAO,EAAE,CAAI;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,IAAO,EAAE,CAAI;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,CAAI;;QAC/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,sBAAY,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,KAAK,sBAAY,EAAE,CAAC;YAClC,OAAO,sBAAY,CAAC;QACxB,CAAC;aAAM,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,MAAM,KAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,IAAA,sBAAe,EAAC,OAAO,EAAE;YAC5B,OAAO,EAAE,MAAM,IAAA,eAAQ,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACxE,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,WAAW,CAAmB,MAAS,EAAE,CAAI;QACzD,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,WAAW,CACvB,MAAS,EACT,CAAI,EACJ,MAEmE;QAEnE,+EAA+E;QAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE9D,IAAI,MAAM,EAAE,CAAC;YACT,+EAA+E;YAC/E,oFAAoF;YACpF,MAAM,cAAc,mCAAQ,MAAM,KAAE,OAAO,EAAE,sBAAY,GAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,sFAAsF;YACtF,6EAA6E;YAC7E,IAAI,MAAM,KAAK,cAAc,IAAI,UAAU,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7D,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,gCAAK,MAAM,KAAE,OAAO,EAAE,UAAU,GAAO,CAAC;QACnD,CAAC;QAED,6CAA6C;QAC7C,OAAO,IAAA,sBAAe,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAgB,CAAC,CAAC;IAC1E,CAAC;CACJ;AAjID,kCAiIC;AAED,IAAA,iCAAmB,EAAC,WAAW,CAAC,CAAC;AAEjC,SAAgB,WAAW;IACvB,OAAO,IAAI,KAAM,SAAQ,WAAiB;QACtC,KAAK,CAAC,KAAK,CAAiB,IAAU;YAClC,OAAO,IAAoB,CAAC;QAChC,CAAC;KACJ,CAAA;AACL,CAAC;AAED,MAAa,cAAe,SAAQ,KAAK;IACrC,YAA4B,KAAY,EAAkB,MAAe;QACrE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QADK,UAAK,GAAL,KAAK,CAAO;QAAkB,WAAM,GAAN,MAAM,CAAS;IAEzE,CAAC;CACJ;AAJD,wCAIC"}
|
package/package.json
CHANGED
package/src/execution.ts
CHANGED
|
@@ -14,11 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import {RpcCodec, RpcCodecs, RpcReceiveQueue, RpcSendQueue} from "./rpc";
|
|
17
|
+
import {registerHeavyweight} from "./heavyweight";
|
|
17
18
|
|
|
18
19
|
export class ExecutionContext {
|
|
19
20
|
/** Mirrors `org.openrewrite.ExecutionContext.REQUIRE_PRINT_EQUALS_INPUT`. */
|
|
20
21
|
static readonly REQUIRE_PRINT_EQUALS_INPUT = "org.openrewrite.requirePrintEqualsInput";
|
|
21
22
|
|
|
23
|
+
/** Mirrors `org.openrewrite.ExecutionContext.SCANNING_MUTATION_VALIDATION`, which the test harness sets. */
|
|
24
|
+
static readonly SCANNING_MUTATION_VALIDATION = "org.openrewrite.test.scanningMutationValidation";
|
|
25
|
+
|
|
22
26
|
readonly kind: string = "org.openrewrite.InMemoryExecutionContext"
|
|
23
27
|
|
|
24
28
|
constructor(public readonly messages: { [key: string | symbol]: any } = {}) {
|
|
@@ -45,6 +49,8 @@ export class ExecutionContext {
|
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
|
|
52
|
+
registerHeavyweight(ExecutionContext);
|
|
53
|
+
|
|
48
54
|
const executionContextCodec: RpcCodec<ExecutionContext> = {
|
|
49
55
|
rpcNew(): ExecutionContext {
|
|
50
56
|
return new ExecutionContext();
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 the original author or authors.
|
|
3
|
+
* <p>
|
|
4
|
+
* Licensed under the Moderne Source Available License (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
* <p>
|
|
8
|
+
* https://docs.moderne.io/licensing/moderne-source-available-license
|
|
9
|
+
* <p>
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import {MarkersKind} from "./markers";
|
|
17
|
+
|
|
18
|
+
const heavyweightClasses: Function[] = [];
|
|
19
|
+
const heavyweightKinds = new Set<string>();
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Registers a class, or the kind of a plain object such as a marker, as a type too expensive to keep in memory for a
|
|
23
|
+
* whole run, as in a ScanningRecipe's accumulator.
|
|
24
|
+
*/
|
|
25
|
+
export function registerHeavyweight(type: string | (abstract new (...args: any[]) => unknown)): void {
|
|
26
|
+
if (typeof type === "string") {
|
|
27
|
+
heavyweightKinds.add(type);
|
|
28
|
+
} else if (!heavyweightClasses.includes(type)) {
|
|
29
|
+
heavyweightClasses.push(type);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** The registered kind or class that `value` is of, or the kind of a tree, which is always heavyweight. */
|
|
34
|
+
export function heavyweightType(value: object): string | Function | undefined {
|
|
35
|
+
const kind = (value as { kind?: unknown }).kind;
|
|
36
|
+
// a tree has an id and markers, and so do the Markers that hold its markers
|
|
37
|
+
if (typeof kind === "string" && (heavyweightKinds.has(kind) ||
|
|
38
|
+
"id" in value && "markers" in value && kind !== MarkersKind.Markers)) {
|
|
39
|
+
return kind;
|
|
40
|
+
}
|
|
41
|
+
return heavyweightClasses.find(type => value instanceof type);
|
|
42
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -33,6 +33,7 @@ export * from "./util";
|
|
|
33
33
|
export * from "./recipe";
|
|
34
34
|
export * from "./run";
|
|
35
35
|
export * from "./marketplace";
|
|
36
|
+
export {registerHeavyweight} from "./heavyweight";
|
|
36
37
|
|
|
37
38
|
// Install all recipes in this package
|
|
38
39
|
export async function activate(marketplace: RecipeMarketplace): Promise<void> {
|
package/src/java/tree.ts
CHANGED
|
@@ -752,7 +752,8 @@ export namespace J {
|
|
|
752
752
|
export interface Yield extends J, Statement {
|
|
753
753
|
readonly kind: typeof Kind.Yield;
|
|
754
754
|
readonly implicit: boolean;
|
|
755
|
-
|
|
755
|
+
/** Absent from a bare `yield`. */
|
|
756
|
+
readonly value?: Expression;
|
|
756
757
|
}
|
|
757
758
|
|
|
758
759
|
export interface Unknown extends J, Statement, Expression, TypeTree {
|