@openrewrite/rewrite 8.72.2 → 8.72.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/execution.js +3 -16
  2. package/dist/execution.js.map +1 -1
  3. package/dist/index.js +34 -49
  4. package/dist/index.js.map +1 -1
  5. package/dist/java/markers.js +12 -29
  6. package/dist/java/markers.js.map +1 -1
  7. package/dist/java/print.js +2 -13
  8. package/dist/java/print.js.map +1 -1
  9. package/dist/java/rpc.js +1344 -1725
  10. package/dist/java/rpc.js.map +1 -1
  11. package/dist/java/type-visitor.js +143 -184
  12. package/dist/java/type-visitor.js.map +1 -1
  13. package/dist/java/visitor.js +1072 -1249
  14. package/dist/java/visitor.js.map +1 -1
  15. package/dist/javascript/add-import.js +495 -534
  16. package/dist/javascript/add-import.js.map +1 -1
  17. package/dist/javascript/autodetect.js +116 -159
  18. package/dist/javascript/autodetect.js.map +1 -1
  19. package/dist/javascript/cleanup/add-parse-int-radix.js +41 -57
  20. package/dist/javascript/cleanup/add-parse-int-radix.js.map +1 -1
  21. package/dist/javascript/cleanup/prefer-optional-chain.js +89 -105
  22. package/dist/javascript/cleanup/prefer-optional-chain.js.map +1 -1
  23. package/dist/javascript/cleanup/use-object-property-shorthand.js +74 -95
  24. package/dist/javascript/cleanup/use-object-property-shorthand.js.map +1 -1
  25. package/dist/javascript/comparator.js +815 -1167
  26. package/dist/javascript/comparator.js.map +1 -1
  27. package/dist/javascript/dependency-workspace.js +206 -219
  28. package/dist/javascript/dependency-workspace.js.map +1 -1
  29. package/dist/javascript/format/format.js +682 -908
  30. package/dist/javascript/format/format.js.map +1 -1
  31. package/dist/javascript/format/minimum-viable-spacing-visitor.js +152 -231
  32. package/dist/javascript/format/minimum-viable-spacing-visitor.js.map +1 -1
  33. package/dist/javascript/format/normalize-whitespace-visitor.js +12 -31
  34. package/dist/javascript/format/normalize-whitespace-visitor.js.map +1 -1
  35. package/dist/javascript/format/prettier-config-loader.js +134 -153
  36. package/dist/javascript/format/prettier-config-loader.js.map +1 -1
  37. package/dist/javascript/format/prettier-format.js +112 -129
  38. package/dist/javascript/format/prettier-format.js.map +1 -1
  39. package/dist/javascript/format/tabs-and-indents-visitor.js +112 -136
  40. package/dist/javascript/format/tabs-and-indents-visitor.js.map +1 -1
  41. package/dist/javascript/markers.js +59 -92
  42. package/dist/javascript/markers.js.map +1 -1
  43. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js +39 -52
  44. package/dist/javascript/migrate/es6/modernize-octal-escape-sequences.js.map +1 -1
  45. package/dist/javascript/migrate/es6/modernize-octal-literals.js +25 -38
  46. package/dist/javascript/migrate/es6/modernize-octal-literals.js.map +1 -1
  47. package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js +66 -82
  48. package/dist/javascript/migrate/es6/remove-duplicate-object-keys.js.map +1 -1
  49. package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js +10 -23
  50. package/dist/javascript/migrate/typescript/export-assignment-to-export-default.js.map +1 -1
  51. package/dist/javascript/node-resolution-result.js +137 -166
  52. package/dist/javascript/node-resolution-result.js.map +1 -1
  53. package/dist/javascript/package-json-parser.js +312 -343
  54. package/dist/javascript/package-json-parser.js.map +1 -1
  55. package/dist/javascript/package-manager.js +145 -170
  56. package/dist/javascript/package-manager.js.map +1 -1
  57. package/dist/javascript/parser.d.ts.map +1 -1
  58. package/dist/javascript/parser.js +94 -68
  59. package/dist/javascript/parser.js.map +1 -1
  60. package/dist/javascript/print.js +1572 -1835
  61. package/dist/javascript/print.js.map +1 -1
  62. package/dist/javascript/project-parser.js +151 -172
  63. package/dist/javascript/project-parser.js.map +1 -1
  64. package/dist/javascript/recipes/add-dependency.js +140 -175
  65. package/dist/javascript/recipes/add-dependency.js.map +1 -1
  66. package/dist/javascript/recipes/async-callback-in-sync-array-method.js +20 -36
  67. package/dist/javascript/recipes/async-callback-in-sync-array-method.js.map +1 -1
  68. package/dist/javascript/recipes/auto-format.js +3 -14
  69. package/dist/javascript/recipes/auto-format.js.map +1 -1
  70. package/dist/javascript/recipes/change-import.js +447 -495
  71. package/dist/javascript/recipes/change-import.js.map +1 -1
  72. package/dist/javascript/recipes/order-imports.js +162 -175
  73. package/dist/javascript/recipes/order-imports.js.map +1 -1
  74. package/dist/javascript/recipes/upgrade-dependency-version.js +167 -197
  75. package/dist/javascript/recipes/upgrade-dependency-version.js.map +1 -1
  76. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js +166 -193
  77. package/dist/javascript/recipes/upgrade-transitive-dependency-version.js.map +1 -1
  78. package/dist/javascript/remove-import.js +689 -724
  79. package/dist/javascript/remove-import.js.map +1 -1
  80. package/dist/javascript/rpc.js +1007 -1332
  81. package/dist/javascript/rpc.js.map +1 -1
  82. package/dist/javascript/search/find-dependency.js +84 -110
  83. package/dist/javascript/search/find-dependency.js.map +1 -1
  84. package/dist/javascript/search/uses-method.js +5 -19
  85. package/dist/javascript/search/uses-method.js.map +1 -1
  86. package/dist/javascript/search/uses-type.js +9 -20
  87. package/dist/javascript/search/uses-type.js.map +1 -1
  88. package/dist/javascript/templating/comparator.js +737 -822
  89. package/dist/javascript/templating/comparator.js.map +1 -1
  90. package/dist/javascript/templating/engine.js +211 -245
  91. package/dist/javascript/templating/engine.js.map +1 -1
  92. package/dist/javascript/templating/pattern.js +169 -190
  93. package/dist/javascript/templating/pattern.js.map +1 -1
  94. package/dist/javascript/templating/placeholder-replacement.js +172 -210
  95. package/dist/javascript/templating/placeholder-replacement.js.map +1 -1
  96. package/dist/javascript/templating/rewrite.js +75 -97
  97. package/dist/javascript/templating/rewrite.js.map +1 -1
  98. package/dist/javascript/templating/template.js +69 -82
  99. package/dist/javascript/templating/template.js.map +1 -1
  100. package/dist/javascript/tree-debug.js +109 -137
  101. package/dist/javascript/tree-debug.js.map +1 -1
  102. package/dist/javascript/visitor.js +1090 -1254
  103. package/dist/javascript/visitor.js.map +1 -1
  104. package/dist/json/print.js +72 -103
  105. package/dist/json/print.js.map +1 -1
  106. package/dist/json/rpc.js +120 -181
  107. package/dist/json/rpc.js.map +1 -1
  108. package/dist/json/visitor.js +69 -100
  109. package/dist/json/visitor.js.map +1 -1
  110. package/dist/marketplace.js +20 -33
  111. package/dist/marketplace.js.map +1 -1
  112. package/dist/parse-error.js +41 -62
  113. package/dist/parse-error.js.map +1 -1
  114. package/dist/parser.js +7 -18
  115. package/dist/parser.js.map +1 -1
  116. package/dist/path-utils.js +46 -59
  117. package/dist/path-utils.js.map +1 -1
  118. package/dist/preconditions.js +30 -47
  119. package/dist/preconditions.js.map +1 -1
  120. package/dist/print.js +6 -19
  121. package/dist/print.js.map +1 -1
  122. package/dist/recipe.js +42 -73
  123. package/dist/recipe.js.map +1 -1
  124. package/dist/rpc/index.js +74 -115
  125. package/dist/rpc/index.js.map +1 -1
  126. package/dist/rpc/queue.js +71 -90
  127. package/dist/rpc/queue.js.map +1 -1
  128. package/dist/rpc/recipe.js +32 -57
  129. package/dist/rpc/recipe.js.map +1 -1
  130. package/dist/rpc/request/generate.js +4 -13
  131. package/dist/rpc/request/generate.js.map +1 -1
  132. package/dist/rpc/request/get-languages.js +2 -11
  133. package/dist/rpc/request/get-languages.js.map +1 -1
  134. package/dist/rpc/request/get-marketplace.js +9 -20
  135. package/dist/rpc/request/get-marketplace.js.map +1 -1
  136. package/dist/rpc/request/get-object.js +4 -13
  137. package/dist/rpc/request/get-object.js.map +1 -1
  138. package/dist/rpc/request/install-recipes.js +25 -36
  139. package/dist/rpc/request/install-recipes.js.map +1 -1
  140. package/dist/rpc/request/metrics.js +8 -17
  141. package/dist/rpc/request/metrics.js.map +1 -1
  142. package/dist/rpc/request/parse-project.js +36 -45
  143. package/dist/rpc/request/parse-project.js.map +1 -1
  144. package/dist/rpc/request/parse.js +5 -14
  145. package/dist/rpc/request/parse.js.map +1 -1
  146. package/dist/rpc/request/prepare-recipe.js +37 -52
  147. package/dist/rpc/request/prepare-recipe.js.map +1 -1
  148. package/dist/rpc/request/print.js +5 -14
  149. package/dist/rpc/request/print.js.map +1 -1
  150. package/dist/rpc/request/visit.js +56 -71
  151. package/dist/rpc/request/visit.js.map +1 -1
  152. package/dist/rpc/rewrite-rpc.js +70 -97
  153. package/dist/rpc/rewrite-rpc.js.map +1 -1
  154. package/dist/rpc/server.js +76 -89
  155. package/dist/rpc/server.js.map +1 -1
  156. package/dist/run.js +47 -66
  157. package/dist/run.js.map +1 -1
  158. package/dist/search/is-source-file.js +8 -19
  159. package/dist/search/is-source-file.js.map +1 -1
  160. package/dist/test/rewrite-test.js +154 -188
  161. package/dist/test/rewrite-test.js.map +1 -1
  162. package/dist/text/print.js +23 -38
  163. package/dist/text/print.js.map +1 -1
  164. package/dist/text/rpc.js +29 -44
  165. package/dist/text/rpc.js.map +1 -1
  166. package/dist/text/visitor.js +16 -33
  167. package/dist/text/visitor.js.map +1 -1
  168. package/dist/util.js +13 -24
  169. package/dist/util.js.map +1 -1
  170. package/dist/version.txt +1 -1
  171. package/dist/visitor.js +84 -115
  172. package/dist/visitor.js.map +1 -1
  173. package/dist/yaml/index.d.ts +2 -0
  174. package/dist/yaml/index.d.ts.map +1 -1
  175. package/dist/yaml/index.js +2 -0
  176. package/dist/yaml/index.js.map +1 -1
  177. package/dist/yaml/markers.d.ts +21 -0
  178. package/dist/yaml/markers.d.ts.map +1 -0
  179. package/dist/yaml/markers.js +37 -0
  180. package/dist/yaml/markers.js.map +1 -0
  181. package/dist/yaml/parser.d.ts.map +1 -1
  182. package/dist/yaml/parser.js +4 -1
  183. package/dist/yaml/parser.js.map +1 -1
  184. package/dist/yaml/print.d.ts +1 -1
  185. package/dist/yaml/print.d.ts.map +1 -1
  186. package/dist/yaml/print.js +175 -208
  187. package/dist/yaml/print.js.map +1 -1
  188. package/dist/yaml/rpc.js +154 -219
  189. package/dist/yaml/rpc.js.map +1 -1
  190. package/dist/yaml/visitor.js +78 -113
  191. package/dist/yaml/visitor.js.map +1 -1
  192. package/package.json +1 -1
  193. package/src/javascript/parser.ts +56 -14
  194. package/src/yaml/index.ts +2 -0
  195. package/src/yaml/markers.ts +70 -0
  196. package/src/yaml/parser.ts +5 -1
  197. package/src/yaml/print.ts +5 -2
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.PrepareRecipe = void 0;
46
37
  /*
@@ -71,7 +62,7 @@ class PrepareRecipe {
71
62
  }
72
63
  static handle(connection, marketplace, preparedRecipes, metricsCsv) {
73
64
  const snowflake = (0, snowflake_id_1.SnowflakeId)();
74
- connection.onRequest(new rpc.RequestType("PrepareRecipe"), (0, metrics_1.withMetrics)("PrepareRecipe", metricsCsv, (context) => (request) => __awaiter(this, void 0, void 0, function* () {
65
+ connection.onRequest(new rpc.RequestType("PrepareRecipe"), (0, metrics_1.withMetrics)("PrepareRecipe", metricsCsv, (context) => async (request) => {
75
66
  context.target = request.id;
76
67
  const id = snowflake.generate();
77
68
  const recipeCtor = marketplace.findRecipe(request.id);
@@ -83,67 +74,61 @@ class PrepareRecipe {
83
74
  }
84
75
  let recipe = new recipeCtor[1](request.options);
85
76
  const editPreconditions = [];
86
- recipe = yield this.optimizePreconditions(recipe, "edit", editPreconditions);
77
+ recipe = await this.optimizePreconditions(recipe, "edit", editPreconditions);
87
78
  const scanPreconditions = [];
88
- recipe = yield this.optimizePreconditions(recipe, "scan", scanPreconditions);
79
+ recipe = await this.optimizePreconditions(recipe, "scan", scanPreconditions);
89
80
  preparedRecipes.set(id, recipe);
90
81
  const result = {
91
82
  id: id,
92
- descriptor: yield recipe.descriptor(),
83
+ descriptor: await recipe.descriptor(),
93
84
  editVisitor: `edit:${id}`,
94
85
  editPreconditions: editPreconditions,
95
86
  scanVisitor: recipe instanceof recipe_1.ScanningRecipe ? `scan:${id}` : undefined,
96
87
  scanPreconditions: scanPreconditions
97
88
  };
98
89
  return result;
99
- })));
90
+ }));
100
91
  }
101
92
  /**
102
93
  * For preconditions that can be evaluated on the remote peer, let the remote peer
103
94
  * evaluate them and know that we will only have to do the visit work if the
104
95
  * precondition passes.
105
96
  */
