@openrewrite/rewrite 8.62.0 → 8.62.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/java/rpc.d.ts +3 -3
  2. package/dist/java/rpc.d.ts.map +1 -1
  3. package/dist/java/rpc.js +6 -6
  4. package/dist/java/rpc.js.map +1 -1
  5. package/dist/java/tree.d.ts +31 -33
  6. package/dist/java/tree.d.ts.map +1 -1
  7. package/dist/java/tree.js +125 -7
  8. package/dist/java/tree.js.map +1 -1
  9. package/dist/java/type.d.ts +70 -57
  10. package/dist/java/type.d.ts.map +1 -1
  11. package/dist/java/type.js +454 -25
  12. package/dist/java/type.js.map +1 -1
  13. package/dist/java/visitor.d.ts +4 -4
  14. package/dist/java/visitor.d.ts.map +1 -1
  15. package/dist/java/visitor.js +34 -28
  16. package/dist/java/visitor.js.map +1 -1
  17. package/dist/javascript/assertions.d.ts +3 -0
  18. package/dist/javascript/assertions.d.ts.map +1 -1
  19. package/dist/javascript/assertions.js +78 -1
  20. package/dist/javascript/assertions.js.map +1 -1
  21. package/dist/javascript/format.js +4 -4
  22. package/dist/javascript/format.js.map +1 -1
  23. package/dist/javascript/parser.d.ts +1 -1
  24. package/dist/javascript/parser.d.ts.map +1 -1
  25. package/dist/javascript/parser.js +38 -11
  26. package/dist/javascript/parser.js.map +1 -1
  27. package/dist/javascript/rpc.js +1 -4
  28. package/dist/javascript/rpc.js.map +1 -1
  29. package/dist/javascript/tree.d.ts +33 -35
  30. package/dist/javascript/tree.d.ts.map +1 -1
  31. package/dist/javascript/tree.js +70 -17
  32. package/dist/javascript/tree.js.map +1 -1
  33. package/dist/javascript/type-mapping.d.ts +44 -8
  34. package/dist/javascript/type-mapping.d.ts.map +1 -1
  35. package/dist/javascript/type-mapping.js +571 -101
  36. package/dist/javascript/type-mapping.js.map +1 -1
  37. package/dist/javascript/visitor.d.ts +2 -2
  38. package/dist/javascript/visitor.d.ts.map +1 -1
  39. package/dist/javascript/visitor.js.map +1 -1
  40. package/dist/json/tree.d.ts +0 -2
  41. package/dist/json/tree.d.ts.map +1 -1
  42. package/dist/json/tree.js +12 -2
  43. package/dist/json/tree.js.map +1 -1
  44. package/dist/reference.js +1 -1
  45. package/dist/reference.js.map +1 -1
  46. package/dist/rpc/chrome-profiler.d.ts +25 -0
  47. package/dist/rpc/chrome-profiler.d.ts.map +1 -0
  48. package/dist/rpc/chrome-profiler.js +405 -0
  49. package/dist/rpc/chrome-profiler.js.map +1 -0
  50. package/dist/rpc/queue.d.ts +0 -3
  51. package/dist/rpc/queue.d.ts.map +1 -1
  52. package/dist/rpc/queue.js +6 -6
  53. package/dist/rpc/queue.js.map +1 -1
  54. package/dist/rpc/request/parse.d.ts.map +1 -1
  55. package/dist/rpc/request/parse.js.map +1 -1
  56. package/dist/rpc/rewrite-rpc.d.ts +1 -0
  57. package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
  58. package/dist/rpc/rewrite-rpc.js +1 -1
  59. package/dist/rpc/rewrite-rpc.js.map +1 -1
  60. package/dist/rpc/server.d.ts.map +1 -1
  61. package/dist/rpc/server.js +26 -1
  62. package/dist/rpc/server.js.map +1 -1
  63. package/dist/test/rewrite-test.d.ts +1 -1
  64. package/dist/test/rewrite-test.d.ts.map +1 -1
  65. package/dist/test/rewrite-test.js +18 -2
  66. package/dist/test/rewrite-test.js.map +1 -1
  67. package/dist/text/tree.d.ts +0 -2
  68. package/dist/text/tree.d.ts.map +1 -1
  69. package/dist/text/tree.js +4 -17
  70. package/dist/text/tree.js.map +1 -1
  71. package/dist/tree.d.ts +1 -0
  72. package/dist/tree.d.ts.map +1 -1
  73. package/dist/tree.js +14 -0
  74. package/dist/tree.js.map +1 -1
  75. package/dist/version.txt +1 -1
  76. package/package.json +3 -3
  77. package/src/java/rpc.ts +18 -15
  78. package/src/java/tree.ts +68 -38
  79. package/src/java/type.ts +475 -74
  80. package/src/java/visitor.ts +45 -39
  81. package/src/javascript/assertions.ts +52 -1
  82. package/src/javascript/format.ts +4 -4
  83. package/src/javascript/parser.ts +51 -18
  84. package/src/javascript/rpc.ts +8 -10
  85. package/src/javascript/tree.ts +34 -35
  86. package/src/javascript/type-mapping.ts +582 -47
  87. package/src/javascript/visitor.ts +5 -5
  88. package/src/json/tree.ts +1 -2
  89. package/src/reference.ts +1 -1
  90. package/src/rpc/chrome-profiler.ts +373 -0
  91. package/src/rpc/queue.ts +8 -12
  92. package/src/rpc/request/parse.ts +1 -1
  93. package/src/rpc/rewrite-rpc.ts +3 -2
  94. package/src/rpc/server.ts +30 -1
  95. package/src/test/rewrite-test.ts +19 -3
  96. package/src/text/tree.ts +0 -1
  97. package/src/tree.ts +15 -0
