@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.
- package/dist/java/rpc.d.ts +3 -3
- package/dist/java/rpc.d.ts.map +1 -1
- package/dist/java/rpc.js +6 -6
- package/dist/java/rpc.js.map +1 -1
- package/dist/java/tree.d.ts +31 -33
- package/dist/java/tree.d.ts.map +1 -1
- package/dist/java/tree.js +125 -7
- package/dist/java/tree.js.map +1 -1
- package/dist/java/type.d.ts +70 -57
- package/dist/java/type.d.ts.map +1 -1
- package/dist/java/type.js +454 -25
- package/dist/java/type.js.map +1 -1
- package/dist/java/visitor.d.ts +4 -4
- package/dist/java/visitor.d.ts.map +1 -1
- package/dist/java/visitor.js +34 -28
- package/dist/java/visitor.js.map +1 -1
- package/dist/javascript/assertions.d.ts +3 -0
- package/dist/javascript/assertions.d.ts.map +1 -1
- package/dist/javascript/assertions.js +78 -1
- package/dist/javascript/assertions.js.map +1 -1
- package/dist/javascript/format.js +4 -4
- package/dist/javascript/format.js.map +1 -1
- package/dist/javascript/parser.d.ts +1 -1
- package/dist/javascript/parser.d.ts.map +1 -1
- package/dist/javascript/parser.js +38 -11
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/rpc.js +1 -4
- package/dist/javascript/rpc.js.map +1 -1
- package/dist/javascript/tree.d.ts +33 -35
- package/dist/javascript/tree.d.ts.map +1 -1
- package/dist/javascript/tree.js +70 -17
- package/dist/javascript/tree.js.map +1 -1
- package/dist/javascript/type-mapping.d.ts +44 -8
- package/dist/javascript/type-mapping.d.ts.map +1 -1
- package/dist/javascript/type-mapping.js +571 -101
- package/dist/javascript/type-mapping.js.map +1 -1
- package/dist/javascript/visitor.d.ts +2 -2
- package/dist/javascript/visitor.d.ts.map +1 -1
- package/dist/javascript/visitor.js.map +1 -1
- package/dist/json/tree.d.ts +0 -2
- package/dist/json/tree.d.ts.map +1 -1
- package/dist/json/tree.js +12 -2
- package/dist/json/tree.js.map +1 -1
- package/dist/reference.js +1 -1
- package/dist/reference.js.map +1 -1
- package/dist/rpc/chrome-profiler.d.ts +25 -0
- package/dist/rpc/chrome-profiler.d.ts.map +1 -0
- package/dist/rpc/chrome-profiler.js +405 -0
- package/dist/rpc/chrome-profiler.js.map +1 -0
- package/dist/rpc/queue.d.ts +0 -3
- package/dist/rpc/queue.d.ts.map +1 -1
- package/dist/rpc/queue.js +6 -6
- package/dist/rpc/queue.js.map +1 -1
- package/dist/rpc/request/parse.d.ts.map +1 -1
- package/dist/rpc/request/parse.js.map +1 -1
- package/dist/rpc/rewrite-rpc.d.ts +1 -0
- package/dist/rpc/rewrite-rpc.d.ts.map +1 -1
- package/dist/rpc/rewrite-rpc.js +1 -1
- package/dist/rpc/rewrite-rpc.js.map +1 -1
- package/dist/rpc/server.d.ts.map +1 -1
- package/dist/rpc/server.js +26 -1
- package/dist/rpc/server.js.map +1 -1
- package/dist/test/rewrite-test.d.ts +1 -1
- package/dist/test/rewrite-test.d.ts.map +1 -1
- package/dist/test/rewrite-test.js +18 -2
- package/dist/test/rewrite-test.js.map +1 -1
- package/dist/text/tree.d.ts +0 -2
- package/dist/text/tree.d.ts.map +1 -1
- package/dist/text/tree.js +4 -17
- package/dist/text/tree.js.map +1 -1
- package/dist/tree.d.ts +1 -0
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +14 -0
- package/dist/tree.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +3 -3
- package/src/java/rpc.ts +18 -15
- package/src/java/tree.ts +68 -38
- package/src/java/type.ts +475 -74
- package/src/java/visitor.ts +45 -39
- package/src/javascript/assertions.ts +52 -1
- package/src/javascript/format.ts +4 -4
- package/src/javascript/parser.ts +51 -18
- package/src/javascript/rpc.ts +8 -10
- package/src/javascript/tree.ts +34 -35
- package/src/javascript/type-mapping.ts +582 -47
- package/src/javascript/visitor.ts +5 -5
- package/src/json/tree.ts +1 -2
- package/src/reference.ts +1 -1
- package/src/rpc/chrome-profiler.ts +373 -0
- package/src/rpc/queue.ts +8 -12
- package/src/rpc/request/parse.ts +1 -1
- package/src/rpc/rewrite-rpc.ts +3 -2
- package/src/rpc/server.ts +30 -1
- package/src/test/rewrite-test.ts +19 -3
- package/src/text/tree.ts +0 -1
- 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 {
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
383
|
-
readonly fieldType?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
453
|
+
readonly value?: string | number | bigint | boolean | null | undefined;
|
|
454
454
|
readonly valueSource?: string;
|
|
455
455
|
readonly unicodeEscapes?: LiteralUnicodeEscape[];
|
|
456
|
-
readonly type?:
|
|
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?:
|
|
470
|
-
readonly methodType?:
|
|
471
|
-
readonly variableType?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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?:
|
|
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) =>
|
|
840
|
+
const typeGetters = new Map<TypedTree["kind"], (tree: TypedTree) => Type | undefined>();
|
|
841
841
|
|
|
842
|
-
export function getType(typeTree?: TypedTree):
|
|
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) =>
|
|
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, () =>
|
|
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:
|
|
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, () =>
|
|
875
|
-
registerTypeGetter(J.Kind.Unknown, () =>
|
|
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 (
|
|
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
|
});
|