106
- static optimizePreconditions(recipe, phase, preconditions) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- let visitor;
109
- if (phase === "edit") {
110
- visitor = yield recipe.editor();
111
- }
112
- else if (phase === "scan") {
113
- if (recipe instanceof recipe_1.ScanningRecipe) {
114
- visitor = yield recipe.scanner(undefined);
115
- }
116
- else {
117
- return recipe;
118
- }
119
- }
120
- if (visitor instanceof preconditions_1.Check) {
121
- if (visitor.check instanceof recipe_2.RpcRecipe) {
122
- preconditions.push({ visitorName: phase === "edit" ? visitor.check.editVisitor : visitor.check.scanVisitor });
123
- recipe = Object.assign(Object.create(Object.getPrototypeOf(recipe)), recipe, phase === "edit" ?
124
- {
125
- editor() {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- return visitor.v;
128
- });
129
- }
130
- } :
131
- {
132
- scanner(acc) {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- const checkVisitor = yield recipe.scanner(acc);
135
- return checkVisitor.v;
136
- });
137
- }
138
- });
139
- }
140
- this.visitorTypePrecondition(preconditions, visitor.v);
97
+ static async optimizePreconditions(recipe, phase, preconditions) {
98
+ let visitor;
99
+ if (phase === "edit") {
100
+ visitor = await recipe.editor();
101
+ }
102
+ else if (phase === "scan") {
103
+ if (recipe instanceof recipe_1.ScanningRecipe) {
104
+ visitor = await recipe.scanner(undefined);
141
105
  }
142
106
  else {
143
- this.visitorTypePrecondition(preconditions, visitor);
107
+ return recipe;
144
108
  }
145
- return recipe;
146
- });
109
+ }
110
+ if (visitor instanceof preconditions_1.Check) {
111
+ if (visitor.check instanceof recipe_2.RpcRecipe) {
112
+ preconditions.push({ visitorName: phase === "edit" ? visitor.check.editVisitor : visitor.check.scanVisitor });
113
+ recipe = Object.assign(Object.create(Object.getPrototypeOf(recipe)), recipe, phase === "edit" ?
114
+ {
115
+ async editor() {
116
+ return visitor.v;
117
+ }
118
+ } :
119
+ {
120
+ async scanner(acc) {
121
+ const checkVisitor = await recipe.scanner(acc);
122
+ return checkVisitor.v;
123
+ }
124
+ });
125
+ }
126
+ this.visitorTypePrecondition(preconditions, visitor.v);
127
+ }
128
+ else {
129
+ this.visitorTypePrecondition(preconditions, visitor);
130
+ }
131
+ return recipe;
147
132
  }