package/dist/java/type.js CHANGED
@@ -1,6 +1,15 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JavaType = void 0;
12
+ exports.Type = void 0;
4
13
  /*
5
14
  * Copyright 2025 the original author or authors.
6
15
  * <p>
@@ -17,11 +26,14 @@ exports.JavaType = void 0;
17
26
  * limitations under the License.
18
27
  */
19
28
  const rpc_1 = require("../rpc");
20
- var JavaType;
21
- (function (JavaType) {
22
- JavaType.Kind = {
29
+ const immer_1 = require("immer");
30
+ var Type;
31
+ (function (Type) {
32
+ Type.Kind = {
23
33
  Annotation: "org.openrewrite.java.tree.JavaType$Annotation",
24
34
  AnnotationElementValue: "org.openrewrite.java.tree.JavaType$Annotation$ElementValue",
35
+ SingleElementValue: "org.openrewrite.java.tree.JavaType$Annotation$SingleElementValue",
36
+ ArrayElementValue: "org.openrewrite.java.tree.JavaType$Annotation$ArrayElementValue",
25
37
  Array: "org.openrewrite.java.tree.JavaType$Array",
26
38
  Class: "org.openrewrite.java.tree.JavaType$Class",
27
39
  GenericTypeVariable: "org.openrewrite.java.tree.JavaType$GenericTypeVariable",
@@ -45,7 +57,7 @@ var JavaType;
45
57
  Kind["Record"] = "Record";
46
58
  Kind["Value"] = "Value";
47
59
  })(Kind = Class.Kind || (Class.Kind = {}));
48
- })(Class = JavaType.Class || (JavaType.Class = {}));
60
+ })(Class = Type.Class || (Type.Class = {}));
49
61
  let GenericTypeVariable;
50
62
  (function (GenericTypeVariable) {
51
63
  let Variance;
@@ -54,9 +66,9 @@ var JavaType;
54
66
  Variance[Variance["Contravariant"] = 1] = "Contravariant";
55
67
  Variance[Variance["Invariant"] = 2] = "Invariant";
56
68
  })(Variance = GenericTypeVariable.Variance || (GenericTypeVariable.Variance = {}));
