@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/src/java/tree.ts CHANGED
@@ -18,9 +18,10 @@
18
18
 
19
19
  import {emptyMarkers, Markers} from "../markers";
20
20
  import {SourceFile, Tree, TreeKind} from "../tree";
21
- import {JavaType} from "./type";
21
+ import {Type} from "./type";
22
22
  import {RpcCodec, RpcCodecs, RpcReceiveQueue, RpcSendQueue} from "../rpc";
23
23
  import {JavaReceiver, JavaSender} from "./rpc";
24
+ import Space = J.Space;
24
25
 
25
26
  export interface J extends Tree {
26
27
  readonly prefix: J.Space;
@@ -55,7 +56,6 @@ export interface NameTree extends J {
55
56
 
56
57
  export namespace J {
57
58
  export const Kind = {
58
- ...TreeKind,
59
59
  AnnotatedType: "org.openrewrite.java.tree.J$AnnotatedType",
60
60
  Annotation: "org.openrewrite.java.tree.J$Annotation",
61
61
  ArrayAccess: "org.openrewrite.java.tree.J$ArrayAccess",
@@ -150,7 +150,7 @@ export namespace J {
150
150
  readonly kind: typeof Kind.ArrayAccess;
151
151
  readonly indexed: Expression;
152
152
  readonly dimension: ArrayDimension;
153
- readonly type?: JavaType
153
+ readonly type?: Type
154
154
  }
155
155
 
156
156
  export interface ArrayDimension extends J {
@@ -163,7 +163,7 @@ export namespace J {
163
163
  readonly elementType: TypeTree;
164
164
  readonly annotations?: Annotation[];
165
165
  readonly dimension: LeftPadded<Space>;
166
- readonly type?: JavaType;
166
+ readonly type?: Type;
167
167
  }
168
168
 
169
169
  export interface Assert extends J, Statement {
@@ -176,7 +176,7 @@ export namespace J {
176
176
  readonly kind: typeof Kind.Assignment;
177
177
  readonly variable: Expression;
178
178
  readonly assignment: LeftPadded<Expression>;
179
- readonly type?: JavaType;
179
+ readonly type?: Type;
180
180
  }
181
181
 
182
182
  export interface AssignmentOperation extends J, Statement, Expression, TypedTree {
@@ -184,7 +184,7 @@ export namespace J {
184
184
  readonly variable: Expression;
185
185
  readonly operator: LeftPadded<AssignmentOperation.Type>;
186
186
  readonly assignment: Expression;
187
- readonly type?: JavaType;
187
+ readonly type?: Type;
188
188
  }
189
189
 
190
190
  export namespace AssignmentOperation {
@@ -211,7 +211,7 @@ export namespace J {
211
211
  readonly left: Expression;
212
212
  readonly operator: LeftPadded<Binary.Type>;
213
213
  readonly right: Expression;
214
- readonly type?: JavaType;
214
+ readonly type?: Type;
215
215
  }
216
216
 
217
217
  export namespace Binary {
@@ -278,7 +278,7 @@ export namespace J {
278
278
  readonly implements?: Container<TypeTree>;
279
279
  readonly permitting?: Container<TypeTree>;
280
280
  readonly body: Block;
281
- readonly type?: JavaType.FullyQualified;
281
+ readonly type?: Type.FullyQualified;
282
282
  }
283
283
 
284
284
  export namespace ClassDeclaration {
@@ -337,7 +337,7 @@ export namespace J {
337
337
  readonly kind: typeof Kind.FieldAccess;
338
338
  readonly target: Expression;
339
339
  readonly name: LeftPadded<Identifier>;
340
- readonly type?: JavaType;
340
+ readonly type?: Type;
341
341
  }
342
342
 
343
343
  export interface ForEachLoop extends J, Statement {
@@ -379,8 +379,8 @@ export namespace J {
379
379
  readonly kind: typeof Kind.Identifier;
380
380
  readonly annotations: Annotation[];
381
381
  readonly simpleName: string;
382
- readonly type?: JavaType;
383
- readonly fieldType?: JavaType.Variable;
382
+ readonly type?: Type;
383
+ readonly fieldType?: Type.Variable;
384
384
  }
385
385
 
386
386
  export interface If extends J, Statement {
@@ -409,7 +409,7 @@ export namespace J {
409
409
  readonly expression: RightPadded<Expression>;
410
410
  readonly class: J;
411
411
  readonly pattern?: J;
412
- readonly type?: JavaType;
412
+ readonly type?: Type;
413
413
  readonly modifier?: Modifier;
414
414
  }
415
415
 
@@ -417,13 +417,13 @@ export namespace J {
417
417
  readonly kind: typeof Kind.DeconstructionPattern;
418
418
  readonly deconstructor: Expression;
419
419
  readonly nested: Container<J>;
420
- readonly type?: JavaType;
420
+ readonly type?: Type;
421
421
  }
422
422
 
423
423
  export interface IntersectionType extends J, TypeTree, Expression {
424
424
  readonly kind: typeof Kind.IntersectionType;
425
425
  readonly bounds: Container<TypeTree>;
426
- readonly type?: JavaType;
426
+ readonly type?: Type;
427
427
  }
428
428
 
429
429
  export interface Label extends J, Statement {
@@ -437,7 +437,7 @@ export namespace J {
437
437
  readonly parameters: Lambda.Parameters;
438
438
  readonly arrow: Space;
439
439
  readonly body: Statement | Expression;
440
- readonly type?: JavaType;
440
+ readonly type?: Type;
441
441
  }
442
442
 
443
443
  export namespace Lambda {
@@ -450,10 +450,10 @@ export namespace J {
450
450
 
451
451
  export interface Literal extends J, TypedTree, Expression, VariableDeclarator {
452
452
  readonly kind: typeof Kind.Literal;
453
- readonly value?: Object;
453
+ readonly value?: string | number | bigint | boolean | null | undefined;
454
454
  readonly valueSource?: string;
455
455
  readonly unicodeEscapes?: LiteralUnicodeEscape[];
456
- readonly type?: JavaType.Primitive;
456
+ readonly type?: Type.Primitive;
457
457
  }
458
458
 
459
459
  export interface LiteralUnicodeEscape {
@@ -466,9 +466,9 @@ export namespace J {
466
466
  readonly containing: RightPadded<Expression>;
467
467
  readonly typeParameters?: Container<Expression>;
468
468
  readonly reference: LeftPadded<Identifier>;
469
- readonly type?: JavaType;
470
- readonly methodType?: JavaType.Method;
471
- readonly variableType?: JavaType.Variable;
469
+ readonly type?: Type;
470
+ readonly methodType?: Type.Method;
471
+ readonly variableType?: Type.Variable;
472
472
  }
473
473
 
474
474
  export interface MethodDeclaration extends J, TypedTree {
@@ -483,7 +483,7 @@ export namespace J {
483
483
  readonly throws?: Container<NameTree>;
484
484
  readonly body?: Block;
485
485
  readonly defaultValue?: LeftPadded<Expression>;
486
- readonly methodType?: JavaType.Method;
486
+ readonly methodType?: Type.Method;
487
487
  }
488
488
 
489
489
  export interface MethodInvocation extends J, TypedTree, Expression {
@@ -492,7 +492,7 @@ export namespace J {
492
492
  readonly typeParameters?: Container<Expression>;
493
493
  readonly name: Identifier;
494
494
  readonly arguments: Container<Expression>;
495
- readonly methodType?: JavaType.Method;
495
+ readonly methodType?: Type.Method;
496
496
  }
497
497
 
498
498
  export interface Modifier extends J {
@@ -536,7 +536,7 @@ export namespace J {
536
536
  readonly typeExpression?: TypeTree;
537
537
  readonly dimensions: ArrayDimension[];
538
538
  readonly initializer?: Container<Expression>;
539
- readonly type?: JavaType;
539
+ readonly type?: Type;
540
540
  }
541
541
 
542
542
  export interface NewClass extends J, TypedTree, Expression {
@@ -546,7 +546,7 @@ export namespace J {
546
546
  readonly class?: TypeTree;
547
547
  readonly arguments: Container<Expression>;
548
548
  readonly body?: Block;
549
- readonly constructorType?: JavaType.Method;
549
+ readonly constructorType?: Type.Method;
550
550
  }
551
551
 
552
552
  export interface NullableType extends J, TypeTree, Expression {
@@ -565,7 +565,7 @@ export namespace J {
565
565
  readonly kind: typeof Kind.ParameterizedType;
566
566
  readonly class: NameTree;
567
567
  readonly typeParameters?: Container<Expression>;
568
- readonly type?: JavaType;
568
+ readonly type?: Type;
569
569
  }
570
570
 
571
571
  export interface Parentheses<J2 extends J> extends J, Expression {
@@ -580,7 +580,7 @@ export namespace J {
580
580
 
581
581
  export interface Primitive extends J, TypeTree, Expression {
582
582
  readonly kind: typeof Kind.Primitive;
583
- readonly type: JavaType.Primitive;
583
+ readonly type: Type.Primitive;
584
584
  }
585
585
 
586
586
  export interface Return extends J, Statement {
@@ -598,7 +598,7 @@ export namespace J {
598
598
  readonly kind: typeof Kind.SwitchExpression;
599
599
  readonly selector: ControlParentheses<Expression>;
600
600
  readonly cases: Block;
601
- readonly type?: JavaType;
601
+ readonly type?: Type;
602
602
  }
603
603
 
604
604
  export interface Synchronized extends J, Statement {
@@ -612,7 +612,7 @@ export namespace J {
612
612
  readonly condition: Expression;
613
613
  readonly truePart: LeftPadded<Expression>;
614
614
  readonly falsePart: LeftPadded<Expression>;
615
- readonly type?: JavaType;
615
+ readonly type?: Type;
616
616
  }
617
617
 
618
618
  export interface Throw extends J, Statement {
@@ -666,7 +666,7 @@ export namespace J {
666
666
  readonly kind: typeof Kind.Unary;
667
667
  readonly operator: LeftPadded<Unary.Type>;
668
668
  readonly expression: Expression;
669
- readonly type?: JavaType;
669
+ readonly type?: Type;
670
670
  }
671
671
 
672
672
 
@@ -698,7 +698,7 @@ export namespace J {
698
698
  readonly name: VariableDeclarator;
699
699
  readonly dimensionsAfterName: LeftPadded<Space>[];
700
700
  readonly initializer?: LeftPadded<Expression>;
701
- readonly variableType?: JavaType.Variable;
701
+ readonly variableType?: Type.Variable;
702
702
  }
703
703
  }
704
704
 
@@ -837,9 +837,9 @@ export function rightPadded<T extends J | boolean>(t: T, trailing: J.Space, mark
837
837
  }
838
838
 
839
839
  export namespace TypedTree {
840
- const typeGetters = new Map<TypedTree["kind"], (tree: TypedTree) => JavaType | undefined>();
840
+ const typeGetters = new Map<TypedTree["kind"], (tree: TypedTree) => Type | undefined>();
841
841
 
842
- export function getType(typeTree?: TypedTree): JavaType | undefined {
842
+ export function getType(typeTree?: TypedTree): Type | undefined {
843
843
  if (!typeTree) {
844
844
  return undefined;
845
845
  }
@@ -853,7 +853,7 @@ export namespace TypedTree {
853
853
  return (typeTree as any).type;
854
854
  }
855
855
 
856
- export function registerTypeGetter<T extends TypedTree>(kind: T["kind"], fn: (tree: T) => JavaType | undefined): void {
856
+ export function registerTypeGetter<T extends TypedTree>(kind: T["kind"], fn: (tree: T) => Type | undefined): void {
857
857
  typeGetters.set(kind, fn as any);
858
858
  }
859
859
 
@@ -865,14 +865,14 @@ export namespace TypedTree {
865
865
  // TODO ControlParentheses here isn't a TypedTree so why does this compile?
866
866
  registerTypeGetter(J.Kind.TypeCast, (tree: J.TypeCast) => getType(tree.class));
867
867
 
868
- registerTypeGetter(J.Kind.Empty, () => JavaType.unknownType);
868
+ registerTypeGetter(J.Kind.Empty, () => Type.unknownType);
869
869
  registerTypeGetter(J.Kind.MultiCatch, (tree: J.MultiCatch) => {
870
870
  const bounds = tree.alternatives.map(a => getType(a.element));
871
- return {kind: JavaType.Kind.Union, bounds: bounds};
871
+ return {kind: Type.Kind.Union, bounds: bounds};
872
872
  });
873
873
  registerTypeGetter(J.Kind.NullableType, (tree: J.NullableType) => getType(tree.typeTree.element));
874
- registerTypeGetter(J.Kind.Wildcard, () => JavaType.unknownType);
875
- registerTypeGetter(J.Kind.Unknown, () => JavaType.unknownType);
874
+ registerTypeGetter(J.Kind.Wildcard, () => Type.unknownType);
875
+ registerTypeGetter(J.Kind.Unknown, () => Type.unknownType);
876
876
  }
877
877
 
878
878
  const javaReceiver = new JavaReceiver();
@@ -901,7 +901,37 @@ Object.values(J.Kind).forEach(kind => {
901
901
  }
902
902
  }
903
903
  );
904
- } else if (!Object.values(TreeKind).includes(kind as any)) {
904
+ } else if (kind === J.Kind.RightPadded) {
905
+ RpcCodecs.registerCodec(kind, {
906
+ async rpcReceive<T extends J | boolean>(before: J.RightPadded<T>, q: RpcReceiveQueue): Promise<J.RightPadded<T>> {
907
+ return (await javaReceiver.visitRightPadded(before, q))!;
908
+ },
909
+
910
+ async rpcSend<T extends J | boolean>(after: J.RightPadded<T>, q: RpcSendQueue): Promise<void> {
911
+ await javaSender.visitRightPadded(after, q);
912
+ }
913
+ })
914
+ } else if (kind === J.Kind.LeftPadded) {
915
+ RpcCodecs.registerCodec(kind, {
916
+ async rpcReceive<T extends J | Space | number | string | boolean>(before: J.LeftPadded<T>, q: RpcReceiveQueue): Promise<J.LeftPadded<T>> {
917
+ return (await javaReceiver.visitLeftPadded(before, q))!;
918
+ },
919
+
920
+ async rpcSend<T extends J | Space | number | string | boolean>(after: J.LeftPadded<T>, q: RpcSendQueue): Promise<void> {
921
+ await javaSender.visitLeftPadded(after, q);
922
+ }
923
+ })
924
+ } else if (kind === J.Kind.Container) {
925
+ RpcCodecs.registerCodec(kind, {
926
+ async rpcReceive<T extends J>(before: J.Container<T>, q: RpcReceiveQueue): Promise<J.Container<T>> {
927
+ return (await javaReceiver.visitContainer(before, q))!;
928
+ },
929
+
930
+ async rpcSend<T extends J>(after: J.Container<T>, q: RpcSendQueue): Promise<void> {
931
+ await javaSender.visitContainer(after, q);
932
+ }
933
+ })
934
+ } else {
905
935
  RpcCodecs.registerCodec(kind, javaCodec);
906
936
  }
907
937
  });