mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
1183 lines
55 KiB
Plaintext
1183 lines
55 KiB
Plaintext
classes.kt:
|
|
# 0| [CompilationUnit] classes
|
|
# 0| 1: [Class] ClassesKt
|
|
# 32| 1: [Method] f
|
|
# 32| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 32| 0: [Parameter] s
|
|
# 32| 0: [TypeAccess] String
|
|
# 32| 5: [BlockStmt] { ... }
|
|
# 158| 2: [Method] fn1
|
|
# 158| 3: [TypeAccess] Unit
|
|
# 158| 5: [BlockStmt] { ... }
|
|
# 159| 0: [LocalTypeDeclStmt] class ...
|
|
# 159| 0: [LocalClass] X
|
|
# 159| 1: [Constructor] X
|
|
# 159| 5: [BlockStmt] { ... }
|
|
# 159| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 159| 1: [BlockStmt] { ... }
|
|
# 162| 3: [Method] fn2
|
|
# 162| 3: [TypeAccess] Object
|
|
# 162| 5: [BlockStmt] { ... }
|
|
# 162| 0: [ReturnStmt] return ...
|
|
# 162| 0: [StmtExpr] <Stmt>
|
|
# 162| 0: [BlockStmt] { ... }
|
|
# 162| 0: [LocalTypeDeclStmt] class ...
|
|
# 162| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 162| 1: [Constructor]
|
|
# 162| 5: [BlockStmt] { ... }
|
|
# 162| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 162| 1: [BlockStmt] { ... }
|
|
# 162| 1: [ExprStmt] <Expr>;
|
|
# 162| 0: [ClassInstanceExpr] new (...)
|
|
# 162| -3: [TypeAccess] Object
|
|
# 2| 2: [Class] ClassOne
|
|
# 2| 1: [Constructor] ClassOne
|
|
# 2| 5: [BlockStmt] { ... }
|
|
# 2| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 2| 1: [BlockStmt] { ... }
|
|
# 4| 3: [Class] ClassTwo
|
|
# 4| 1: [Constructor] ClassTwo
|
|
#-----| 4: (Parameters)
|
|
# 4| 0: [Parameter] arg
|
|
# 4| 0: [TypeAccess] int
|
|
# 4| 5: [BlockStmt] { ... }
|
|
# 4| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 4| 1: [BlockStmt] { ... }
|
|
# 4| 0: [ExprStmt] <Expr>;
|
|
# 4| 0: [KtInitializerAssignExpr] ...=...
|
|
# 4| 0: [VarAccess] arg
|
|
# 5| 1: [ExprStmt] <Expr>;
|
|
# 5| 0: [KtInitializerAssignExpr] ...=...
|
|
# 5| 0: [VarAccess] x
|
|
# 4| 2: [Method] getArg
|
|
# 4| 3: [TypeAccess] int
|
|
# 4| 5: [BlockStmt] { ... }
|
|
# 4| 0: [ReturnStmt] return ...
|
|
# 4| 0: [VarAccess] this.arg
|
|
# 4| -1: [ThisAccess] this
|
|
# 4| 3: [FieldDeclaration] int arg;
|
|
# 4| -1: [TypeAccess] int
|
|
# 4| 0: [VarAccess] arg
|
|
# 5| 4: [Method] getX
|
|
# 5| 3: [TypeAccess] int
|
|
# 5| 5: [BlockStmt] { ... }
|
|
# 5| 0: [ReturnStmt] return ...
|
|
# 5| 0: [VarAccess] this.x
|
|
# 5| -1: [ThisAccess] this
|
|
# 5| 5: [FieldDeclaration] int x;
|
|
# 5| -1: [TypeAccess] int
|
|
# 5| 0: [IntegerLiteral] 3
|
|
# 8| 4: [Class] ClassThree
|
|
# 8| 1: [Constructor] ClassThree
|
|
# 8| 5: [BlockStmt] { ... }
|
|
# 8| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 8| 1: [BlockStmt] { ... }
|
|
# 9| 2: [Method] foo
|
|
# 9| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 9| 0: [Parameter] arg
|
|
# 9| 0: [TypeAccess] int
|
|
# 12| 5: [Class] ClassFour
|
|
# 12| 1: [Constructor] ClassFour
|
|
# 12| 5: [BlockStmt] { ... }
|
|
# 12| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 12| 1: [BlockStmt] { ... }
|
|
# 13| 2: [Method] foo
|
|
# 13| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 13| 0: [Parameter] arg
|
|
# 13| 0: [TypeAccess] int
|
|
# 13| 5: [BlockStmt] { ... }
|
|
# 17| 6: [Class] ClassFive
|
|
# 17| 1: [Constructor] ClassFive
|
|
# 17| 5: [BlockStmt] { ... }
|
|
# 17| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 17| 1: [BlockStmt] { ... }
|
|
# 20| 7: [Interface] IF1
|
|
# 21| 1: [Method] funIF1
|
|
# 21| 3: [TypeAccess] Unit
|
|
# 21| 5: [BlockStmt] { ... }
|
|
# 24| 8: [Interface] IF2
|
|
# 25| 1: [Method] funIF2
|
|
# 25| 3: [TypeAccess] Unit
|
|
# 25| 5: [BlockStmt] { ... }
|
|
# 28| 9: [Class] ClassSix
|
|
# 28| 1: [Method] funIF1
|
|
# 28| 3: [TypeAccess] Unit
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [ReturnStmt] return ...
|
|
# 28| 0: [MethodCall] funIF1(...)
|
|
# 28| -1: [SuperAccess] IF1.super
|
|
# 28| 0: [TypeAccess] IF1
|
|
# 28| 2: [Method] funIF2
|
|
# 28| 3: [TypeAccess] Unit
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [ReturnStmt] return ...
|
|
# 28| 0: [MethodCall] funIF2(...)
|
|
# 28| -1: [SuperAccess] IF2.super
|
|
# 28| 0: [TypeAccess] IF2
|
|
# 28| 3: [Constructor] ClassSix
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 28| 1: [BlockStmt] { ... }
|
|
# 29| 4: [Constructor] ClassSix
|
|
#-----| 4: (Parameters)
|
|
# 29| 0: [Parameter] i
|
|
# 29| 0: [TypeAccess] int
|
|
# 29| 5: [BlockStmt] { ... }
|
|
# 29| 0: [ThisConstructorInvocationStmt] this(...)
|
|
# 34| 10: [Class] ClassSeven
|
|
# 35| 1: [Constructor] ClassSeven
|
|
#-----| 4: (Parameters)
|
|
# 35| 0: [Parameter] i
|
|
# 35| 0: [TypeAccess] String
|
|
# 35| 5: [BlockStmt] { ... }
|
|
# 35| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 35| 1: [BlockStmt] { ... }
|
|
# 39| 0: [ExprStmt] <Expr>;
|
|
# 39| 0: [MethodCall] f(...)
|
|
# 39| -1: [TypeAccess] ClassesKt
|
|
# 39| 0: [StringLiteral] "init1"
|
|
# 42| 1: [ExprStmt] <Expr>;
|
|
# 42| 0: [KtInitializerAssignExpr] ...=...
|
|
# 42| 0: [VarAccess] x
|
|
# 45| 2: [ExprStmt] <Expr>;
|
|
# 45| 0: [MethodCall] f(...)
|
|
# 45| -1: [TypeAccess] ClassesKt
|
|
# 45| 0: [StringLiteral] "init2"
|
|
# 36| 2: [ExprStmt] <Expr>;
|
|
# 36| 0: [MethodCall] f(...)
|
|
# 36| -1: [TypeAccess] ClassesKt
|
|
# 36| 0: [VarAccess] i
|
|
# 42| 2: [Method] getX
|
|
# 42| 3: [TypeAccess] int
|
|
# 42| 5: [BlockStmt] { ... }
|
|
# 42| 0: [ReturnStmt] return ...
|
|
# 42| 0: [VarAccess] this.x
|
|
# 42| -1: [ThisAccess] this
|
|
# 42| 3: [FieldDeclaration] int x;
|
|
# 42| -1: [TypeAccess] int
|
|
# 42| 0: [IntegerLiteral] 3
|
|
# 49| 11: [Class] Direction
|
|
# 49| 2: [Constructor] Direction
|
|
# 49| 5: [BlockStmt] { ... }
|
|
# 49| 0: [ExprStmt] <Expr>;
|
|
# 49| 0: [ClassInstanceExpr] new Enum<Direction>(...)
|
|
# 49| -3: [TypeAccess] Enum<Direction>
|
|
# 49| 0: [TypeAccess] Direction
|
|
# 49| 0: [NullLiteral] null
|
|
# 49| 1: [IntegerLiteral] 0
|
|
# 49| 1: [BlockStmt] { ... }
|
|
# 49| 3: [Method] getEntries
|
|
# 49| 3: [TypeAccess] EnumEntries<Direction>
|
|
# 49| 0: [TypeAccess] Direction
|
|
# 49| 4: [Method] valueOf
|
|
# 49| 3: [TypeAccess] Direction
|
|
#-----| 4: (Parameters)
|
|
# 49| 0: [Parameter] value
|
|
# 49| 0: [TypeAccess] String
|
|
# 49| 5: [Method] values
|
|
# 49| 3: [TypeAccess] Direction[]
|
|
# 49| 0: [TypeAccess] Direction
|
|
# 50| 6: [FieldDeclaration] Direction NORTH;
|
|
# 50| -1: [TypeAccess] Direction
|
|
# 50| 0: [ClassInstanceExpr] new Direction(...)
|
|
# 50| -3: [TypeAccess] Direction
|
|
# 50| 7: [FieldDeclaration] Direction SOUTH;
|
|
# 50| -1: [TypeAccess] Direction
|
|
# 50| 0: [ClassInstanceExpr] new Direction(...)
|
|
# 50| -3: [TypeAccess] Direction
|
|
# 50| 8: [FieldDeclaration] Direction WEST;
|
|
# 50| -1: [TypeAccess] Direction
|
|
# 50| 0: [ClassInstanceExpr] new Direction(...)
|
|
# 50| -3: [TypeAccess] Direction
|
|
# 50| 9: [FieldDeclaration] Direction EAST;
|
|
# 50| -1: [TypeAccess] Direction
|
|
# 50| 0: [ClassInstanceExpr] new Direction(...)
|
|
# 50| -3: [TypeAccess] Direction
|
|
# 53| 12: [Class] Color
|
|
# 53| 2: [Method] getEntries
|
|
# 53| 3: [TypeAccess] EnumEntries<Color>
|
|
# 53| 0: [TypeAccess] Color
|
|
# 53| 3: [Method] valueOf
|
|
# 53| 3: [TypeAccess] Color
|
|
#-----| 4: (Parameters)
|
|
# 53| 0: [Parameter] value
|
|
# 53| 0: [TypeAccess] String
|
|
# 53| 4: [Method] values
|
|
# 53| 3: [TypeAccess] Color[]
|
|
# 53| 0: [TypeAccess] Color
|
|
# 53| 5: [Constructor] Color
|
|
#-----| 4: (Parameters)
|
|
# 53| 0: [Parameter] rgb
|
|
# 53| 0: [TypeAccess] int
|
|
# 53| 5: [BlockStmt] { ... }
|
|
# 53| 0: [ExprStmt] <Expr>;
|
|
# 53| 0: [ClassInstanceExpr] new Enum<Color>(...)
|
|
# 53| -3: [TypeAccess] Enum<Color>
|
|
# 53| 0: [TypeAccess] Color
|
|
# 53| 0: [NullLiteral] null
|
|
# 53| 1: [IntegerLiteral] 0
|
|
# 53| 1: [BlockStmt] { ... }
|
|
# 53| 0: [ExprStmt] <Expr>;
|
|
# 53| 0: [KtInitializerAssignExpr] ...=...
|
|
# 53| 0: [VarAccess] rgb
|
|
# 53| 6: [Method] getRgb
|
|
# 53| 3: [TypeAccess] int
|
|
# 53| 5: [BlockStmt] { ... }
|
|
# 53| 0: [ReturnStmt] return ...
|
|
# 53| 0: [VarAccess] this.rgb
|
|
# 53| -1: [ThisAccess] this
|
|
# 53| 7: [FieldDeclaration] int rgb;
|
|
# 53| -1: [TypeAccess] int
|
|
# 53| 0: [VarAccess] rgb
|
|
# 54| 8: [FieldDeclaration] Color RED;
|
|
# 54| -1: [TypeAccess] Color
|
|
# 54| 0: [ClassInstanceExpr] new Color(...)
|
|
# 54| -3: [TypeAccess] Color
|
|
# 54| 0: [IntegerLiteral] 16711680
|
|
# 55| 9: [FieldDeclaration] Color GREEN;
|
|
# 55| -1: [TypeAccess] Color
|
|
# 55| 0: [ClassInstanceExpr] new Color(...)
|
|
# 55| -3: [TypeAccess] Color
|
|
# 55| 0: [IntegerLiteral] 65280
|
|
# 56| 10: [FieldDeclaration] Color BLUE;
|
|
# 56| -1: [TypeAccess] Color
|
|
# 56| 0: [ClassInstanceExpr] new Color(...)
|
|
# 56| -3: [TypeAccess] Color
|
|
# 56| 0: [IntegerLiteral] 255
|
|
# 59| 13: [Interface] Interface1
|
|
# 60| 14: [Interface] Interface2
|
|
# 61| 15: [GenericType,Interface,ParameterizedType] Interface3
|
|
#-----| -2: (Generic Parameters)
|
|
# 61| 0: [TypeVariable] T
|
|
# 63| 16: [Class] Class1
|
|
# 63| 1: [Constructor] Class1
|
|
# 63| 5: [BlockStmt] { ... }
|
|
# 63| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 63| 1: [BlockStmt] { ... }
|
|
# 64| 2: [Method] getObject1
|
|
# 64| 3: [TypeAccess] Object
|
|
#-----| 4: (Parameters)
|
|
# 64| 0: [Parameter] b
|
|
# 64| 0: [TypeAccess] boolean
|
|
# 64| 5: [BlockStmt] { ... }
|
|
# 65| 0: [ExprStmt] <Expr>;
|
|
# 65| 0: [WhenExpr] when ...
|
|
# 65| 0: [WhenBranch] ... -> ...
|
|
# 65| 0: [VarAccess] b
|
|
# 66| 1: [ReturnStmt] return ...
|
|
# 66| 0: [StmtExpr] <Stmt>
|
|
# 66| 0: [BlockStmt] { ... }
|
|
# 66| 0: [LocalTypeDeclStmt] class ...
|
|
# 66| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 66| 1: [Constructor]
|
|
# 66| 5: [BlockStmt] { ... }
|
|
# 66| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 66| 1: [BlockStmt] { ... }
|
|
# 66| 1: [ExprStmt] <Expr>;
|
|
# 66| 0: [ClassInstanceExpr] new (...)
|
|
# 66| -3: [TypeAccess] Object
|
|
# 68| 1: [WhenBranch] ... -> ...
|
|
# 68| 0: [BooleanLiteral] true
|
|
# 68| 1: [ReturnStmt] return ...
|
|
# 68| 0: [StmtExpr] <Stmt>
|
|
# 68| 0: [BlockStmt] { ... }
|
|
# 68| 0: [LocalTypeDeclStmt] class ...
|
|
# 68| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 68| 1: [Constructor]
|
|
# 68| 5: [BlockStmt] { ... }
|
|
# 68| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 68| 1: [BlockStmt] { ... }
|
|
# 68| 1: [ExprStmt] <Expr>;
|
|
# 68| 0: [ClassInstanceExpr] new (...)
|
|
# 68| -3: [TypeAccess] Object
|
|
# 71| 3: [Method] getObject2
|
|
# 71| 3: [TypeAccess] Interface1
|
|
# 71| 5: [BlockStmt] { ... }
|
|
# 72| 0: [ReturnStmt] return ...
|
|
# 72| 0: [StmtExpr] <Stmt>
|
|
# 72| 0: [BlockStmt] { ... }
|
|
# 72| 0: [LocalTypeDeclStmt] class ...
|
|
# 72| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 72| 1: [Constructor]
|
|
# 72| 5: [BlockStmt] { ... }
|
|
# 72| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 72| 1: [BlockStmt] { ... }
|
|
# 73| 0: [ExprStmt] <Expr>;
|
|
# 73| 0: [KtInitializerAssignExpr] ...=...
|
|
# 73| 0: [VarAccess] x
|
|
# 73| 2: [Method] getX
|
|
# 73| 3: [TypeAccess] int
|
|
# 73| 5: [BlockStmt] { ... }
|
|
# 73| 0: [ReturnStmt] return ...
|
|
# 73| 0: [VarAccess] this.x
|
|
# 73| -1: [ThisAccess] this
|
|
# 73| 3: [FieldDeclaration] int x;
|
|
# 73| -1: [TypeAccess] int
|
|
# 73| 0: [IntegerLiteral] 1
|
|
# 74| 4: [Method] foo
|
|
# 74| 3: [TypeAccess] Object
|
|
# 74| 5: [BlockStmt] { ... }
|
|
# 75| 0: [ReturnStmt] return ...
|
|
# 75| 0: [StmtExpr] <Stmt>
|
|
# 75| 0: [BlockStmt] { ... }
|
|
# 75| 0: [LocalTypeDeclStmt] class ...
|
|
# 75| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 75| 1: [Constructor]
|
|
# 75| 5: [BlockStmt] { ... }
|
|
# 75| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 75| 1: [BlockStmt] { ... }
|
|
# 75| 1: [ExprStmt] <Expr>;
|
|
# 75| 0: [ClassInstanceExpr] new (...)
|
|
# 75| -3: [TypeAccess] Object
|
|
# 72| 1: [ExprStmt] <Expr>;
|
|
# 72| 0: [ClassInstanceExpr] new (...)
|
|
# 72| -3: [TypeAccess] Object
|
|
# 80| 4: [Method] getObject3
|
|
# 80| 3: [TypeAccess] Object
|
|
# 80| 5: [BlockStmt] { ... }
|
|
# 81| 0: [ReturnStmt] return ...
|
|
# 81| 0: [StmtExpr] <Stmt>
|
|
# 81| 0: [BlockStmt] { ... }
|
|
# 81| 0: [LocalTypeDeclStmt] class ...
|
|
# 81| 0: [AnonymousClass,LocalClass] new Interface1(...) { ... }
|
|
# 81| 1: [Constructor]
|
|
# 81| 5: [BlockStmt] { ... }
|
|
# 81| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 81| 1: [BlockStmt] { ... }
|
|
# 81| 1: [ExprStmt] <Expr>;
|
|
# 81| 0: [ClassInstanceExpr] new (...)
|
|
# 81| -3: [TypeAccess] Interface1
|
|
# 84| 5: [Method] getObject4
|
|
# 84| 3: [TypeAccess] Object
|
|
# 84| 5: [BlockStmt] { ... }
|
|
# 85| 0: [ReturnStmt] return ...
|
|
# 85| 0: [StmtExpr] <Stmt>
|
|
# 85| 0: [BlockStmt] { ... }
|
|
# 85| 0: [LocalTypeDeclStmt] class ...
|
|
# 85| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 85| 1: [Constructor]
|
|
# 85| 5: [BlockStmt] { ... }
|
|
# 85| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 85| 1: [BlockStmt] { ... }
|
|
# 85| 1: [ExprStmt] <Expr>;
|
|
# 85| 0: [ClassInstanceExpr] new (...)
|
|
# 85| -3: [TypeAccess] Object
|
|
# 88| 6: [Method] getObject5
|
|
# 88| 3: [TypeAccess] Object
|
|
# 88| 5: [BlockStmt] { ... }
|
|
# 89| 0: [ReturnStmt] return ...
|
|
# 89| 0: [StmtExpr] <Stmt>
|
|
# 89| 0: [BlockStmt] { ... }
|
|
# 89| 0: [LocalTypeDeclStmt] class ...
|
|
# 89| 0: [AnonymousClass,LocalClass] new Interface3<Integer>(...) { ... }
|
|
# 89| 1: [Constructor]
|
|
# 89| 5: [BlockStmt] { ... }
|
|
# 89| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 89| 1: [BlockStmt] { ... }
|
|
# 89| 1: [ExprStmt] <Expr>;
|
|
# 89| 0: [ClassInstanceExpr] new (...)
|
|
# 89| -3: [TypeAccess] Interface3<Integer>
|
|
# 93| 17: [Class] pulicClass
|
|
# 93| 1: [Constructor] pulicClass
|
|
# 93| 5: [BlockStmt] { ... }
|
|
# 93| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 93| 1: [BlockStmt] { ... }
|
|
# 94| 18: [Class] privateClass
|
|
# 94| 1: [Constructor] privateClass
|
|
# 94| 5: [BlockStmt] { ... }
|
|
# 94| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 94| 1: [BlockStmt] { ... }
|
|
# 95| 19: [Class] internalClass
|
|
# 95| 1: [Constructor] internalClass
|
|
# 95| 5: [BlockStmt] { ... }
|
|
# 95| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 95| 1: [BlockStmt] { ... }
|
|
# 96| 20: [Class] noExplicitVisibilityClass
|
|
# 96| 1: [Constructor] noExplicitVisibilityClass
|
|
# 96| 5: [BlockStmt] { ... }
|
|
# 96| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 96| 1: [BlockStmt] { ... }
|
|
# 98| 21: [Class] nestedClassVisibilities
|
|
# 98| 1: [Constructor] nestedClassVisibilities
|
|
# 98| 5: [BlockStmt] { ... }
|
|
# 98| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 98| 1: [BlockStmt] { ... }
|
|
# 99| 2: [Class] pulicNestedClass
|
|
# 99| 1: [Constructor] pulicNestedClass
|
|
# 99| 5: [BlockStmt] { ... }
|
|
# 99| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 99| 1: [BlockStmt] { ... }
|
|
# 100| 3: [Class] protectedNestedClass
|
|
# 100| 1: [Constructor] protectedNestedClass
|
|
# 100| 5: [BlockStmt] { ... }
|
|
# 100| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 100| 1: [BlockStmt] { ... }
|
|
# 101| 4: [Class] privateNestedClass
|
|
# 101| 1: [Constructor] privateNestedClass
|
|
# 101| 5: [BlockStmt] { ... }
|
|
# 101| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 101| 1: [BlockStmt] { ... }
|
|
# 102| 5: [Class] internalNestedClass
|
|
# 102| 1: [Constructor] internalNestedClass
|
|
# 102| 5: [BlockStmt] { ... }
|
|
# 102| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 102| 1: [BlockStmt] { ... }
|
|
# 103| 6: [Class] noExplicitVisibilityNestedClass
|
|
# 103| 1: [Constructor] noExplicitVisibilityNestedClass
|
|
# 103| 5: [BlockStmt] { ... }
|
|
# 103| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 103| 1: [BlockStmt] { ... }
|
|
# 106| 22: [Class] sealedClass
|
|
# 106| 1: [Constructor] sealedClass
|
|
# 106| 5: [BlockStmt] { ... }
|
|
# 106| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 106| 1: [BlockStmt] { ... }
|
|
# 107| 23: [Class] openClass
|
|
# 107| 1: [Constructor] openClass
|
|
# 107| 5: [BlockStmt] { ... }
|
|
# 107| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 107| 1: [BlockStmt] { ... }
|
|
# 109| 24: [Class] C1
|
|
# 109| 1: [Constructor] C1
|
|
# 109| 5: [BlockStmt] { ... }
|
|
# 109| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 109| 1: [BlockStmt] { ... }
|
|
# 110| 2: [Method] fn1
|
|
# 110| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 110| 0: [Parameter] p
|
|
# 110| 0: [TypeAccess] int
|
|
# 110| 5: [BlockStmt] { ... }
|
|
# 111| 0: [LocalTypeDeclStmt] class ...
|
|
# 111| 0: [Class,GenericType,LocalClass,ParameterizedType] Local1
|
|
#-----| -2: (Generic Parameters)
|
|
# 111| 0: [TypeVariable] T1
|
|
# 111| 1: [Constructor] Local1
|
|
# 111| 5: [BlockStmt] { ... }
|
|
# 111| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 111| 1: [BlockStmt] { ... }
|
|
# 112| 2: [Method] foo
|
|
# 112| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 112| 0: [Parameter] p
|
|
# 112| 0: [TypeAccess] int
|
|
# 112| 5: [BlockStmt] { ... }
|
|
# 114| 1: [ExprStmt] <Expr>;
|
|
# 114| 0: [MethodCall] foo(...)
|
|
# 114| -1: [ClassInstanceExpr] new Local1<Integer>(...)
|
|
# 114| -3: [TypeAccess] Local1<Integer>
|
|
# 114| 0: [TypeAccess] Integer
|
|
# 114| 0: [VarAccess] p
|
|
# 117| 3: [Method] fn2
|
|
# 117| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 117| 0: [Parameter] p
|
|
# 117| 0: [TypeAccess] int
|
|
# 117| 5: [BlockStmt] { ... }
|
|
# 118| 0: [LocalTypeDeclStmt] class ...
|
|
# 118| 0: [LocalClass]
|
|
# 118| 1: [Constructor]
|
|
# 118| 5: [BlockStmt] { ... }
|
|
# 118| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 118| 2: [Method] localFn
|
|
# 118| 3: [TypeAccess] Unit
|
|
# 118| 5: [BlockStmt] { ... }
|
|
# 119| 0: [LocalTypeDeclStmt] class ...
|
|
# 119| 0: [Class,GenericType,LocalClass,ParameterizedType] Local2
|
|
#-----| -2: (Generic Parameters)
|
|
# 119| 0: [TypeVariable] T1
|
|
# 119| 1: [Constructor] Local2
|
|
# 119| 5: [BlockStmt] { ... }
|
|
# 119| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 119| 1: [BlockStmt] { ... }
|
|
# 120| 2: [Method] foo
|
|
# 120| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 120| 0: [Parameter] p
|
|
# 120| 0: [TypeAccess] int
|
|
# 120| 5: [BlockStmt] { ... }
|
|
# 122| 1: [ExprStmt] <Expr>;
|
|
# 122| 0: [MethodCall] foo(...)
|
|
# 122| -1: [ClassInstanceExpr] new Local2<Integer>(...)
|
|
# 122| -3: [TypeAccess] Local2<Integer>
|
|
# 122| 0: [TypeAccess] Integer
|
|
# 122| 0: [VarAccess] p
|
|
# 126| 4: [Method] fn3
|
|
# 126| 3: [TypeAccess] Object
|
|
#-----| 4: (Parameters)
|
|
# 126| 0: [Parameter] p
|
|
# 126| 0: [TypeAccess] int
|
|
# 126| 5: [BlockStmt] { ... }
|
|
# 127| 0: [ReturnStmt] return ...
|
|
# 127| 0: [StmtExpr] <Stmt>
|
|
# 127| 0: [BlockStmt] { ... }
|
|
# 127| 0: [LocalTypeDeclStmt] class ...
|
|
# 127| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 127| 1: [Constructor]
|
|
# 127| 5: [BlockStmt] { ... }
|
|
# 127| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 127| 1: [BlockStmt] { ... }
|
|
# 128| 2: [Method] fn
|
|
# 128| 3: [TypeAccess] Unit
|
|
# 128| 5: [BlockStmt] { ... }
|
|
# 129| 0: [LocalTypeDeclStmt] class ...
|
|
# 129| 0: [Class,GenericType,LocalClass,ParameterizedType] Local3
|
|
#-----| -2: (Generic Parameters)
|
|
# 129| 0: [TypeVariable] T1
|
|
# 129| 1: [Constructor] Local3
|
|
# 129| 5: [BlockStmt] { ... }
|
|
# 129| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 129| 1: [BlockStmt] { ... }
|
|
# 130| 2: [Method] foo
|
|
# 130| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 130| 0: [Parameter] p
|
|
# 130| 0: [TypeAccess] int
|
|
# 130| 5: [BlockStmt] { ... }
|
|
# 132| 1: [ExprStmt] <Expr>;
|
|
# 132| 0: [MethodCall] foo(...)
|
|
# 132| -1: [ClassInstanceExpr] new Local3<Integer>(...)
|
|
# 132| -3: [TypeAccess] Local3<Integer>
|
|
# 132| 0: [TypeAccess] Integer
|
|
# 132| 0: [VarAccess] p
|
|
# 127| 1: [ExprStmt] <Expr>;
|
|
# 127| 0: [ClassInstanceExpr] new (...)
|
|
# 127| -3: [TypeAccess] Object
|
|
# 138| 25: [Class,GenericType,ParameterizedType] Cl0
|
|
#-----| -2: (Generic Parameters)
|
|
# 138| 0: [TypeVariable] U0
|
|
# 138| 1: [Constructor] Cl0
|
|
# 138| 5: [BlockStmt] { ... }
|
|
# 138| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 138| 1: [BlockStmt] { ... }
|
|
# 139| 2: [Method] func1
|
|
#-----| 2: (Generic Parameters)
|
|
# 139| 0: [TypeVariable] U1
|
|
# 139| 3: [TypeAccess] Unit
|
|
# 139| 5: [BlockStmt] { ... }
|
|
# 140| 0: [LocalTypeDeclStmt] class ...
|
|
# 140| 0: [LocalClass]
|
|
# 140| 1: [Constructor]
|
|
# 140| 5: [BlockStmt] { ... }
|
|
# 140| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 140| 2: [Method] func2
|
|
#-----| 2: (Generic Parameters)
|
|
# 140| 0: [TypeVariable] U2
|
|
# 140| 3: [TypeAccess] Unit
|
|
# 140| 5: [BlockStmt] { ... }
|
|
# 141| 0: [LocalTypeDeclStmt] class ...
|
|
# 141| 0: [Class,GenericType,LocalClass,ParameterizedType] Cl1
|
|
#-----| -2: (Generic Parameters)
|
|
# 141| 0: [TypeVariable] U3
|
|
# 141| 1: [Constructor] Cl1
|
|
# 141| 5: [BlockStmt] { ... }
|
|
# 141| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 141| 1: [BlockStmt] { ... }
|
|
# 142| 2: [Method] fn
|
|
# 142| 3: [TypeAccess] Unit
|
|
# 142| 5: [BlockStmt] { ... }
|
|
# 143| 0: [LocalVariableDeclStmt] var ...;
|
|
# 143| 1: [LocalVariableDeclExpr] x
|
|
# 143| 0: [ClassInstanceExpr] new Cl1(...)
|
|
# 143| -3: [TypeAccess] Cl1
|
|
# 143| 0: [TypeAccess] U3
|
|
# 150| 26: [Class,GenericType,ParameterizedType] Cl00
|
|
#-----| -2: (Generic Parameters)
|
|
# 150| 0: [TypeVariable] U0
|
|
# 150| 1: [Constructor] Cl00
|
|
# 150| 5: [BlockStmt] { ... }
|
|
# 150| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 150| 1: [BlockStmt] { ... }
|
|
# 151| 2: [Class,GenericType,ParameterizedType] Cl01
|
|
#-----| -2: (Generic Parameters)
|
|
# 151| 0: [TypeVariable] U1
|
|
# 151| 1: [Constructor] Cl01
|
|
# 151| 5: [BlockStmt] { ... }
|
|
# 151| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 151| 1: [BlockStmt] { ... }
|
|
# 152| 2: [Method] fn
|
|
# 152| 3: [TypeAccess] Unit
|
|
# 152| 5: [BlockStmt] { ... }
|
|
# 153| 0: [LocalVariableDeclStmt] var ...;
|
|
# 153| 1: [LocalVariableDeclExpr] x
|
|
# 153| 0: [ClassInstanceExpr] new Cl01(...)
|
|
# 153| -3: [TypeAccess] Cl01
|
|
# 153| 0: [TypeAccess] U1
|
|
generic_anonymous.kt:
|
|
# 0| [CompilationUnit] generic_anonymous
|
|
# 0| 1: [Class] Generic_anonymousKt
|
|
# 11| 1: [Method] stringIdentity
|
|
# 11| 3: [TypeAccess] String
|
|
#-----| 4: (Parameters)
|
|
# 11| 0: [Parameter] s
|
|
# 11| 0: [TypeAccess] String
|
|
# 11| 5: [BlockStmt] { ... }
|
|
# 11| 0: [ReturnStmt] return ...
|
|
# 11| 0: [MethodCall] get(...)
|
|
# 11| -1: [ClassInstanceExpr] new Generic<String>(...)
|
|
# 11| -3: [TypeAccess] Generic<String>
|
|
# 11| 0: [TypeAccess] String
|
|
# 11| 0: [VarAccess] s
|
|
# 13| 2: [Method] intIdentity
|
|
# 13| 3: [TypeAccess] int
|
|
#-----| 4: (Parameters)
|
|
# 13| 0: [Parameter] i
|
|
# 13| 0: [TypeAccess] int
|
|
# 13| 5: [BlockStmt] { ... }
|
|
# 13| 0: [ReturnStmt] return ...
|
|
# 13| 0: [MethodCall] get(...)
|
|
# 13| -1: [ClassInstanceExpr] new Generic<Integer>(...)
|
|
# 13| -3: [TypeAccess] Generic<Integer>
|
|
# 13| 0: [TypeAccess] Integer
|
|
# 13| 0: [VarAccess] i
|
|
# 1| 2: [Class,GenericType,ParameterizedType] Generic
|
|
#-----| -2: (Generic Parameters)
|
|
# 1| 0: [TypeVariable] T
|
|
# 1| 1: [Constructor] Generic
|
|
#-----| 4: (Parameters)
|
|
# 1| 0: [Parameter] t
|
|
# 1| 0: [TypeAccess] T
|
|
# 1| 5: [BlockStmt] { ... }
|
|
# 1| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 1| 1: [BlockStmt] { ... }
|
|
# 1| 0: [ExprStmt] <Expr>;
|
|
# 1| 0: [KtInitializerAssignExpr] ...=...
|
|
# 1| 0: [VarAccess] t
|
|
# 3| 1: [ExprStmt] <Expr>;
|
|
# 3| 0: [KtInitializerAssignExpr] ...=...
|
|
# 3| 0: [VarAccess] x
|
|
# 1| 2: [FieldDeclaration] T t;
|
|
# 1| -1: [TypeAccess] T
|
|
# 1| 0: [VarAccess] t
|
|
# 1| 3: [Method] getT
|
|
# 1| 3: [TypeAccess] T
|
|
# 1| 5: [BlockStmt] { ... }
|
|
# 1| 0: [ReturnStmt] return ...
|
|
# 1| 0: [VarAccess] this.t
|
|
# 1| -1: [ThisAccess] this
|
|
# 3| 4: [Method] getX$private
|
|
# 3| 3: [TypeAccess] new Object(...) { ... }
|
|
# 3| 0: [TypeAccess] T
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [ReturnStmt] return ...
|
|
# 3| 0: [VarAccess] this.x
|
|
# 3| -1: [ThisAccess] this
|
|
# 3| 5: [FieldDeclaration] new Object(...) { ... } x;
|
|
# 3| -1: [TypeAccess] new Object(...) { ... }
|
|
# 3| 0: [TypeAccess] T
|
|
# 3| 0: [StmtExpr] <Stmt>
|
|
# 3| 0: [BlockStmt] { ... }
|
|
# 3| 0: [LocalTypeDeclStmt] class ...
|
|
# 3| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 3| 1: [Constructor]
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 3| 1: [BlockStmt] { ... }
|
|
# 4| 0: [ExprStmt] <Expr>;
|
|
# 4| 0: [KtInitializerAssignExpr] ...=...
|
|
# 4| 0: [VarAccess] member
|
|
# 4| 2: [FieldDeclaration] T member;
|
|
# 4| -1: [TypeAccess] T
|
|
# 4| 0: [MethodCall] getT(...)
|
|
# 4| -1: [ThisAccess] Generic.this
|
|
# 4| 0: [TypeAccess] Generic
|
|
# 4| 3: [Method] getMember
|
|
# 4| 3: [TypeAccess] T
|
|
# 4| 5: [BlockStmt] { ... }
|
|
# 4| 0: [ReturnStmt] return ...
|
|
# 4| 0: [VarAccess] this.member
|
|
# 4| -1: [ThisAccess] this
|
|
# 3| 1: [ExprStmt] <Expr>;
|
|
# 3| 0: [ClassInstanceExpr] new (...)
|
|
# 3| -3: [TypeAccess] Object
|
|
# 7| 6: [Method] get
|
|
# 7| 3: [TypeAccess] T
|
|
# 7| 5: [BlockStmt] { ... }
|
|
# 7| 0: [ReturnStmt] return ...
|
|
# 7| 0: [MethodCall] getMember(...)
|
|
# 7| -1: [MethodCall] getX$private(...)
|
|
# 7| -1: [ThisAccess] this
|
|
# 15| 4: [Class,GenericType,ParameterizedType] Outer
|
|
#-----| -2: (Generic Parameters)
|
|
# 15| 0: [TypeVariable] T0
|
|
# 15| 6: [Constructor] Outer
|
|
# 15| 5: [BlockStmt] { ... }
|
|
# 15| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 15| 1: [BlockStmt] { ... }
|
|
# 16| 7: [GenericType,Interface,ParameterizedType] C0
|
|
#-----| -2: (Generic Parameters)
|
|
# 16| 0: [TypeVariable] T0
|
|
# 17| 1: [Method] fn0
|
|
# 17| 3: [TypeAccess] T0
|
|
# 17| 5: [BlockStmt] { ... }
|
|
# 17| 0: [ReturnStmt] return ...
|
|
# 17| 0: [NullLiteral] null
|
|
# 20| 8: [GenericType,Interface,ParameterizedType] C1
|
|
#-----| -2: (Generic Parameters)
|
|
# 20| 0: [TypeVariable] T1
|
|
# 21| 1: [Method] fn1
|
|
# 21| 3: [TypeAccess] T1
|
|
# 21| 5: [BlockStmt] { ... }
|
|
# 21| 0: [ReturnStmt] return ...
|
|
# 21| 0: [NullLiteral] null
|
|
# 24| 9: [Method] func1
|
|
#-----| 2: (Generic Parameters)
|
|
# 24| 0: [TypeVariable] U2
|
|
# 24| 3: [TypeAccess] Unit
|
|
# 24| 5: [BlockStmt] { ... }
|
|
# 25| 0: [LocalTypeDeclStmt] class ...
|
|
# 25| 0: [LocalClass]
|
|
# 25| 1: [Constructor]
|
|
# 25| 5: [BlockStmt] { ... }
|
|
# 25| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 25| 2: [Method] func2
|
|
#-----| 2: (Generic Parameters)
|
|
# 25| 0: [TypeVariable] U3
|
|
# 25| 3: [TypeAccess] Unit
|
|
# 25| 5: [BlockStmt] { ... }
|
|
# 26| 0: [ExprStmt] <Expr>;
|
|
# 26| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 26| 0: [TypeAccess] Unit
|
|
# 26| 1: [StmtExpr] <Stmt>
|
|
# 26| 0: [BlockStmt] { ... }
|
|
# 26| 0: [LocalTypeDeclStmt] class ...
|
|
# 26| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 26| 1: [Constructor]
|
|
# 26| 5: [BlockStmt] { ... }
|
|
# 26| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 26| 1: [BlockStmt] { ... }
|
|
# 26| 2: [Method] fn0
|
|
# 26| 3: [TypeAccess] U2
|
|
# 26| 5: [BlockStmt] { ... }
|
|
# 26| 0: [ReturnStmt] return ...
|
|
# 26| 0: [MethodCall] fn0(...)
|
|
# 26| -1: [SuperAccess] C0.super
|
|
# 26| 0: [TypeAccess] C0
|
|
# 26| 3: [Method] fn1
|
|
# 26| 3: [TypeAccess] U3
|
|
# 26| 5: [BlockStmt] { ... }
|
|
# 26| 0: [ReturnStmt] return ...
|
|
# 26| 0: [MethodCall] fn1(...)
|
|
# 26| -1: [SuperAccess] C1.super
|
|
# 26| 0: [TypeAccess] C1
|
|
# 26| 1: [ExprStmt] <Expr>;
|
|
# 26| 0: [ClassInstanceExpr] new (...)
|
|
# 26| -3: [TypeAccess] Object
|
|
# 27| 1: [ExprStmt] <Expr>;
|
|
# 27| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 27| 0: [TypeAccess] Unit
|
|
# 27| 1: [StmtExpr] <Stmt>
|
|
# 27| 0: [BlockStmt] { ... }
|
|
# 27| 0: [LocalTypeDeclStmt] class ...
|
|
# 27| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 27| 1: [Constructor]
|
|
# 27| 5: [BlockStmt] { ... }
|
|
# 27| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 27| 1: [BlockStmt] { ... }
|
|
# 27| 2: [Method] fn0
|
|
# 27| 3: [TypeAccess] U2
|
|
# 27| 5: [BlockStmt] { ... }
|
|
# 27| 0: [ReturnStmt] return ...
|
|
# 27| 0: [MethodCall] fn0(...)
|
|
# 27| -1: [SuperAccess] C0.super
|
|
# 27| 0: [TypeAccess] C0
|
|
# 27| 3: [Method] fn1
|
|
# 27| 3: [TypeAccess] U2
|
|
# 27| 5: [BlockStmt] { ... }
|
|
# 27| 0: [ReturnStmt] return ...
|
|
# 27| 0: [MethodCall] fn1(...)
|
|
# 27| -1: [SuperAccess] C1.super
|
|
# 27| 0: [TypeAccess] C1
|
|
# 27| 1: [ExprStmt] <Expr>;
|
|
# 27| 0: [ClassInstanceExpr] new (...)
|
|
# 27| -3: [TypeAccess] Object
|
|
# 28| 2: [ExprStmt] <Expr>;
|
|
# 28| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 28| 0: [TypeAccess] Unit
|
|
# 28| 1: [StmtExpr] <Stmt>
|
|
# 28| 0: [BlockStmt] { ... }
|
|
# 28| 0: [LocalTypeDeclStmt] class ...
|
|
# 28| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 28| 1: [Constructor]
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 28| 1: [BlockStmt] { ... }
|
|
# 28| 2: [Method] fn0
|
|
# 28| 3: [TypeAccess] U2
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [ReturnStmt] return ...
|
|
# 28| 0: [MethodCall] fn0(...)
|
|
# 28| -1: [SuperAccess] C0.super
|
|
# 28| 0: [TypeAccess] C0
|
|
# 28| 3: [Method] fn1
|
|
# 28| 3: [TypeAccess] String
|
|
# 28| 5: [BlockStmt] { ... }
|
|
# 28| 0: [ReturnStmt] return ...
|
|
# 28| 0: [MethodCall] fn1(...)
|
|
# 28| -1: [SuperAccess] C1.super
|
|
# 28| 0: [TypeAccess] C1
|
|
# 28| 1: [ExprStmt] <Expr>;
|
|
# 28| 0: [ClassInstanceExpr] new (...)
|
|
# 28| -3: [TypeAccess] Object
|
|
# 29| 3: [ExprStmt] <Expr>;
|
|
# 29| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 29| 0: [TypeAccess] Unit
|
|
# 29| 1: [StmtExpr] <Stmt>
|
|
# 29| 0: [BlockStmt] { ... }
|
|
# 29| 0: [LocalTypeDeclStmt] class ...
|
|
# 29| 0: [AnonymousClass,LocalClass] new C0<U2>(...) { ... }
|
|
# 29| 1: [Constructor]
|
|
# 29| 5: [BlockStmt] { ... }
|
|
# 29| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 29| 1: [BlockStmt] { ... }
|
|
# 29| 2: [Method] fn0
|
|
# 29| 3: [TypeAccess] U2
|
|
# 29| 5: [BlockStmt] { ... }
|
|
# 29| 0: [ReturnStmt] return ...
|
|
# 29| 0: [MethodCall] fn0(...)
|
|
# 29| -1: [SuperAccess] C0.super
|
|
# 29| 0: [TypeAccess] C0
|
|
# 29| 1: [ExprStmt] <Expr>;
|
|
# 29| 0: [ClassInstanceExpr] new (...)
|
|
# 29| -3: [TypeAccess] C0<U2>
|
|
# 30| 4: [ExprStmt] <Expr>;
|
|
# 30| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 30| 0: [TypeAccess] Unit
|
|
# 30| 1: [StmtExpr] <Stmt>
|
|
# 30| 0: [BlockStmt] { ... }
|
|
# 30| 0: [LocalTypeDeclStmt] class ...
|
|
# 30| 0: [AnonymousClass,LocalClass] new C0<String>(...) { ... }
|
|
# 30| 1: [Constructor]
|
|
# 30| 5: [BlockStmt] { ... }
|
|
# 30| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 30| 1: [BlockStmt] { ... }
|
|
# 30| 2: [Method] fn0
|
|
# 30| 3: [TypeAccess] String
|
|
# 30| 5: [BlockStmt] { ... }
|
|
# 30| 0: [ReturnStmt] return ...
|
|
# 30| 0: [MethodCall] fn0(...)
|
|
# 30| -1: [SuperAccess] C0.super
|
|
# 30| 0: [TypeAccess] C0
|
|
# 30| 1: [ExprStmt] <Expr>;
|
|
# 30| 0: [ClassInstanceExpr] new (...)
|
|
# 30| -3: [TypeAccess] C0<String>
|
|
localClassField.kt:
|
|
# 0| [CompilationUnit] localClassField
|
|
# 1| 1: [Class] A
|
|
# 1| 1: [Constructor] A
|
|
# 1| 5: [BlockStmt] { ... }
|
|
# 1| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 1| 1: [BlockStmt] { ... }
|
|
# 2| 0: [ExprStmt] <Expr>;
|
|
# 2| 0: [KtInitializerAssignExpr] ...=...
|
|
# 2| 0: [VarAccess] x
|
|
# 7| 1: [ExprStmt] <Expr>;
|
|
# 7| 0: [KtInitializerAssignExpr] ...=...
|
|
# 7| 0: [VarAccess] y
|
|
# 2| 2: [FieldDeclaration] Object x;
|
|
# 2| -1: [TypeAccess] Object
|
|
# 2| 0: [WhenExpr] when ...
|
|
# 2| 0: [WhenBranch] ... -> ...
|
|
# 2| 0: [BooleanLiteral] true
|
|
# 2| 1: [ExprStmt] <Expr>;
|
|
# 2| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 2| 0: [TypeAccess] Unit
|
|
# 2| 1: [StmtExpr] <Stmt>
|
|
# 2| 0: [BlockStmt] { ... }
|
|
# 3| 0: [LocalTypeDeclStmt] class ...
|
|
# 3| 0: [LocalClass] L
|
|
# 3| 1: [Constructor] L
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 3| 1: [BlockStmt] { ... }
|
|
# 4| 1: [ExprStmt] <Expr>;
|
|
# 4| 0: [ClassInstanceExpr] new L(...)
|
|
# 4| -3: [TypeAccess] L
|
|
# 5| 1: [WhenBranch] ... -> ...
|
|
# 5| 0: [BooleanLiteral] true
|
|
# 5| 1: [BlockStmt] { ... }
|
|
# 2| 3: [Method] getX
|
|
# 2| 3: [TypeAccess] Object
|
|
# 2| 5: [BlockStmt] { ... }
|
|
# 2| 0: [ReturnStmt] return ...
|
|
# 2| 0: [VarAccess] this.x
|
|
# 2| -1: [ThisAccess] this
|
|
# 7| 4: [FieldDeclaration] Object y;
|
|
# 7| -1: [TypeAccess] Object
|
|
# 7| 0: [WhenExpr] when ...
|
|
# 7| 0: [WhenBranch] ... -> ...
|
|
# 7| 0: [BooleanLiteral] true
|
|
# 7| 1: [ExprStmt] <Expr>;
|
|
# 7| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 7| 0: [TypeAccess] Unit
|
|
# 7| 1: [StmtExpr] <Stmt>
|
|
# 7| 0: [BlockStmt] { ... }
|
|
# 8| 0: [LocalTypeDeclStmt] class ...
|
|
# 8| 0: [LocalClass] L
|
|
# 8| 1: [Constructor] L
|
|
# 8| 5: [BlockStmt] { ... }
|
|
# 8| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 8| 1: [BlockStmt] { ... }
|
|
# 9| 1: [ExprStmt] <Expr>;
|
|
# 9| 0: [ClassInstanceExpr] new L(...)
|
|
# 9| -3: [TypeAccess] L
|
|
# 10| 1: [WhenBranch] ... -> ...
|
|
# 10| 0: [BooleanLiteral] true
|
|
# 10| 1: [BlockStmt] { ... }
|
|
# 7| 5: [Method] getY
|
|
# 7| 3: [TypeAccess] Object
|
|
# 7| 5: [BlockStmt] { ... }
|
|
# 7| 0: [ReturnStmt] return ...
|
|
# 7| 0: [VarAccess] this.y
|
|
# 7| -1: [ThisAccess] this
|
|
local_anonymous.kt:
|
|
# 0| [CompilationUnit] local_anonymous
|
|
# 3| 1: [Class] Class1
|
|
# 3| 1: [Constructor] Class1
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 3| 1: [BlockStmt] { ... }
|
|
# 4| 2: [Method] fn1
|
|
# 4| 3: [TypeAccess] Object
|
|
# 4| 5: [BlockStmt] { ... }
|
|
# 5| 0: [ReturnStmt] return ...
|
|
# 5| 0: [StmtExpr] <Stmt>
|
|
# 5| 0: [BlockStmt] { ... }
|
|
# 5| 0: [LocalTypeDeclStmt] class ...
|
|
# 5| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 5| 1: [Constructor]
|
|
# 5| 5: [BlockStmt] { ... }
|
|
# 5| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 5| 1: [BlockStmt] { ... }
|
|
# 6| 2: [Method] fn
|
|
# 6| 3: [TypeAccess] Unit
|
|
# 6| 5: [BlockStmt] { ... }
|
|
# 5| 1: [ExprStmt] <Expr>;
|
|
# 5| 0: [ClassInstanceExpr] new (...)
|
|
# 5| -3: [TypeAccess] Object
|
|
# 10| 3: [Method] fn2
|
|
# 10| 3: [TypeAccess] Unit
|
|
# 10| 5: [BlockStmt] { ... }
|
|
# 11| 0: [LocalTypeDeclStmt] class ...
|
|
# 11| 0: [LocalClass]
|
|
# 11| 1: [Constructor]
|
|
# 11| 5: [BlockStmt] { ... }
|
|
# 11| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 11| 2: [Method] fnLocal
|
|
# 11| 3: [TypeAccess] Unit
|
|
# 11| 5: [BlockStmt] { ... }
|
|
# 12| 1: [ExprStmt] <Expr>;
|
|
# 12| 0: [MethodCall] fnLocal(...)
|
|
# 12| -1: [ClassInstanceExpr] new (...)
|
|
# 12| -3: [TypeAccess] Object
|
|
# 15| 4: [Method] fn3
|
|
# 15| 3: [TypeAccess] Unit
|
|
# 15| 5: [BlockStmt] { ... }
|
|
# 16| 0: [LocalVariableDeclStmt] var ...;
|
|
# 16| 1: [LocalVariableDeclExpr] lambda1
|
|
# 16| 0: [LambdaExpr] ...->...
|
|
# 16| -4: [AnonymousClass] new Function2<Integer,Integer,Integer>(...) { ... }
|
|
# 16| 1: [Constructor]
|
|
# 16| 5: [BlockStmt] { ... }
|
|
# 16| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 16| 2: [Method] invoke
|
|
# 16| 3: [TypeAccess] int
|
|
#-----| 4: (Parameters)
|
|
# 16| 0: [Parameter] a
|
|
# 16| 0: [TypeAccess] int
|
|
# 16| 1: [Parameter] b
|
|
# 16| 0: [TypeAccess] int
|
|
# 16| 5: [BlockStmt] { ... }
|
|
# 16| 0: [ReturnStmt] return ...
|
|
# 16| 0: [AddExpr] ... + ...
|
|
# 16| 0: [VarAccess] a
|
|
# 16| 1: [VarAccess] b
|
|
# 16| -3: [TypeAccess] Function2<Integer,Integer,Integer>
|
|
# 16| 0: [TypeAccess] Integer
|
|
# 16| 1: [TypeAccess] Integer
|
|
# 16| 2: [TypeAccess] Integer
|
|
# 17| 1: [LocalVariableDeclStmt] var ...;
|
|
# 17| 1: [LocalVariableDeclExpr] lambda2
|
|
# 17| 0: [LambdaExpr] ...->...
|
|
# 17| -4: [AnonymousClass] new Function2<Integer,Integer,Integer>(...) { ... }
|
|
# 17| 1: [Constructor]
|
|
# 17| 5: [BlockStmt] { ... }
|
|
# 17| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 17| 2: [Method] invoke
|
|
# 17| 3: [TypeAccess] int
|
|
#-----| 4: (Parameters)
|
|
# 17| 0: [Parameter] a
|
|
# 17| 0: [TypeAccess] int
|
|
# 17| 1: [Parameter] b
|
|
# 17| 0: [TypeAccess] int
|
|
# 17| 5: [BlockStmt] { ... }
|
|
# 17| 0: [ReturnStmt] return ...
|
|
# 17| 0: [AddExpr] ... + ...
|
|
# 17| 0: [VarAccess] a
|
|
# 17| 1: [VarAccess] b
|
|
# 17| -3: [TypeAccess] Function2<Integer,Integer,Integer>
|
|
# 17| 0: [TypeAccess] Integer
|
|
# 17| 1: [TypeAccess] Integer
|
|
# 17| 2: [TypeAccess] Integer
|
|
# 20| 5: [Method] fn4
|
|
# 20| 3: [TypeAccess] Unit
|
|
# 20| 5: [BlockStmt] { ... }
|
|
# 21| 0: [LocalVariableDeclStmt] var ...;
|
|
# 21| 1: [LocalVariableDeclExpr] fnRef
|
|
# 21| 0: [MemberRefExpr] ...::...
|
|
# 21| -4: [AnonymousClass] new Function1<Class1,Unit>(...) { ... }
|
|
# 21| 1: [Constructor]
|
|
# 21| 5: [BlockStmt] { ... }
|
|
# 21| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 21| 0: [IntegerLiteral] 1
|
|
# 21| 2: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 21| 0: [Parameter] a0
|
|
# 21| 5: [BlockStmt] { ... }
|
|
# 21| 0: [ReturnStmt] return ...
|
|
# 21| 0: [MethodCall] fn3(...)
|
|
# 21| -1: [VarAccess] a0
|
|
# 21| -3: [TypeAccess] Function1<Class1,Unit>
|
|
# 21| 0: [TypeAccess] Class1
|
|
# 21| 1: [TypeAccess] Unit
|
|
# 24| 6: [Method] fn5
|
|
# 24| 3: [TypeAccess] Unit
|
|
# 24| 5: [BlockStmt] { ... }
|
|
# 25| 0: [LocalTypeDeclStmt] class ...
|
|
# 25| 0: [LocalClass] LocalClass
|
|
# 25| 1: [Constructor] LocalClass
|
|
# 25| 5: [BlockStmt] { ... }
|
|
# 25| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 25| 1: [BlockStmt] { ... }
|
|
# 26| 1: [ExprStmt] <Expr>;
|
|
# 26| 0: [ImplicitCoercionToUnitExpr] <implicit coercion to unit>
|
|
# 26| 0: [TypeAccess] Unit
|
|
# 26| 1: [ClassInstanceExpr] new LocalClass(...)
|
|
# 26| -3: [TypeAccess] LocalClass
|
|
# 29| 7: [Method] nullableAnonymous
|
|
# 29| 3: [TypeAccess] Object
|
|
# 29| 5: [BlockStmt] { ... }
|
|
# 35| 0: [ReturnStmt] return ...
|
|
# 29| 0: [StmtExpr] <Stmt>
|
|
# 29| 0: [BlockStmt] { ... }
|
|
# 29| 0: [LocalTypeDeclStmt] class ...
|
|
# 29| 0: [AnonymousClass,LocalClass] new Object(...) { ... }
|
|
# 29| 1: [Constructor]
|
|
# 29| 5: [BlockStmt] { ... }
|
|
# 29| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 29| 1: [BlockStmt] { ... }
|
|
# 30| 0: [ExprStmt] <Expr>;
|
|
# 30| 0: [KtInitializerAssignExpr] ...=...
|
|
# 30| 0: [VarAccess] x
|
|
# 30| 2: [Method] getX
|
|
# 30| 3: [TypeAccess] int
|
|
# 30| 5: [BlockStmt] { ... }
|
|
# 30| 0: [ReturnStmt] return ...
|
|
# 30| 0: [VarAccess] this.x
|
|
# 30| -1: [ThisAccess] this
|
|
# 30| 3: [FieldDeclaration] int x;
|
|
# 30| -1: [TypeAccess] int
|
|
# 30| 0: [IntegerLiteral] 1
|
|
# 30| 4: [Method] setX
|
|
# 30| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 30| 0: [Parameter] <set-?>
|
|
# 30| 0: [TypeAccess] int
|
|
# 30| 5: [BlockStmt] { ... }
|
|
# 30| 0: [ExprStmt] <Expr>;
|
|
# 30| 0: [AssignExpr] ...=...
|
|
# 30| 0: [VarAccess] this.x
|
|
# 30| -1: [ThisAccess] this
|
|
# 30| 1: [VarAccess] <set-?>
|
|
# 32| 5: [Method] member
|
|
# 32| 3: [TypeAccess] Unit
|
|
# 32| 5: [BlockStmt] { ... }
|
|
# 33| 0: [LocalVariableDeclStmt] var ...;
|
|
# 33| 1: [LocalVariableDeclExpr] maybeThis
|
|
# 33| 0: [WhenExpr] when ...
|
|
# 33| 0: [WhenBranch] ... -> ...
|
|
# 33| 0: [ValueEQExpr] ... (value equals) ...
|
|
# 33| 0: [MethodCall] getX(...)
|
|
# 33| -1: [ThisAccess] this
|
|
# 33| 1: [IntegerLiteral] 1
|
|
# 33| 1: [ExprStmt] <Expr>;
|
|
# 33| 0: [ThisAccess] this
|
|
# 33| 1: [WhenBranch] ... -> ...
|
|
# 33| 0: [BooleanLiteral] true
|
|
# 33| 1: [ExprStmt] <Expr>;
|
|
# 33| 0: [NullLiteral] null
|
|
# 29| 1: [ExprStmt] <Expr>;
|
|
# 29| 0: [ClassInstanceExpr] new (...)
|
|
# 29| -3: [TypeAccess] Object
|
|
# 38| 2: [Interface] Interface2
|
|
# 39| 3: [Class] Class2
|
|
# 39| 1: [Constructor] Class2
|
|
# 39| 5: [BlockStmt] { ... }
|
|
# 39| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 39| 1: [BlockStmt] { ... }
|
|
# 40| 0: [ExprStmt] <Expr>;
|
|
# 40| 0: [KtInitializerAssignExpr] ...=...
|
|
# 40| 0: [VarAccess] i
|
|
# 40| 2: [FieldDeclaration] Interface2 i;
|
|
# 40| -1: [TypeAccess] Interface2
|
|
# 40| 0: [StmtExpr] <Stmt>
|
|
# 40| 0: [BlockStmt] { ... }
|
|
# 40| 0: [LocalTypeDeclStmt] class ...
|
|
# 40| 0: [AnonymousClass,LocalClass] new Interface2(...) { ... }
|
|
# 40| 1: [Constructor]
|
|
# 40| 5: [BlockStmt] { ... }
|
|
# 40| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 40| 1: [BlockStmt] { ... }
|
|
# 42| 0: [LocalVariableDeclStmt] var ...;
|
|
# 42| 1: [LocalVariableDeclExpr] answer
|
|
# 42| 0: [StringLiteral] "42"
|
|
# 40| 1: [ExprStmt] <Expr>;
|
|
# 40| 0: [ClassInstanceExpr] new (...)
|
|
# 40| -3: [TypeAccess] Interface2
|
|
# 40| 3: [Method] getI
|
|
# 40| 3: [TypeAccess] Interface2
|
|
# 40| 5: [BlockStmt] { ... }
|
|
# 40| 0: [ReturnStmt] return ...
|
|
# 40| 0: [VarAccess] this.i
|
|
# 40| -1: [ThisAccess] this
|
|
# 40| 4: [Method] setI
|
|
# 40| 3: [TypeAccess] Unit
|
|
#-----| 4: (Parameters)
|
|
# 40| 0: [Parameter] <set-?>
|
|
# 40| 0: [TypeAccess] Interface2
|
|
# 40| 5: [BlockStmt] { ... }
|
|
# 40| 0: [ExprStmt] <Expr>;
|
|
# 40| 0: [AssignExpr] ...=...
|
|
# 40| 0: [VarAccess] this.i
|
|
# 40| -1: [ThisAccess] this
|
|
# 40| 1: [VarAccess] <set-?>
|
|
superChain.kt:
|
|
# 0| [CompilationUnit] superChain
|
|
# 1| 1: [Class,GenericType,ParameterizedType] SuperChain1
|
|
#-----| -2: (Generic Parameters)
|
|
# 1| 0: [TypeVariable] T1
|
|
# 1| 1: [TypeVariable] T2
|
|
# 1| 1: [Constructor] SuperChain1
|
|
# 1| 5: [BlockStmt] { ... }
|
|
# 1| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 1| 1: [BlockStmt] { ... }
|
|
# 2| 2: [Class,GenericType,ParameterizedType] SuperChain2
|
|
#-----| -2: (Generic Parameters)
|
|
# 2| 0: [TypeVariable] T3
|
|
# 2| 1: [TypeVariable] T4
|
|
# 2| 1: [Constructor] SuperChain2
|
|
# 2| 5: [BlockStmt] { ... }
|
|
# 2| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 2| 1: [BlockStmt] { ... }
|
|
# 3| 3: [Class,GenericType,ParameterizedType] SuperChain3
|
|
#-----| -2: (Generic Parameters)
|
|
# 3| 0: [TypeVariable] T5
|
|
# 3| 1: [TypeVariable] T6
|
|
# 3| 1: [Constructor] SuperChain3
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 3| 1: [BlockStmt] { ... }
|