57
- })(GenericTypeVariable = JavaType.GenericTypeVariable || (JavaType.GenericTypeVariable = {}));
69
+ })(GenericTypeVariable = Type.GenericTypeVariable || (Type.GenericTypeVariable = {}));
58
70
  class Primitive {
59
- constructor(keyword, kind = JavaType.Kind.Primitive) {
71
+ constructor(keyword, kind = Type.Kind.Primitive) {
60
72
  this.keyword = keyword;
61
73
  this.kind = kind;
62
74
  }
@@ -120,44 +132,461 @@ var JavaType;
120
132
  Primitive.Null,
121
133
  Primitive.None
122
134
  ];
123
- JavaType.Primitive = Primitive;
124
- JavaType.unknownType = (0, rpc_1.asRef)({
125
- kind: JavaType.Kind.Unknown
135
+ Type.Primitive = Primitive;
136
+ Type.unknownType = (0, rpc_1.asRef)({
137
+ kind: Type.Kind.Unknown
126
138
  });
127
139
  function isPrimitive(type) {
128
- return (type === null || type === void 0 ? void 0 : type.kind) === JavaType.Kind.Primitive;
140
+ return (type === null || type === void 0 ? void 0 : type.kind) === Type.Kind.Primitive;
129
141
  }
130
- JavaType.isPrimitive = isPrimitive;
142
+ Type.isPrimitive = isPrimitive;
131
143
  function isClass(type) {
132
- return (type === null || type === void 0 ? void 0 : type.kind) === JavaType.Kind.Class;
144
+ return (type === null || type === void 0 ? void 0 : type.kind) === Type.Kind.Class;
133
145
  }
134
- JavaType.isClass = isClass;
146
+ Type.isClass = isClass;
135
147
  function isArray(type) {
136
- return (type === null || type === void 0 ? void 0 : type.kind) === JavaType.Kind.Array;
148
+ return (type === null || type === void 0 ? void 0 : type.kind) === Type.Kind.Array;
137
149
  }
138
- JavaType.isArray = isArray;
150
+ Type.isArray = isArray;
139
151
  function isParameterized(type) {
140
- return (type === null || type === void 0 ? void 0 : type.kind) === JavaType.Kind.Parameterized;
152
+ return (type === null || type === void 0 ? void 0 : type.kind) === Type.Kind.Parameterized;
141
153
  }
142
- JavaType.isParameterized = isParameterized;
154
+ Type.isParameterized = isParameterized;
143
155
  let FullyQualified;
144
156
  (function (FullyQualified) {
145
157
  function getFullyQualifiedName(javaType) {
146
158
  switch (javaType.kind) {
147
- case JavaType.Kind.Class:
159
+ case Type.Kind.Class:
148
160
  return javaType.fullyQualifiedName;
149
- case JavaType.Kind.Parameterized:
161
+ case Type.Kind.Parameterized:
150
162
  return getFullyQualifiedName(javaType.type);
151
- case JavaType.Kind.Annotation:
163
+ case Type.Kind.Annotation:
152
164
  return getFullyQualifiedName(javaType.type);
153
- case JavaType.Kind.ShallowClass:
165
+ case Type.Kind.ShallowClass:
154
166
  return javaType.fullyQualifiedName;
155
- case JavaType.Kind.Unknown:
167
+ case Type.Kind.Unknown:
156
168
  return "<unknown>";
157
169
  }
158
170
  throw new Error("Cannot get fully qualified name of type: " + JSON.stringify(javaType));
159
171
  }
160
172
  FullyQualified.getFullyQualifiedName = getFullyQualifiedName;
161
- })(FullyQualified = JavaType.FullyQualified || (JavaType.FullyQualified = {}));
162
- })(JavaType || (exports.JavaType = JavaType = {}));
173
+ })(FullyQualified = Type.FullyQualified || (Type.FullyQualified = {}));
174
+ // Track type variable names and parameterized types to prevent infinite recursion
175
+ let typeVariableNameStack = null;
176
+ let parameterizedStack = null;
177
+ function signature(type) {
178
+ if (!type) {
179
+ return "<null>";
180
+ }
181
+ switch (type.kind) {
182
+ case Type.Kind.Array: {
183
+ const arr = type;
184
+ return signature(arr.elemType) + "[]";
185
+ }
186
+ case Type.Kind.Class:
187
+ case Type.Kind.ShallowClass: {
188
+ const clazz = type;
189
+ return clazz.fullyQualifiedName;
190
+ }
191
+ case Type.Kind.GenericTypeVariable: {
192
+ const generic = type;
193
+ let result = "Generic{" + generic.name;
194
+ // Initialize stack if needed
195
+ if (typeVariableNameStack === null) {
196
+ typeVariableNameStack = new Set();
197
+ }
198
+ // Check for recursion in type variable names
199
+ if (generic.name !== "?" && typeVariableNameStack.has(generic.name)) {
200
+ return result + "}";
201
+ }
202
+ // Add to stack to track
203
+ if (generic.name !== "?") {
204
+ typeVariableNameStack.add(generic.name);
205
+ }
206
+ try {
207
+ if (!generic.bounds || generic.bounds.length === 0) {
208
+ return result + "}";
209
+ }
210
+ // Filter out bounds that would cause cycles through parameterized types
211
+ const safeBounds = generic.bounds.filter(b => {
212
+ return !parameterizedStack || !parameterizedStack.has(b);
213
+ });
214
+ if (safeBounds.length > 0) {
215
+ const bounds = safeBounds.map(b => signature(b)).join(" & ");
216
+ result += " extends " + bounds;
217
+ }
218
+ return result + "}";
219
+ }
220
+ finally {
221
+ // Remove from stack when done
222
+ if (generic.name !== "?") {
223
+ typeVariableNameStack.delete(generic.name);
224
+ }
225
+ }
226
+ }
227
+ case Type.Kind.Intersection: {
228
+ const intersection = type;
229
+ return (intersection.bounds || []).map(b => signature(b)).join(" & ");
230
+ }
231
+ case Type.Kind.Method: {
232
+ const method = type;
233
+ const declaringType = signature(method.declaringType);
234
+ const params = (method.parameterTypes || []).map(p => signature(p)).join(", ");
235
+ return declaringType + "{name=" + method.name + ",return=" + signature(method.returnType) + ",parameters=[" + params + "]}";
236
+ }
237
+ case Type.Kind.Parameterized: {
238
+ const parameterized = type;
239
+ // Initialize stack if needed
240
+ if (parameterizedStack === null) {
241
+ parameterizedStack = new Set();
242
+ }
243
+ // Add to stack to track cycles
244
+ parameterizedStack.add(parameterized);
245
+ try {
246
+ const baseType = signature(parameterized.type);
247
+ if (!parameterized.typeParameters || parameterized.typeParameters.length === 0) {
248
+ return baseType;
249
+ }
250
+ const params = parameterized.typeParameters.map(p => signature(p)).join(", ");
251
+ return baseType + "<" + params + ">";
252
+ }
253
+ finally {
254
+ // Remove from stack when done
255
+ parameterizedStack.delete(parameterized);
256
+ }
257
+ }
258
+ case Type.Kind.Primitive: {
259
+ const primitive = type;
260
+ return primitive.keyword;
261
+ }
262
+ case Type.Kind.Union: {
263
+ const union = type;
264
+ return (union.bounds || []).map(b => signature(b)).join(" | ");
265
+ }
266
+ case Type.Kind.Unknown: {
267
+ return "<unknown>";
268
+ }
269
+ case Type.Kind.Variable: {
270
+ const variable = type;
271
+ const ownerSig = variable.owner ? signature(variable.owner) + "{" : "";
272
+ const closeBrace = variable.owner ? "}" : "";
273
+ return ownerSig + "name=" + variable.name + ",type=" + signature(variable.type) + closeBrace;
274
+ }
275
+ case Type.Kind.Annotation: {
276
+ const annotation = type;
277
+ return "@" + signature(annotation.type);
278
+ }
279
+ default:
280
+ return "<unknown>";
281
+ }
282
+ }
283
+ Type.signature = signature;
284
+ })(Type || (exports.Type = Type = {}));
285
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Primitive, {
286
+ rpcSend(after, q) {
287
+ return __awaiter(this, void 0, void 0, function* () {
288
+ yield q.getAndSend(after, p => p.keyword);
289
+ });
290
+ },
291
+ rpcReceive(before, q) {
292
+ return __awaiter(this, void 0, void 0, function* () {
293
+ const keyword = yield q.receive(before.keyword);
294
+ return Type.Primitive.fromKeyword(keyword);
295
+ });
296
+ }
297
+ });
298
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Class, {
299
+ rpcSend(after, q) {
300
+ return __awaiter(this, void 0, void 0, function* () {
301
+ yield q.getAndSend(after, c => c.classKind);
302
+ yield q.getAndSend(after, c => c.fullyQualifiedName);
303
+ yield q.getAndSendList(after, c => (c.typeParameters || []).map(t => (0, rpc_1.asRef)(t)), t => Type.signature(t));
304
+ yield q.getAndSend(after, c => (0, rpc_1.asRef)(c.supertype));
305
+ yield q.getAndSend(after, c => (0, rpc_1.asRef)(c.owningClass));
306
+ yield q.getAndSendList(after, c => (c.annotations || []).map(a => (0, rpc_1.asRef)(a)), t => Type.signature(t));
307
+ yield q.getAndSendList(after, c => (c.interfaces || []).map(i => (0, rpc_1.asRef)(i)), t => Type.signature(t));
308
+ yield q.getAndSendList(after, c => (c.members || []).map(m => (0, rpc_1.asRef)(m)), t => Type.signature(t));
309
+ yield q.getAndSendList(after, c => (c.methods || []).map(m => (0, rpc_1.asRef)(m)), t => Type.signature(t));
310
+ });
311
+ },
312
+ rpcReceive(before, q) {
313
+ return __awaiter(this, void 0, void 0, function* () {
314
+ // Mutate the before object in place to preserve reference identity
315
+ before.classKind = yield q.receive(before.classKind);
316
+ before.fullyQualifiedName = yield q.receive(before.fullyQualifiedName);
317
+ before.typeParameters = (yield q.receiveList(before.typeParameters)) || [];
318
+ before.supertype = yield q.receive(before.supertype);
319
+ before.owningClass = yield q.receive(before.owningClass);
320
+ before.annotations = (yield q.receiveList(before.annotations)) || [];
321
+ before.interfaces = (yield q.receiveList(before.interfaces)) || [];
322
+ before.members = (yield q.receiveList(before.members)) || [];
323
+ before.methods = (yield q.receiveList(before.methods)) || [];
324
+ before.toJSON = function () {
325
+ return Type.signature(this);
326
+ };
327
+ // Mark as non-draftable to prevent immer from processing circular references
328
+ before[immer_1.immerable] = false;
329
+ return before;
330
+ });
331
+ }
332
+ });
333
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Variable, {
334
+ rpcSend(after, q) {
335
+ return __awaiter(this, void 0, void 0, function* () {
336
+ yield q.getAndSend(after, v => v.name);
337
+ yield q.getAndSend(after, v => v.owner ? (0, rpc_1.asRef)(v.owner) : undefined);
338
+ yield q.getAndSend(after, v => (0, rpc_1.asRef)(v.type));
339
+ yield q.getAndSendList(after, v => (v.annotations || []).map(v2 => (0, rpc_1.asRef)(v2)), t => Type.signature(t));
340
+ });
341
+ },
342
+ rpcReceive(before, q) {
343
+ return __awaiter(this, void 0, void 0, function* () {
344
+ // Mutate the before object in place to preserve reference identity
345
+ before.name = yield q.receive(before.name);
346
+ before.owner = yield q.receive(before.owner);
347
+ before.type = yield q.receive(before.type);
348
+ before.annotations = (yield q.receiveList(before.annotations)) || [];
349
+ return before;
350
+ });
351
+ }
352
+ });
353
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Annotation, {
354
+ rpcSend(after, q) {
355
+ return __awaiter(this, void 0, void 0, function* () {
356
+ yield q.getAndSend(after, a => (0, rpc_1.asRef)(a.type));
357
+ yield q.getAndSendList(after, a => (a.values || []).map(v => (0, rpc_1.asRef)(v)), v => {
358
+ let value;
359
+ if (v.kind === Type.Kind.SingleElementValue) {
360
+ const single = v;
361
+ value = single.constantValue !== undefined ? single.constantValue : single.referenceValue;
362
+ }
363
+ else {
364
+ const array = v;
365
+ value = array.constantValues || array.referenceValues;
366
+ }
367
+ return `${Type.signature(v.element)}:${value == null ? "null" : value.toString()}`;
368
+ });
369
+ });
370
+ },
371
+ rpcReceive(before, q) {
372
+ return __awaiter(this, void 0, void 0, function* () {
373
+ // Mutate the before object in place to preserve reference identity
374
+ before.type = yield q.receive(before.type);
375
+ before.values = (yield q.receiveList(before.values)) || [];
376
+ return before;
377
+ });
378
+ }
379
+ });
380
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.SingleElementValue, {
381
+ rpcSend(after, q) {
382
+ return __awaiter(this, void 0, void 0, function* () {
383
+ yield q.getAndSend(after, e => (0, rpc_1.asRef)(e.element));
384
+ yield q.getAndSend(after, e => e.constantValue);
385
+ yield q.getAndSend(after, e => (0, rpc_1.asRef)(e.referenceValue));
386
+ });
387
+ },
388
+ rpcReceive(before, q) {
389
+ return __awaiter(this, void 0, void 0, function* () {
390
+ if (!before) {
391
+ return {
392
+ kind: Type.Kind.SingleElementValue,
393
+ element: yield q.receive(undefined),
394
+ constantValue: yield q.receive(undefined),
395
+ referenceValue: yield q.receive(undefined)
396
+ };
397
+ }
398
+ // Mutate the before object in place to preserve reference identity
399
+ before.element = yield q.receive(before.element);
400
+ before.constantValue = yield q.receive(before.constantValue);
401
+ before.referenceValue = yield q.receive(before.referenceValue);
402
+ return before;
403
+ });
404
+ }
405
+ });
406
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.ArrayElementValue, {
407
+ rpcSend(after, q) {
408
+ return __awaiter(this, void 0, void 0, function* () {
409
+ yield q.getAndSend(after, e => (0, rpc_1.asRef)(e.element));
410
+ yield q.getAndSendList(after, e => e.constantValues || [], v => v == null ? "null" : v.toString());
411
+ yield q.getAndSendList(after, e => (e.referenceValues || []).map(r => (0, rpc_1.asRef)(r)), t => Type.signature(t));
412
+ });
413
+ },
414
+ rpcReceive(before, q) {
415
+ return __awaiter(this, void 0, void 0, function* () {
416
+ if (!before) {
417
+ return {
418
+ kind: Type.Kind.ArrayElementValue,
419
+ element: yield q.receive(undefined),
420
+ constantValues: yield q.receiveList(undefined),
421
+ referenceValues: yield q.receiveList(undefined)
422
+ };
423
+ }
424
+ // Mutate the before object in place to preserve reference identity
425
+ before.element = yield q.receive(before.element);
426
+ before.constantValues = yield q.receiveList(before.constantValues);
427
+ before.referenceValues = yield q.receiveList(before.referenceValues);
428
+ return before;
429
+ });
430
+ }
431
+ });
432
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Method, {
433
+ rpcSend(after, q) {
434
+ return __awaiter(this, void 0, void 0, function* () {
435
+ yield q.getAndSend(after, m => (0, rpc_1.asRef)(m.declaringType));
436
+ yield q.getAndSend(after, m => m.name);
437
+ yield q.getAndSend(after, m => (0, rpc_1.asRef)(m.returnType));
438
+ yield q.getAndSendList(after, m => m.parameterNames || [], v => v);
439
+ yield q.getAndSendList(after, m => (m.parameterTypes || []).map(t => (0, rpc_1.asRef)(t)), t => Type.signature(t));
440
+ yield q.getAndSendList(after, m => (m.thrownExceptions || []).map(t => (0, rpc_1.asRef)(t)), t => Type.signature(t));
441
+ yield q.getAndSendList(after, m => (m.annotations || []).map(a => (0, rpc_1.asRef)(a)), t => Type.signature(t));
442
+ yield q.getAndSendList(after, m => m.defaultValue || undefined, v => v);
443
+ yield q.getAndSendList(after, m => m.declaredFormalTypeNames || [], v => v);
444
+ });
445
+ },
446
+ rpcReceive(before, q) {
447
+ return __awaiter(this, void 0, void 0, function* () {
448
+ // Mutate the before object in place to preserve reference identity
449
+ before.declaringType = yield q.receive(before.declaringType);
450
+ before.name = yield q.receive(before.name);
451
+ before.returnType = yield q.receive(before.returnType);
452
+ before.parameterNames = (yield q.receiveList(before.parameterNames)) || [];
453
+ before.parameterTypes = (yield q.receiveList(before.parameterTypes)) || [];
454
+ before.thrownExceptions = (yield q.receiveList(before.thrownExceptions)) || [];
455
+ before.annotations = (yield q.receiveList(before.annotations)) || [];
456
+ before.defaultValue = yield q.receiveList(before.defaultValue);
457
+ before.declaredFormalTypeNames = (yield q.receiveList(before.declaredFormalTypeNames)) || [];
458
+ return before;
459
+ });
460
+ }
461
+ });
462
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Array, {
463
+ rpcSend(after, q) {
464
+ return __awaiter(this, void 0, void 0, function* () {
465
+ yield q.getAndSend(after, a => (0, rpc_1.asRef)(a.elemType));
466
+ yield q.getAndSendList(after, a => (a.annotations || []).map(ann => (0, rpc_1.asRef)(ann)), t => Type.signature(t));
467
+ });
468
+ },
469
+ rpcReceive(before, q) {
470
+ return __awaiter(this, void 0, void 0, function* () {
471
+ // Mutate the before object in place to preserve reference identity
472
+ before.elemType = yield q.receive(before.elemType);
473
+ before.annotations = (yield q.receiveList(before.annotations)) || [];
474
+ return before;
475
+ });
476
+ }
477
+ });
478
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Parameterized, {
479
+ rpcSend(after, q) {
480
+ return __awaiter(this, void 0, void 0, function* () {
481
+ yield q.getAndSend(after, p => (0, rpc_1.asRef)(p.type));
482
+ yield q.getAndSendList(after, p => (p.typeParameters || []).map(t => (0, rpc_1.asRef)(t)), t => Type.signature(t));
483
+ });
484
+ },
485
+ rpcReceive(before, q) {
486
+ return __awaiter(this, void 0, void 0, function* () {
487
+ // Mutate the before object in place to preserve reference identity
488
+ before.type = yield q.receive(before.type);
489
+ before.typeParameters = (yield q.receiveList(before.typeParameters)) || [];
490
+ return before;
491
+ });
492
+ }
493
+ });
494
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.GenericTypeVariable, {
495
+ rpcSend(after, q) {
496
+ return __awaiter(this, void 0, void 0, function* () {
497
+ yield q.getAndSend(after, g => g.name);
498
+ // Convert TypeScript enum to Java enum string
499
+ yield q.getAndSend(after, g => {
500
+ switch (g.variance) {
501
+ case Type.GenericTypeVariable.Variance.Covariant:
502
+ return 'COVARIANT';
503
+ case Type.GenericTypeVariable.Variance.Contravariant:
504
+ return 'CONTRAVARIANT';
505
+ case Type.GenericTypeVariable.Variance.Invariant:
506
+ default:
507
+ return 'INVARIANT';
508
+ }
509
+ });
510
+ yield q.getAndSendList(after, g => (g.bounds || []).map(b => (0, rpc_1.asRef)(b)), t => Type.signature(t));
511
+ });
512
+ },
513
+ rpcReceive(before, q) {
514
+ return __awaiter(this, void 0, void 0, function* () {
515
+ // Mutate the before object in place to preserve reference identity
516
+ before.name = yield q.receive(before.name);
517
+ const varianceStr = yield q.receive(before.variance);
518
+ // Convert Java enum string to TypeScript enum
519
+ switch (varianceStr) {
520
+ case 'COVARIANT':
521
+ before.variance = Type.GenericTypeVariable.Variance.Covariant;
522
+ break;
523
+ case 'CONTRAVARIANT':
524
+ before.variance = Type.GenericTypeVariable.Variance.Contravariant;
525
+ break;
526
+ case 'INVARIANT':
527
+ default:
528
+ before.variance = Type.GenericTypeVariable.Variance.Invariant;
529
+ break;
530
+ }
531
+ before.bounds = (yield q.receiveList(before.bounds)) || [];
532
+ return before;
533
+ });
534
+ }
535
+ });
536
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Union, {
537
+ rpcSend(after, q) {
538
+ return __awaiter(this, void 0, void 0, function* () {
539
+ yield q.getAndSendList(after, u => (u.bounds || []).map(b => (0, rpc_1.asRef)(b)), t => Type.signature(t));
540
+ });
541
+ },
542
+ rpcReceive(before, q) {
543
+ return __awaiter(this, void 0, void 0, function* () {
544
+ // Mutate the before object in place to preserve reference identity
545
+ before.bounds = (yield q.receiveList(before.bounds)) || [];
546
+ return before;
547
+ });
548
+ }
549
+ });
550
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Intersection, {
551
+ rpcSend(after, q) {
552
+ return __awaiter(this, void 0, void 0, function* () {
553
+ yield q.getAndSendList(after, i => (i.bounds || []).map(b => (0, rpc_1.asRef)(b)), t => Type.signature(t));
554
+ });
555
+ },
556
+ rpcReceive(before, q) {
557
+ return __awaiter(this, void 0, void 0, function* () {
558
+ // Mutate the before object in place to preserve reference identity
559
+ before.bounds = (yield q.receiveList(before.bounds)) || [];
560
+ return before;
561
+ });
562
+ }
563
+ });
564
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.ShallowClass, {
565
+ rpcSend(after, q) {
566
+ return __awaiter(this, void 0, void 0, function* () {
567
+ yield q.getAndSend(after, c => c.fullyQualifiedName);
568
+ yield q.getAndSend(after, c => (0, rpc_1.asRef)(c.owningClass));
569
+ });
570
+ },
571
+ rpcReceive(before, q) {
572
+ return __awaiter(this, void 0, void 0, function* () {
573
+ before.classKind = Type.Class.Kind.Class;
574
+ before.fullyQualifiedName = yield q.receive(before.fullyQualifiedName);
575
+ before.owningClass = yield q.receive(before.owningClass);
576
+ return before;
577
+ });
578
+ }
579
+ });
580
+ rpc_1.RpcCodecs.registerCodec(Type.Kind.Unknown, {
581
+ rpcSend(_after, _q) {
582
+ return __awaiter(this, void 0, void 0, function* () {
583
+ // Unknown type has no additional data
584
+ });
585
+ },
586
+ rpcReceive(_before, _q) {
587
+ return __awaiter(this, void 0, void 0, function* () {
588
+ return Type.unknownType;
589
+ });
590
+ }
591
+ });
163
592
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/java/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/java/type.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import { SourceFile } from "../tree";
2
2
  import { TreeVisitor, ValidImmerRecipeReturnType } from "../visitor";