148
133
  static visitorTypePrecondition(preconditions, v) {
149
134
  let treeType;
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-recipe.js","sourceRoot":"","sources":["../../../src/rpc/request/prepare-recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-recipe.js","sourceRoot":"","sources":["../../../src/rpc/request/prepare-recipe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAE3C,yCAAsE;AACtE,gEAA0D;AAC1D,uDAA0C;AAC1C,sCAAoC;AAGpC,uCAAsC;AAGtC,MAAa,aAAa;IACtB,YAA6B,EAAU,EAAmB,OAAa;QAA1C,OAAE,GAAF,EAAE,CAAQ;QAAmB,YAAO,GAAP,OAAO,CAAM;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAA6B,EAC7B,WAA8B,EAC9B,eAAoC,EACpC,UAAmB;QAC7B,MAAM,SAAS,GAAG,IAAA,0BAAW,GAAE,CAAC;QAChC,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAA8C,eAAe,CAAC,EACjF,IAAA,qBAAW,EACP,eAAe,EACf,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,EAAE,sCAAsC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,iBAAiB,GAAmB,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAE7E,MAAM,iBAAiB,GAAmB,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAE7E,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,MAAM,MAAM,CAAC,UAAU,EAAE;gBACrC,WAAW,EAAE,QAAQ,EAAE,EAAE;gBACzB,iBAAiB,EAAE,iBAAiB;gBACpC,WAAW,EAAE,MAAM,YAAY,uBAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;gBACxE,iBAAiB,EAAE,iBAAiB;aACvC,CAAC;YAEF,OAAO,MAAM,CAAC;QAClB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,KAAsB,EAAE,aAA6B;QAC5G,IAAI,OAA2C,CAAC;QAChD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,MAAM,YAAY,uBAAc,EAAE,CAAC;gBACnC,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,IAAI,OAAQ,YAAY,qBAAK,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,YAAY,kBAAS,EAAE,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,EAAC,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAY,EAAC,CAAC,CAAC;gBAC7G,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAC5C,MAAM,EACN,KAAK,KAAK,MAAM,CAAC,CAAC;oBACd;wBACI,KAAK,CAAC,MAAM;4BACR,OAAO,OAAO,CAAC,CAAC,CAAC;wBACrB,CAAC;qBACJ,CAAC,CAAC;oBACH;wBACI,KAAK,CAAC,OAAO,CAAC,GAAQ;4BAClB,MAAM,YAAY,GAAG,MAAO,MAA8B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BACxE,OAAQ,YAA2B,CAAC,CAAC,CAAC;wBAC1C,CAAC;qBACJ,CACR,CAAA;YACL,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,OAAQ,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,aAA6B,EAAE,CAAqC;QACvG,IAAI,QAA4B,CAAC;QAEjC,wEAAwE;QACxE,MAAM,EAAC,WAAW,EAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAC,iBAAiB,EAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACxD,MAAM,EAAC,WAAW,EAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAC,gBAAgB,EAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,EAAC,WAAW,EAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;YAC3B,QAAQ,GAAG,gCAAgC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,YAAY,iBAAiB,EAAE,CAAC;YACxC,0EAA0E;YAC1E,2DAA2D;YAC3D,QAAQ,GAAG,oCAAoC,CAAC;QACpD,CAAC;aAAM,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;YAClC,QAAQ,GAAG,6BAA6B,CAAC;QAC7C,CAAC;aAAM,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;YACvC,QAAQ,GAAG,gCAAgC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;YAClC,QAAQ,GAAG,gCAAgC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACX,aAAa,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,8CAA8C;gBAC3D,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACnC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AA5HD,sCA4HC"}
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.Print = exports.MarkerPrinter = void 0;
46
37
  /*
@@ -75,8 +66,8 @@ class Print {
75
66
  this.markerPrinter = markerPrinter;
76
67
  }
77
68
  static handle(connection, getObject, logger, metricsCsv) {
78
- connection.onRequest(new rpc.RequestType("Print"), (0, metrics_1.withMetrics)("Print", metricsCsv, (context) => (request) => __awaiter(this, void 0, void 0, function* () {
79
- const tree = yield getObject(request.treeId.toString(), request.sourceFileType);
69
+ connection.onRequest(new rpc.RequestType("Print"), (0, metrics_1.withMetrics)("Print", metricsCsv, (context) => async (request) => {
70
+ const tree = await getObject(request.treeId.toString(), request.sourceFileType);
80
71
  context.target = (0, metrics_1.extractSourcePath)(tree);
81
72
  if (logger) {
82
73
  logger.log("Printing " + ((0, tree_1.isSourceFile)(tree) ? tree.sourcePath : `tree of type ${tree.kind} in ${context.target}`));
@@ -84,13 +75,13 @@ class Print {
84
75
  const out = new print_1.PrintOutputCapture(print_1.MarkerPrinter[request.markerPrinter]);
85
76
  let result;
86
77
  if ((0, tree_1.isSourceFile)(tree)) {
87
- result = yield (0, print_1.printer)(tree).print(tree, out);
78
+ result = await (0, print_1.printer)(tree).print(tree, out);
88
79
  }
89
80
  else {
90
- result = yield (0, print_1.printer)(request.sourceFileType).print(tree, out);
81
+ result = await (0, print_1.printer)(request.sourceFileType).print(tree, out);
91
82
  }
92
83
  return result;
93
- })));
84
+ }));
94
85
  }
95
86
  }
96
87
  exports.Print = Print;
@@ -1 +1 @@
1
- {"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/rpc/request/print.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,qCAA8C;AAC9C,uCAA6F;AAE7F,uCAAyD;AAEzD,IAAkB,aAIjB;AAJD,WAAkB,aAAa;IAC3B,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AAC3B,CAAC,EAJiB,aAAa,6BAAb,aAAa,QAI9B;AAED,MAAa,KAAK;IACd,YAA6B,MAAY,EACZ,cAAsB,EAC9B,gBAA+B,aAAa,CAAC,OAAO;QAF5C,WAAM,GAAN,MAAM,CAAM;QACZ,mBAAc,GAAd,cAAc,CAAQ;QAC9B,kBAAa,GAAb,aAAa,CAAuC;IACzE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EACjC,SAAsD,EACtD,MAAmB,EACnB,UAAmB;QAC7B,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAuB,OAAO,CAAC,EAClD,IAAA,qBAAW,EACP,OAAO,EACP,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,CAAM,OAAO,EAAC,EAAE;YACzB,MAAM,IAAI,GAAS,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACtF,OAAO,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,0BAAkB,CAAC,qBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9E,IAAI,MAAc,CAAC;YACnB,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AAjCD,sBAiCC"}
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../../../src/rpc/request/print.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,yDAA2C;AAC3C,qCAA8C;AAC9C,uCAA6F;AAE7F,uCAAyD;AAEzD,IAAkB,aAIjB;AAJD,WAAkB,aAAa;IAC3B,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,wCAAuB,CAAA;AAC3B,CAAC,EAJiB,aAAa,6BAAb,aAAa,QAI9B;AAED,MAAa,KAAK;IACd,YAA6B,MAAY,EACZ,cAAsB,EAC9B,gBAA+B,aAAa,CAAC,OAAO;QAF5C,WAAM,GAAN,MAAM,CAAM;QACZ,mBAAc,GAAd,cAAc,CAAQ;QAC9B,kBAAa,GAAb,aAAa,CAAuC;IACzE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAiC,EACjC,SAAsD,EACtD,MAAmB,EACnB,UAAmB;QAC7B,UAAU,CAAC,SAAS,CAChB,IAAI,GAAG,CAAC,WAAW,CAAuB,OAAO,CAAC,EAClD,IAAA,qBAAW,EACP,OAAO,EACP,UAAU,EACV,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzB,MAAM,IAAI,GAAS,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACtF,OAAO,CAAC,MAAM,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxH,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,0BAAkB,CAAC,qBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9E,IAAI,MAAc,CAAC;YACnB,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,IAAA,eAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CACJ,CACJ,CAAC;IACN,CAAC;CACJ;AAjCD,sBAiCC"}
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.Visit = void 0;
46
37
  /*
@@ -74,14 +65,14 @@ class Visit {
74
65
  this.cursor = cursor;
75
66
  }
76
67
  static handle(connection, localObjects, preparedRecipes, recipeCursors, getObject, getCursor, metricsCsv) {
77
- connection.onRequest(new rpc.RequestType("Visit"), (0, metrics_1.withMetrics)("Visit", metricsCsv, (context) => (request) => __awaiter(this, void 0, void 0, function* () {
78
- const p = yield getObject(request.p, undefined);
79
- const before = yield getObject(request.treeId, request.sourceFileType);
80
- const cursor = yield getCursor(request.cursor, request.sourceFileType);
68
+ connection.onRequest(new rpc.RequestType("Visit"), (0, metrics_1.withMetrics)("Visit", metricsCsv, (context) => async (request) => {
69
+ const p = await getObject(request.p, undefined);
70
+ const before = await getObject(request.treeId, request.sourceFileType);
71
+ const cursor = await getCursor(request.cursor, request.sourceFileType);
81
72
  context.target = (0, metrics_1.extractSourcePath)(before, cursor);
82
73
  localObjects.set(before.id.toString(), before);
83
- const visitor = yield Visit.instantiateVisitor(request, preparedRecipes, recipeCursors, p);
84
- const after = yield visitor.visit(before, p, cursor);
74
+ const visitor = await Visit.instantiateVisitor(request, preparedRecipes, recipeCursors, p);
75
+ const after = await visitor.visit(before, p, cursor);
85
76
  if (!after) {
86
77
  localObjects.delete(before.id.toString());
87
78
  }
@@ -89,72 +80,66 @@ class Visit {
89
80
  localObjects.set(after.id.toString(), after);
90
81
  }
91
82
  return { modified: before !== after };
92
- })));
83
+ }));
93
84
  }
94
- static instantiateVisitor(request, preparedRecipes, recipeCursors, p) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- const visitorName = request.visitor;
97
- if (visitorName.startsWith("scan:")) {
98
- const recipeKey = visitorName.substring("scan:".length);
99
- const recipe = preparedRecipes.get(recipeKey);
100
- if (!recipe) {
101
- throw new Error(`No scanning recipe found for key: ${recipeKey}`);
85
+ static async instantiateVisitor(request, preparedRecipes, recipeCursors, p) {
86
+ const visitorName = request.visitor;
87
+ if (visitorName.startsWith("scan:")) {
88
+ const recipeKey = visitorName.substring("scan:".length);
89
+ const recipe = preparedRecipes.get(recipeKey);
90
+ if (!recipe) {
91
+ throw new Error(`No scanning recipe found for key: ${recipeKey}`);
92
+ }
93
+ // If we're transitioning from edit back to scan, this is a new cycle.
94
+ // Clear the cursor so a fresh accumulator is created.
95
+ if (recipePhases.get(recipe) === 'edit') {
96
+ recipeCursors.delete(recipe);
97
+ }
98
+ recipePhases.set(recipe, 'scan');
99
+ let cursor = recipeCursors.get(recipe);
100
+ if (!cursor) {
101
+ cursor = (0, tree_1.rootCursor)();
102
+ recipeCursors.set(recipe, cursor);
103
+ }
104
+ const acc = recipe.accumulator(cursor, p);
105
+ return new class extends visitor_1.TreeVisitor {
106
+ // Delegate isAcceptable to the scanner visitor
107
+ // This ensures we only process source files the scanner can handle
108
+ async isAcceptable(sourceFile, ctx) {
109
+ return (await recipe.scanner(acc)).isAcceptable(sourceFile, ctx);
102
110
  }
103
- // If we're transitioning from edit back to scan, this is a new cycle.
104
- // Clear the cursor so a fresh accumulator is created.
105
- if (recipePhases.get(recipe) === 'edit') {
106
- recipeCursors.delete(recipe);
111
+ async preVisit(tree, ctx) {
112
+ await (await recipe.scanner(acc)).visit(tree, ctx);
113
+ this.stopAfterPreVisit();
114
+ return tree;
107
115
  }
108
- recipePhases.set(recipe, 'scan');
116
+ };
117
+ }
118
+ else if (visitorName.startsWith("edit:")) {
119
+ const recipeKey = visitorName.substring("edit:".length);
120
+ const recipe = preparedRecipes.get(recipeKey);
121
+ if (!recipe) {
122
+ throw new Error(`No editing recipe found for key: ${recipeKey}`);
123
+ }
124
+ recipePhases.set(recipe, 'edit');
125
+ // For ScanningRecipe, we need to use the same cursor that was used during scanning
126
+ // to retrieve the accumulator that was stored there
127
+ if (recipe instanceof recipe_1.ScanningRecipe) {
109
128
  let cursor = recipeCursors.get(recipe);
110
129
  if (!cursor) {
111
130
  cursor = (0, tree_1.rootCursor)();
112
131
  recipeCursors.set(recipe, cursor);
113
132
  }
114
133
  const acc = recipe.accumulator(cursor, p);
115
- return new class extends visitor_1.TreeVisitor {
116
- // Delegate isAcceptable to the scanner visitor
117
- // This ensures we only process source files the scanner can handle
118
- isAcceptable(sourceFile, ctx) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- return (yield recipe.scanner(acc)).isAcceptable(sourceFile, ctx);
121
- });
122
- }
123
- preVisit(tree, ctx) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- yield (yield recipe.scanner(acc)).visit(tree, ctx);
126
- this.stopAfterPreVisit();
127
- return tree;
128
- });
129
- }
130
- };
131
- }
132
- else if (visitorName.startsWith("edit:")) {
133
- const recipeKey = visitorName.substring("edit:".length);
134
- const recipe = preparedRecipes.get(recipeKey);
135
- if (!recipe) {
136
- throw new Error(`No editing recipe found for key: ${recipeKey}`);
137
- }
138
- recipePhases.set(recipe, 'edit');
139
- // For ScanningRecipe, we need to use the same cursor that was used during scanning
140
- // to retrieve the accumulator that was stored there
141
- if (recipe instanceof recipe_1.ScanningRecipe) {
142
- let cursor = recipeCursors.get(recipe);
143
- if (!cursor) {
144
- cursor = (0, tree_1.rootCursor)();
145
- recipeCursors.set(recipe, cursor);
146
- }
147
- const acc = recipe.accumulator(cursor, p);
148
- return recipe.editorWithData(acc);
149
- }
150
- return yield recipe.editor();
151
- }
152
- else {
153
- return Reflect.construct(
154
- // "as any" bypasses strict type checking
155
- globalThis[visitorName], request.visitorOptions ? Array.from(request.visitorOptions.values()) : []);
134
+ return recipe.editorWithData(acc);
156
135
  }
157
- });
136
+ return await recipe.editor();
137
+ }
138
+ else {
139
+ return Reflect.construct(
140
+ // "as any" bypasses strict type checking
141
+ globalThis[visitorName], request.visitorOptions ? Array.from(request.visitorOptions.values()) : []);
142
+ }
158
143
  }
159
144
  }
160
145
  exports.Visit = Visit;
@@ -1 +1 @@
1
- {"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visit.js","sourceRoot":"","sources":["../../../src/rpc/request/visit.ts"],"names":[],"mappings":"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"}
@@ -32,15 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
35
  Object.defineProperty(exports, "__esModule", { value: true });
45
36
  exports.RewriteRpc = void 0;
46
37
  /*
@@ -101,10 +92,10 @@ class RewriteRpc {
101
92
  request_1.ParseProject.handle(this.connection, this.localObjects, options.metricsCsv);
102
93
  request_1.Print.handle(this.connection, getObject, options.logger, options.metricsCsv);
103
94
  install_recipes_1.InstallRecipes.handle(this.connection, (_a = options.recipeInstallDir) !== null && _a !== void 0 ? _a : ".rewrite", marketplace, options.logger, options.metricsCsv);
104
- this.connection.onRequest(new rpc.RequestType("TraceGetObject"), (request) => __awaiter(this, void 0, void 0, function* () {
95
+ this.connection.onRequest(new rpc.RequestType("TraceGetObject"), async (request) => {
105
96
  this.traceGetObject = request;
106
97
  return true;
107
- }));
98
+ });
108
99
  RewriteRpc.set(this);
109
100
  this.connection.listen();
110
101
  }
@@ -118,96 +109,78 @@ class RewriteRpc {
118
109
  this.connection.end();
119
110
  return this;
120
111
  }
121
- getObject(id, sourceFileType) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const localObject = this.localObjects.get(id);
124
- const q = new queue_1.RpcReceiveQueue(this.remoteRefs, sourceFileType, () => {
125
- return this.connection.sendRequest(new rpc.RequestType("GetObject"), new request_1.GetObject(id, sourceFileType));
126
- }, this.logger, this.traceGetObject.receive);
127
- const remoteObject = yield q.receive(localObject);
128
- const eof = (yield q.take());
129
- if (eof.state !== queue_1.RpcObjectState.END_OF_OBJECT) {
130
- queue_1.RpcObjectData.logTrace(eof, this.traceGetObject.receive, this.logger);
131
- throw new Error(`Expected END_OF_OBJECT but got: ${eof.state}`);
132
- }
133
- this.remoteObjects.set(id, remoteObject);
134
- this.localObjects.set(id, remoteObject);
135
- return remoteObject;
136
- });
137
- }
138
- getCursor(cursorIds, sourceFileType) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- let cursor = (0, tree_1.rootCursor)();
141
- if (cursorIds) {
142
- for (let i = cursorIds.length - 1; i >= 0; i--) {
143
- const cursorObject = yield this.getObject(cursorIds[i], sourceFileType);
144
- this.remoteObjects.set(cursorIds[i], cursorObject);
145
- cursor = new tree_1.Cursor(cursorObject, cursor);
146
- }
147
- }
148
- return cursor;
149
- });
150
- }
151
- parse(inputs, sourceFileType, relativeTo) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- const parsed = [];
154
- for (const g of yield this.connection.sendRequest(new rpc.RequestType("Parse"), new request_1.Parse(inputs, relativeTo))) {
155
- parsed.push(yield this.getObject(g, sourceFileType));
156
- }
157
- return parsed;
158
- });
159
- }
160
- print(tree, cursor) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- if (!cursor && !(0, tree_1.isSourceFile)(tree)) {
163
- throw new Error("Cursor is required for non-SourceFile trees");
164
- }
165
- this.localObjects.set(tree.id.toString(), tree);
166
- const sourceFile = (0, tree_1.isSourceFile)(tree) ? tree : cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t));
167
- return yield this.connection.sendRequest(new rpc.RequestType("Print"), new request_1.Print(tree.id, sourceFile.kind));
168
- });
169
- }
170
- languages() {
171
- return __awaiter(this, void 0, void 0, function* () {
172
- if (!this.remoteLanguages) {
173
- this.remoteLanguages = yield this.connection.sendRequest(new rpc.RequestType0("GetLanguages"));
112
+ async getObject(id, sourceFileType) {
113
+ const localObject = this.localObjects.get(id);
114
+ const q = new queue_1.RpcReceiveQueue(this.remoteRefs, sourceFileType, () => {
115
+ return this.connection.sendRequest(new rpc.RequestType("GetObject"), new request_1.GetObject(id, sourceFileType));
116
+ }, this.logger, this.traceGetObject.receive);
117
+ const remoteObject = await q.receive(localObject);
118
+ const eof = (await q.take());
119
+ if (eof.state !== queue_1.RpcObjectState.END_OF_OBJECT) {
120
+ queue_1.RpcObjectData.logTrace(eof, this.traceGetObject.receive, this.logger);
121
+ throw new Error(`Expected END_OF_OBJECT but got: ${eof.state}`);
122
+ }
123
+ this.remoteObjects.set(id, remoteObject);
124
+ this.localObjects.set(id, remoteObject);
125
+ return remoteObject;
126
+ }
127
+ async getCursor(cursorIds, sourceFileType) {
128
+ let cursor = (0, tree_1.rootCursor)();
129
+ if (cursorIds) {
130
+ for (let i = cursorIds.length - 1; i >= 0; i--) {
131
+ const cursorObject = await this.getObject(cursorIds[i], sourceFileType);
132
+ this.remoteObjects.set(cursorIds[i], cursorObject);
133
+ cursor = new tree_1.Cursor(cursorObject, cursor);
174
134
  }
175
- return this.remoteLanguages;
176
- });
177
- }
178
- marketplace() {
179
- return __awaiter(this, void 0, void 0, function* () {
180
- const rows = yield this.connection.sendRequest(new rpc.RequestType0("GetMarketplace"));
181
- return yield (0, request_1.toMarketplace)(rows);
182
- });
135
+ }
136
+ return cursor;
183
137
  }
184
- prepareRecipe(id, options) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- const response = yield this.connection.sendRequest(new rpc.RequestType("PrepareRecipe"), new request_1.PrepareRecipe(id, options));
187
- return new recipe_1.RpcRecipe(this, response.id, response.descriptor, response.editVisitor, response.scanVisitor);
188
- });
138
+ async parse(inputs, sourceFileType, relativeTo) {
139
+ const parsed = [];
140
+ for (const g of await this.connection.sendRequest(new rpc.RequestType("Parse"), new request_1.Parse(inputs, relativeTo))) {
141
+ parsed.push(await this.getObject(g, sourceFileType));
142
+ }
143
+ return parsed;
189
144
  }
190
- visit(tree, visitorName, p, cursor) {
191
- return __awaiter(this, void 0, void 0, function* () {
192
- this.localObjects.set(tree.id.toString(), tree);
193
- const pId = this.localObject(p);
194
- const cursorIds = this.getCursorIds(cursor);
195
- const sourceFileType = (0, tree_1.isSourceFile)(tree) ? tree.kind :
196
- cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t)).kind;
197
- const response = yield this.connection.sendRequest(new rpc.RequestType("Visit"), new request_1.Visit(visitorName, sourceFileType, undefined, tree.id.toString(), pId, cursorIds));
198
- return response.modified ? this.getObject(tree.id.toString(), sourceFileType) : tree;
199
- });
145
+ async print(tree, cursor) {
146
+ if (!cursor && !(0, tree_1.isSourceFile)(tree)) {
147
+ throw new Error("Cursor is required for non-SourceFile trees");
148
+ }
149
+ this.localObjects.set(tree.id.toString(), tree);
150
+ const sourceFile = (0, tree_1.isSourceFile)(tree) ? tree : cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t));
151
+ return await this.connection.sendRequest(new rpc.RequestType("Print"), new request_1.Print(tree.id, sourceFile.kind));
200
152
  }
201
- generate(remoteRecipeId, ctx) {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- const ctxId = this.localObject(ctx);
204
- const generated = [];
205
- const response = yield this.connection.sendRequest(new rpc.RequestType("Generate"), new request_1.Generate(remoteRecipeId, ctxId));
206
- for (let i = 0; i < response.ids.length; i++) {
207
- generated.push(yield this.getObject(response.ids[i], response.sourceFileTypes[i]));
208
- }
209
- return generated;
210
- });
153
+ async languages() {
154
+ if (!this.remoteLanguages) {
155
+ this.remoteLanguages = await this.connection.sendRequest(new rpc.RequestType0("GetLanguages"));
156
+ }
157
+ return this.remoteLanguages;
158
+ }
159
+ async marketplace() {
160
+ const rows = await this.connection.sendRequest(new rpc.RequestType0("GetMarketplace"));
161
+ return await (0, request_1.toMarketplace)(rows);
162
+ }
163
+ async prepareRecipe(id, options) {
164
+ const response = await this.connection.sendRequest(new rpc.RequestType("PrepareRecipe"), new request_1.PrepareRecipe(id, options));
165
+ return new recipe_1.RpcRecipe(this, response.id, response.descriptor, response.editVisitor, response.scanVisitor);
166
+ }
167
+ async visit(tree, visitorName, p, cursor) {
168
+ this.localObjects.set(tree.id.toString(), tree);
169
+ const pId = this.localObject(p);
170
+ const cursorIds = this.getCursorIds(cursor);
171
+ const sourceFileType = (0, tree_1.isSourceFile)(tree) ? tree.kind :
172
+ cursor.firstEnclosing(t => (0, tree_1.isSourceFile)(t)).kind;
173
+ const response = await this.connection.sendRequest(new rpc.RequestType("Visit"), new request_1.Visit(visitorName, sourceFileType, undefined, tree.id.toString(), pId, cursorIds));
174
+ return response.modified ? this.getObject(tree.id.toString(), sourceFileType) : tree;
175
+ }
176
+ async generate(remoteRecipeId, ctx) {
177
+ const ctxId = this.localObject(ctx);
178
+ const generated = [];
179
+ const response = await this.connection.sendRequest(new rpc.RequestType("Generate"), new request_1.Generate(remoteRecipeId, ctxId));
180
+ for (let i = 0; i < response.ids.length; i++) {
181
+ generated.push(await this.getObject(response.ids[i], response.sourceFileTypes[i]));
182
+ }
183
+ return generated;
211
184
  }
212
185
  installRecipes(recipes) {
213
186
  return this.connection.sendRequest(new rpc.RequestType("InstallRecipes"), new install_recipes_1.InstallRecipes(recipes));