3
3
  import { Expression, J, NameTree, Statement } from "./tree";
4
4
  import { Draft } from "immer";
5
- import { JavaType } from "./type";
5
+ import { Type } from "./type";
6
6
  export declare class JavaVisitor<P> extends TreeVisitor<J, P> {
7
7
  isAcceptable(sourceFile: SourceFile): Promise<boolean>;
8
8
  protected visitExpression(expression: Expression, p: P): Promise<J | undefined>;
9
9
  protected visitStatement(statement: Statement, p: P): Promise<J | undefined>;
10
10
  protected visitSpace(space: J.Space, p: P): Promise<J.Space>;
11
- protected visitType(javaType: JavaType | undefined, p: P): Promise<JavaType | undefined>;
11
+ protected visitType(javaType: Type | undefined, p: P): Promise<Type | undefined>;
12
12
  protected visitTypeName<N extends NameTree>(nameTree: N, p: P): Promise<N>;
13
13
  protected visitAnnotatedType(annotatedType: J.AnnotatedType, p: P): Promise<J | undefined>;
14
14
  protected visitAnnotation(annotation: J.Annotation, p: P): Promise<J | undefined>;
@@ -49,8 +49,8 @@ export declare class JavaVisitor<P> extends TreeVisitor<J, P> {
49
49
  protected visitLambdaParameters(params: J.Lambda.Parameters, p: P): Promise<J | undefined>;
50
50
  protected visitLiteral(literal: J.Literal, p: P): Promise<J | undefined>;
51
51
  protected visitMemberReference(memberRef: J.MemberReference, p: P): Promise<J | undefined>;
52
- protected visitMethodDeclaration(methodDecl: J.MethodDeclaration, p: P): Promise<J | undefined>;
53
- protected visitMethodInvocation(methodInv: J.MethodInvocation, p: P): Promise<J | undefined>;
52
+ protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise<J | undefined>;
53
+ protected visitMethodInvocation(method: J.MethodInvocation, p: P): Promise<J | undefined>;
54
54
  protected visitModifier(modifier: J.Modifier, p: P): Promise<J | undefined>;
55
55
  protected visitMultiCatch(multiCatch: J.MultiCatch, p: P): Promise<J | undefined>;
56
56
  protected visitNewArray(newArray: J.NewArray, p: P): Promise<J | undefined>;