mirror of
https://github.com/github/codeql.git
synced 2026-02-17 15:33:45 +01:00
841 lines
42 KiB
Plaintext
841 lines
42 KiB
Plaintext
reflection.kt:
|
|
# 0| [CompilationUnit] reflection
|
|
# 0| 1: [Class] ReflectionKt
|
|
# 45| 1: [ExtensionMethod] getLastChar
|
|
#-----| 4: (Parameters)
|
|
# 44| 0: [Parameter] <this>
|
|
# 45| 5: [BlockStmt] { ... }
|
|
# 45| 0: [ReturnStmt] return ...
|
|
# 45| 0: [MethodAccess] get(...)
|
|
# 45| -1: [ThisAccess] this
|
|
# 45| 0: [SubExpr] ... - ...
|
|
# 45| 0: [MethodAccess] getLength(...)
|
|
# 45| -1: [ThisAccess] this
|
|
# 45| 1: [IntegerLiteral] 1
|
|
# 47| 2: [Method] fn2
|
|
# 47| 5: [BlockStmt] { ... }
|
|
# 48| 0: [ExprStmt] <Expr>;
|
|
# 48| 0: [MethodAccess] println(...)
|
|
# 48| -1: [TypeAccess] ConsoleKt
|
|
# 48| 0: [MethodAccess] get(...)
|
|
# 48| -1: [PropertyRefExpr] ...::...
|
|
# 48| -4: [AnonymousClass] new KProperty1<String,Character>(...) { ... }
|
|
# 48| 1: [Constructor]
|
|
# 48| 5: [BlockStmt] { ... }
|
|
# 48| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 48| 1: [Method] get
|
|
#-----| 4: (Parameters)
|
|
# 48| 0: [Parameter] a0
|
|
# 48| 5: [BlockStmt] { ... }
|
|
# 48| 0: [ReturnStmt] return ...
|
|
# 48| 0: [MethodAccess] getLastChar(...)
|
|
# 48| 0: [VarAccess] a0
|
|
# 48| -3: [TypeAccess] KProperty1<String,Character>
|
|
# 48| 0: [TypeAccess] String
|
|
# 48| 1: [TypeAccess] Character
|
|
# 48| 0: [StringLiteral] abc
|
|
# 49| 1: [ExprStmt] <Expr>;
|
|
# 49| 0: [MethodAccess] println(...)
|
|
# 49| -1: [TypeAccess] ConsoleKt
|
|
# 49| 0: [MethodAccess] get(...)
|
|
# 49| -1: [PropertyRefExpr] ...::...
|
|
# 49| -4: [AnonymousClass] new KProperty0<Character>(...) { ... }
|
|
# 49| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 49| 0: [Parameter] <extensionReceiver>
|
|
# 49| 5: [BlockStmt] { ... }
|
|
# 49| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 49| 1: [ExprStmt] <Expr>;
|
|
# 49| 0: [AssignExpr] ...=...
|
|
# 49| 0: [VarAccess] this.<extensionReceiver>
|
|
# 49| -1: [ThisAccess] this
|
|
# 49| 1: [VarAccess] <extensionReceiver>
|
|
# 49| 1: [FieldDeclaration] String <extensionReceiver>;
|
|
# 49| -1: [TypeAccess] String
|
|
# 49| 1: [Method] get
|
|
# 49| 5: [BlockStmt] { ... }
|
|
# 49| 0: [ReturnStmt] return ...
|
|
# 49| 0: [MethodAccess] getLastChar(...)
|
|
# 49| 0: [VarAccess] this.<extensionReceiver>
|
|
# 49| -1: [ThisAccess] this
|
|
# 49| -3: [TypeAccess] KProperty0<Character>
|
|
# 49| 0: [TypeAccess] Character
|
|
# 49| 0: [StringLiteral] abcd
|
|
# 52| 3: [ExtensionMethod] ext1
|
|
#-----| 2: (Generic Parameters)
|
|
# 52| 0: [TypeVariable] T2
|
|
#-----| 4: (Parameters)
|
|
# 52| 0: [Parameter] <this>
|
|
# 52| 5: [BlockStmt] { ... }
|
|
# 52| 0: [ReturnStmt] return ...
|
|
# 52| 0: [MethodAccess] toString(...)
|
|
# 52| -1: [ThisAccess] this
|
|
# 54| 4: [ExtensionMethod] ext2
|
|
#-----| 4: (Parameters)
|
|
# 54| 0: [Parameter] <this>
|
|
# 54| 5: [BlockStmt] { ... }
|
|
# 54| 0: [ReturnStmt] return ...
|
|
# 54| 0: [MethodAccess] toString(...)
|
|
# 54| -1: [ThisAccess] this
|
|
# 88| 5: [Method] fn
|
|
#-----| 2: (Generic Parameters)
|
|
# 88| 0: [TypeVariable] T
|
|
#-----| 4: (Parameters)
|
|
# 88| 0: [Parameter] value
|
|
# 88| 5: [BlockStmt] { ... }
|
|
# 90| 6: [Method] test
|
|
# 90| 5: [BlockStmt] { ... }
|
|
# 91| 0: [ExprStmt] <Expr>;
|
|
# 91| 0: [MethodAccess] fn11(...)
|
|
# 91| -3: [TypeAccess] Class2<String>
|
|
# 91| 0: [TypeAccess] String
|
|
# 91| -2: [TypeAccess] String
|
|
# 91| 0: [StringLiteral]
|
|
# 91| 1: [MemberRefExpr] ...::...
|
|
# 91| -4: [AnonymousClass] new Function1<String,Class2<String>>(...) { ... }
|
|
# 91| 1: [Constructor]
|
|
# 91| 5: [BlockStmt] { ... }
|
|
# 91| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 91| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 91| 0: [Parameter] a0
|
|
# 91| 5: [BlockStmt] { ... }
|
|
# 91| 0: [ReturnStmt] return ...
|
|
# 91| 0: [ClassInstanceExpr] new Class2<String>(...)
|
|
# 91| -3: [TypeAccess] Class2<String>
|
|
# 91| 0: [TypeAccess] String
|
|
# 91| 0: [VarAccess] a0
|
|
# 91| -3: [TypeAccess] Function1<String,Class2<String>>
|
|
# 91| 0: [TypeAccess] String
|
|
# 91| 1: [TypeAccess] Class2<String>
|
|
# 91| 0: [TypeAccess] String
|
|
# 92| 1: [ExprStmt] <Expr>;
|
|
# 92| 0: [MethodAccess] fn11(...)
|
|
# 92| -3: [TypeAccess] Unit
|
|
# 92| -2: [TypeAccess] String
|
|
# 92| 0: [StringLiteral]
|
|
# 92| 1: [MemberRefExpr] ...::...
|
|
# 92| -4: [AnonymousClass] new Function1<String,Unit>(...) { ... }
|
|
# 92| 1: [Constructor]
|
|
# 92| 5: [BlockStmt] { ... }
|
|
# 92| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 92| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 92| 0: [Parameter] a0
|
|
# 92| 5: [BlockStmt] { ... }
|
|
# 92| 0: [ReturnStmt] return ...
|
|
# 92| 0: [MethodAccess] fn(...)
|
|
# 92| -2: [TypeAccess] String
|
|
# 92| 0: [VarAccess] a0
|
|
# 92| -3: [TypeAccess] Function1<String,Unit>
|
|
# 92| 0: [TypeAccess] String
|
|
# 92| 1: [TypeAccess] Unit
|
|
# 93| 2: [ExprStmt] <Expr>;
|
|
# 93| 0: [MethodAccess] fn12(...)
|
|
# 93| -3: [TypeAccess] Inner<String>
|
|
# 93| 0: [TypeAccess] String
|
|
# 93| 1: [TypeAccess] Integer
|
|
# 93| -2: [TypeAccess] String
|
|
# 93| 0: [StringLiteral]
|
|
# 93| 1: [MemberRefExpr] ...::...
|
|
# 93| -4: [AnonymousClass] new Function1<String,Inner<String>>(...) { ... }
|
|
# 93| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 93| 0: [Parameter] <dispatchReceiver>
|
|
# 93| 5: [BlockStmt] { ... }
|
|
# 93| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 93| 1: [ExprStmt] <Expr>;
|
|
# 93| 0: [AssignExpr] ...=...
|
|
# 93| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 93| -1: [ThisAccess] this
|
|
# 93| 1: [VarAccess] <dispatchReceiver>
|
|
# 93| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 93| 0: [Parameter] a0
|
|
# 93| 5: [BlockStmt] { ... }
|
|
# 93| 0: [ReturnStmt] return ...
|
|
# 93| 0: [ClassInstanceExpr] new Inner<String>(...)
|
|
# 93| -3: [TypeAccess] Inner<String>
|
|
# 93| 0: [TypeAccess] String
|
|
# 93| -2: [VarAccess] this.<dispatchReceiver>
|
|
# 93| -1: [ThisAccess] this
|
|
# 93| 0: [VarAccess] a0
|
|
# 93| 1: [FieldDeclaration] Class2<Integer> <dispatchReceiver>;
|
|
# 93| -1: [TypeAccess] Class2<Integer>
|
|
# 93| 0: [TypeAccess] Integer
|
|
# 93| -3: [TypeAccess] Function1<String,Inner<String>>
|
|
# 93| 0: [TypeAccess] String
|
|
# 93| 1: [TypeAccess] Inner<String>
|
|
# 93| 0: [TypeAccess] String
|
|
# 93| 0: [ClassInstanceExpr] new Class2<Integer>(...)
|
|
# 93| -3: [TypeAccess] Class2<Integer>
|
|
# 93| 0: [TypeAccess] Integer
|
|
# 93| 0: [IntegerLiteral] 5
|
|
# 96| 7: [Method] fn11
|
|
#-----| 2: (Generic Parameters)
|
|
# 96| 0: [TypeVariable] T
|
|
# 96| 1: [TypeVariable] R
|
|
#-----| 4: (Parameters)
|
|
# 96| 0: [Parameter] l
|
|
# 96| 1: [Parameter] transform
|
|
# 96| 5: [BlockStmt] { ... }
|
|
# 97| 8: [Method] fn12
|
|
#-----| 2: (Generic Parameters)
|
|
# 97| 0: [TypeVariable] T1
|
|
# 97| 1: [TypeVariable] R
|
|
#-----| 4: (Parameters)
|
|
# 97| 0: [Parameter] l
|
|
# 97| 1: [Parameter] l2
|
|
# 97| 5: [BlockStmt] { ... }
|
|
# 3| 2: [Class] Reflection
|
|
# 3| 1: [Constructor] Reflection
|
|
# 3| 5: [BlockStmt] { ... }
|
|
# 3| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 4| 2: [Method] fn
|
|
# 4| 5: [BlockStmt] { ... }
|
|
# 5| 0: [LocalVariableDeclStmt] var ...;
|
|
# 5| 1: [LocalVariableDeclExpr] ref
|
|
# 5| 0: [MemberRefExpr] ...::...
|
|
# 5| -4: [AnonymousClass] new Function2<Ccc,Integer,Double>(...) { ... }
|
|
# 5| 1: [Constructor]
|
|
# 5| 5: [BlockStmt] { ... }
|
|
# 5| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 5| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 5| 0: [Parameter] a0
|
|
# 5| 1: [Parameter] a1
|
|
# 5| 5: [BlockStmt] { ... }
|
|
# 5| 0: [ReturnStmt] return ...
|
|
# 5| 0: [MethodAccess] m(...)
|
|
# 5| -1: [VarAccess] a0
|
|
# 5| 0: [VarAccess] a1
|
|
# 5| -3: [TypeAccess] Function2<Ccc,Integer,Double>
|
|
# 5| 0: [TypeAccess] Ccc
|
|
# 5| 1: [TypeAccess] Integer
|
|
# 5| 2: [TypeAccess] Double
|
|
# 6| 1: [ExprStmt] <Expr>;
|
|
# 6| 0: [MethodAccess] println(...)
|
|
# 6| -1: [TypeAccess] ConsoleKt
|
|
# 6| 0: [MethodAccess] getName(...)
|
|
# 6| -1: [VarAccess] ref
|
|
# 8| 2: [LocalVariableDeclStmt] var ...;
|
|
# 8| 1: [LocalVariableDeclExpr] x0
|
|
# 8| 0: [PropertyRefExpr] ...::...
|
|
# 8| -4: [AnonymousClass] new KProperty1<C,Integer>(...) { ... }
|
|
# 8| 1: [Constructor]
|
|
# 8| 5: [BlockStmt] { ... }
|
|
# 8| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 8| 1: [Method] get
|
|
#-----| 4: (Parameters)
|
|
# 8| 0: [Parameter] a0
|
|
# 8| 5: [BlockStmt] { ... }
|
|
# 8| 0: [ReturnStmt] return ...
|
|
# 8| 0: [MethodAccess] getP0(...)
|
|
# 8| -1: [VarAccess] a0
|
|
# 8| -3: [TypeAccess] KProperty1<C,Integer>
|
|
# 8| 0: [TypeAccess] C
|
|
# 8| 1: [TypeAccess] Integer
|
|
# 9| 3: [LocalVariableDeclStmt] var ...;
|
|
# 9| 1: [LocalVariableDeclExpr] x1
|
|
# 9| 0: [MethodAccess] get(...)
|
|
# 9| -1: [VarAccess] x0
|
|
# 9| 0: [ClassInstanceExpr] new C(...)
|
|
# 9| -3: [TypeAccess] C
|
|
# 10| 4: [LocalVariableDeclStmt] var ...;
|
|
# 10| 1: [LocalVariableDeclExpr] x2
|
|
# 10| 0: [MethodAccess] getName(...)
|
|
# 10| -1: [VarAccess] x0
|
|
# 11| 5: [LocalVariableDeclStmt] var ...;
|
|
# 11| 1: [LocalVariableDeclExpr] x3
|
|
# 11| 0: [MethodAccess] getGetter(...)
|
|
# 11| -1: [VarAccess] x0
|
|
# 12| 6: [LocalVariableDeclStmt] var ...;
|
|
# 12| 1: [LocalVariableDeclExpr] x4
|
|
# 12| 0: [MemberRefExpr] ...::...
|
|
# 12| -4: [AnonymousClass] new Function1<C,Integer>(...) { ... }
|
|
# 12| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 12| 0: [Parameter] <dispatchReceiver>
|
|
# 12| 5: [BlockStmt] { ... }
|
|
# 12| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 12| 1: [ExprStmt] <Expr>;
|
|
# 12| 0: [AssignExpr] ...=...
|
|
# 12| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 12| -1: [ThisAccess] this
|
|
# 12| 1: [VarAccess] <dispatchReceiver>
|
|
# 12| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 12| 0: [Parameter] a0
|
|
# 12| 5: [BlockStmt] { ... }
|
|
# 12| 0: [ReturnStmt] return ...
|
|
# 12| 0: [MethodAccess] get(...)
|
|
# 12| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 12| -1: [ThisAccess] this
|
|
# 12| 0: [VarAccess] a0
|
|
# 12| 1: [FieldDeclaration] KProperty1<C,Integer> <dispatchReceiver>;
|
|
# 12| -1: [TypeAccess] KProperty1<C,Integer>
|
|
# 12| 0: [TypeAccess] C
|
|
# 12| 1: [TypeAccess] Integer
|
|
# 12| -3: [TypeAccess] Function1<C,Integer>
|
|
# 12| 0: [TypeAccess] C
|
|
# 12| 1: [TypeAccess] Integer
|
|
# 12| 0: [VarAccess] x0
|
|
# 13| 7: [LocalVariableDeclStmt] var ...;
|
|
# 13| 1: [LocalVariableDeclExpr] x5
|
|
# 13| 0: [PropertyRefExpr] ...::...
|
|
# 13| -4: [AnonymousClass] new KProperty0<Integer>(...) { ... }
|
|
# 13| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 13| 0: [Parameter] <dispatchReceiver>
|
|
# 13| 5: [BlockStmt] { ... }
|
|
# 13| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 13| 1: [ExprStmt] <Expr>;
|
|
# 13| 0: [AssignExpr] ...=...
|
|
# 13| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 13| -1: [ThisAccess] this
|
|
# 13| 1: [VarAccess] <dispatchReceiver>
|
|
# 13| 1: [FieldDeclaration] C <dispatchReceiver>;
|
|
# 13| -1: [TypeAccess] C
|
|
# 13| 1: [Method] get
|
|
# 13| 5: [BlockStmt] { ... }
|
|
# 13| 0: [ReturnStmt] return ...
|
|
# 13| 0: [MethodAccess] getP0(...)
|
|
# 13| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 13| -1: [ThisAccess] this
|
|
# 13| -3: [TypeAccess] KProperty0<Integer>
|
|
# 13| 0: [TypeAccess] Integer
|
|
# 13| 0: [ClassInstanceExpr] new C(...)
|
|
# 13| -3: [TypeAccess] C
|
|
# 15| 8: [LocalVariableDeclStmt] var ...;
|
|
# 15| 1: [LocalVariableDeclExpr] y0
|
|
# 15| 0: [PropertyRefExpr] ...::...
|
|
# 15| -4: [AnonymousClass] new KMutableProperty1<C,Integer>(...) { ... }
|
|
# 15| 1: [Constructor]
|
|
# 15| 5: [BlockStmt] { ... }
|
|
# 15| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 15| 1: [Method] get
|
|
#-----| 4: (Parameters)
|
|
# 15| 0: [Parameter] a0
|
|
# 15| 5: [BlockStmt] { ... }
|
|
# 15| 0: [ReturnStmt] return ...
|
|
# 15| 0: [MethodAccess] getP1(...)
|
|
# 15| -1: [VarAccess] a0
|
|
# 15| 1: [Method] set
|
|
#-----| 4: (Parameters)
|
|
# 15| 0: [Parameter] a0
|
|
# 15| 1: [Parameter] a1
|
|
# 15| 5: [BlockStmt] { ... }
|
|
# 15| 0: [ReturnStmt] return ...
|
|
# 15| 0: [MethodAccess] setP1(...)
|
|
# 15| -1: [VarAccess] a0
|
|
# 15| 0: [VarAccess] a1
|
|
# 15| -3: [TypeAccess] KMutableProperty1<C,Integer>
|
|
# 15| 0: [TypeAccess] C
|
|
# 15| 1: [TypeAccess] Integer
|
|
# 16| 9: [LocalVariableDeclStmt] var ...;
|
|
# 16| 1: [LocalVariableDeclExpr] y1
|
|
# 16| 0: [MethodAccess] set(...)
|
|
# 16| -1: [VarAccess] y0
|
|
# 16| 0: [ClassInstanceExpr] new C(...)
|
|
# 16| -3: [TypeAccess] C
|
|
# 16| 1: [IntegerLiteral] 5
|
|
# 17| 10: [LocalVariableDeclStmt] var ...;
|
|
# 17| 1: [LocalVariableDeclExpr] y2
|
|
# 17| 0: [MethodAccess] getName(...)
|
|
# 17| -1: [VarAccess] y0
|
|
# 18| 11: [LocalVariableDeclStmt] var ...;
|
|
# 18| 1: [LocalVariableDeclExpr] y3
|
|
# 18| 0: [MethodAccess] getSetter(...)
|
|
# 18| -1: [VarAccess] y0
|
|
# 19| 12: [LocalVariableDeclStmt] var ...;
|
|
# 19| 1: [LocalVariableDeclExpr] y4
|
|
# 19| 0: [MemberRefExpr] ...::...
|
|
# 19| -4: [AnonymousClass] new Function2<C,Integer,Unit>(...) { ... }
|
|
# 19| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 19| 0: [Parameter] <dispatchReceiver>
|
|
# 19| 5: [BlockStmt] { ... }
|
|
# 19| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 19| 1: [ExprStmt] <Expr>;
|
|
# 19| 0: [AssignExpr] ...=...
|
|
# 19| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 19| -1: [ThisAccess] this
|
|
# 19| 1: [VarAccess] <dispatchReceiver>
|
|
# 19| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 19| 0: [Parameter] a0
|
|
# 19| 1: [Parameter] a1
|
|
# 19| 5: [BlockStmt] { ... }
|
|
# 19| 0: [ReturnStmt] return ...
|
|
# 19| 0: [MethodAccess] set(...)
|
|
# 19| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 19| -1: [ThisAccess] this
|
|
# 19| 0: [VarAccess] a0
|
|
# 19| 1: [VarAccess] a1
|
|
# 19| 1: [FieldDeclaration] KMutableProperty1<C,Integer> <dispatchReceiver>;
|
|
# 19| -1: [TypeAccess] KMutableProperty1<C,Integer>
|
|
# 19| 0: [TypeAccess] C
|
|
# 19| 1: [TypeAccess] Integer
|
|
# 19| -3: [TypeAccess] Function2<C,Integer,Unit>
|
|
# 19| 0: [TypeAccess] C
|
|
# 19| 1: [TypeAccess] Integer
|
|
# 19| 2: [TypeAccess] Unit
|
|
# 19| 0: [VarAccess] y0
|
|
# 20| 13: [LocalVariableDeclStmt] var ...;
|
|
# 20| 1: [LocalVariableDeclExpr] y5
|
|
# 20| 0: [PropertyRefExpr] ...::...
|
|
# 20| -4: [AnonymousClass] new KMutableProperty0<Integer>(...) { ... }
|
|
# 20| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 20| 0: [Parameter] <dispatchReceiver>
|
|
# 20| 5: [BlockStmt] { ... }
|
|
# 20| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 20| 1: [ExprStmt] <Expr>;
|
|
# 20| 0: [AssignExpr] ...=...
|
|
# 20| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 20| -1: [ThisAccess] this
|
|
# 20| 1: [VarAccess] <dispatchReceiver>
|
|
# 20| 1: [FieldDeclaration] C <dispatchReceiver>;
|
|
# 20| -1: [TypeAccess] C
|
|
# 20| 1: [Method] get
|
|
# 20| 5: [BlockStmt] { ... }
|
|
# 20| 0: [ReturnStmt] return ...
|
|
# 20| 0: [MethodAccess] getP1(...)
|
|
# 20| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 20| -1: [ThisAccess] this
|
|
# 20| 1: [Method] set
|
|
#-----| 4: (Parameters)
|
|
# 20| 0: [Parameter] a0
|
|
# 20| 5: [BlockStmt] { ... }
|
|
# 20| 0: [ReturnStmt] return ...
|
|
# 20| 0: [MethodAccess] setP1(...)
|
|
# 20| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 20| -1: [ThisAccess] this
|
|
# 20| 0: [VarAccess] a0
|
|
# 20| -3: [TypeAccess] KMutableProperty0<Integer>
|
|
# 20| 0: [TypeAccess] Integer
|
|
# 20| 0: [ClassInstanceExpr] new C(...)
|
|
# 20| -3: [TypeAccess] C
|
|
# 22| 14: [LocalVariableDeclStmt] var ...;
|
|
# 22| 1: [LocalVariableDeclExpr] prop
|
|
# 22| 0: [CastExpr] (...)...
|
|
# 22| 0: [TypeAccess] KProperty2<C,Integer,Integer>
|
|
# 22| 0: [TypeAccess] C
|
|
# 22| 1: [TypeAccess] Integer
|
|
# 22| 2: [TypeAccess] Integer
|
|
# 22| 1: [MethodAccess] single(...)
|
|
# 22| -2: [TypeAccess] KCallable<?>
|
|
# 22| -1: [TypeAccess] CollectionsKt
|
|
# 22| 0: [MethodAccess] getMembers(...)
|
|
# 22| -1: [TypeLiteral] C.class
|
|
# 22| 0: [TypeAccess] C
|
|
# 22| 1: [LambdaExpr] ...->...
|
|
# 22| -4: [AnonymousClass] new Function1<KCallable<?>,Boolean>(...) { ... }
|
|
# 22| 1: [Constructor]
|
|
# 22| 5: [BlockStmt] { ... }
|
|
# 22| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 22| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 22| 0: [Parameter] it
|
|
# 22| 5: [BlockStmt] { ... }
|
|
# 22| 0: [ReturnStmt] return ...
|
|
# 22| 0: [ValueEQExpr] ... (value equals) ...
|
|
# 22| 0: [MethodAccess] getName(...)
|
|
# 22| -1: [VarAccess] it
|
|
# 22| 1: [StringLiteral] p3
|
|
# 22| -3: [TypeAccess] Function1<KCallable<?>,Boolean>
|
|
# 22| 0: [TypeAccess] KCallable<?>
|
|
# 22| 1: [TypeAccess] Boolean
|
|
# 23| 15: [LocalVariableDeclStmt] var ...;
|
|
# 23| 1: [LocalVariableDeclExpr] z0
|
|
# 23| 0: [MethodAccess] get(...)
|
|
# 23| -1: [VarAccess] prop
|
|
# 23| 0: [ClassInstanceExpr] new C(...)
|
|
# 23| -3: [TypeAccess] C
|
|
# 23| 1: [IntegerLiteral] 5
|
|
# 26| 3: [Class] Ccc
|
|
# 26| 1: [Constructor] Ccc
|
|
# 26| 5: [BlockStmt] { ... }
|
|
# 26| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 27| 2: [Method] m
|
|
#-----| 4: (Parameters)
|
|
# 27| 0: [Parameter] i
|
|
# 27| 5: [BlockStmt] { ... }
|
|
# 27| 0: [ReturnStmt] return ...
|
|
# 27| 0: [DoubleLiteral] 5.0
|
|
# 30| 4: [Class] C
|
|
# 30| 1: [Constructor] C
|
|
# 30| 5: [BlockStmt] { ... }
|
|
# 30| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 30| 1: [BlockStmt] { ... }
|
|
# 31| 0: [ExprStmt] <Expr>;
|
|
# 31| 0: [KtInitializerAssignExpr] ...=...
|
|
# 31| 0: [VarAccess] p0
|
|
# 32| 1: [ExprStmt] <Expr>;
|
|
# 32| 0: [KtInitializerAssignExpr] ...=...
|
|
# 32| 0: [VarAccess] p1
|
|
# 31| 2: [Method] getP0
|
|
# 31| 5: [BlockStmt] { ... }
|
|
# 31| 0: [ReturnStmt] return ...
|
|
# 31| 0: [VarAccess] this.p0
|
|
# 31| -1: [ThisAccess] this
|
|
# 31| 2: [FieldDeclaration] int p0;
|
|
# 31| -1: [TypeAccess] int
|
|
# 31| 0: [IntegerLiteral] 1
|
|
# 32| 4: [Method] getP1
|
|
# 32| 5: [BlockStmt] { ... }
|
|
# 32| 0: [ReturnStmt] return ...
|
|
# 32| 0: [VarAccess] this.p1
|
|
# 32| -1: [ThisAccess] this
|
|
# 32| 4: [Method] setP1
|
|
#-----| 4: (Parameters)
|
|
# 32| 0: [Parameter] <set-?>
|
|
# 32| 5: [BlockStmt] { ... }
|
|
# 32| 0: [ExprStmt] <Expr>;
|
|
# 32| 0: [AssignExpr] ...=...
|
|
# 32| 0: [VarAccess] this.p1
|
|
# 32| -1: [ThisAccess] this
|
|
# 32| 1: [VarAccess] <set-?>
|
|
# 32| 4: [FieldDeclaration] int p1;
|
|
# 32| -1: [TypeAccess] int
|
|
# 32| 0: [IntegerLiteral] 2
|
|
# 34| 7: [Method] getP2
|
|
# 34| 5: [BlockStmt] { ... }
|
|
# 34| 0: [ReturnStmt] return ...
|
|
# 34| 0: [IntegerLiteral] 1
|
|
# 35| 8: [Method] setP2
|
|
#-----| 4: (Parameters)
|
|
# 35| 0: [Parameter] value
|
|
# 35| 5: [BlockStmt] { ... }
|
|
# 35| 0: [ReturnStmt] return ...
|
|
# 35| 0: [VarAccess] INSTANCE
|
|
# 38| 9: [ExtensionMethod] getP3
|
|
#-----| 4: (Parameters)
|
|
# 37| 0: [Parameter] <this>
|
|
# 38| 5: [BlockStmt] { ... }
|
|
# 38| 0: [ReturnStmt] return ...
|
|
# 38| 0: [IntegerLiteral] 1
|
|
# 39| 10: [ExtensionMethod] setP3
|
|
#-----| 4: (Parameters)
|
|
# 37| 0: [Parameter] <this>
|
|
# 39| 1: [Parameter] value
|
|
# 39| 5: [BlockStmt] { ... }
|
|
# 39| 0: [ReturnStmt] return ...
|
|
# 39| 0: [VarAccess] INSTANCE
|
|
# 56| 3: [Class] Class1
|
|
# 56| 1: [Constructor] Class1
|
|
# 56| 5: [BlockStmt] { ... }
|
|
# 56| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 57| 2: [Method] fn
|
|
# 57| 5: [BlockStmt] { ... }
|
|
# 58| 0: [ExprStmt] <Expr>;
|
|
# 58| 0: [MethodAccess] println(...)
|
|
# 58| -1: [TypeAccess] ConsoleKt
|
|
# 58| 0: [MemberRefExpr] ...::...
|
|
# 58| -4: [AnonymousClass] new Function2<Generic<Integer>,Integer,String>(...) { ... }
|
|
# 58| 1: [Constructor]
|
|
# 58| 5: [BlockStmt] { ... }
|
|
# 58| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 58| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 58| 0: [Parameter] a0
|
|
# 58| 1: [Parameter] a1
|
|
# 58| 5: [BlockStmt] { ... }
|
|
# 58| 0: [ReturnStmt] return ...
|
|
# 58| 0: [MethodAccess] m1(...)
|
|
# 58| -1: [VarAccess] a0
|
|
# 58| 0: [VarAccess] a1
|
|
# 58| -3: [TypeAccess] Function2<Generic<Integer>,Integer,String>
|
|
# 58| 0: [TypeAccess] Generic<Integer>
|
|
# 58| 0: [TypeAccess] Integer
|
|
# 58| 1: [TypeAccess] Integer
|
|
# 58| 2: [TypeAccess] String
|
|
# 59| 1: [ExprStmt] <Expr>;
|
|
# 59| 0: [MethodAccess] println(...)
|
|
# 59| -1: [TypeAccess] ConsoleKt
|
|
# 59| 0: [MemberRefExpr] ...::...
|
|
# 59| -4: [AnonymousClass] new Function1<Integer,String>(...) { ... }
|
|
# 59| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 59| 0: [Parameter] <dispatchReceiver>
|
|
# 59| 5: [BlockStmt] { ... }
|
|
# 59| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 59| 1: [ExprStmt] <Expr>;
|
|
# 59| 0: [AssignExpr] ...=...
|
|
# 59| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 59| -1: [ThisAccess] this
|
|
# 59| 1: [VarAccess] <dispatchReceiver>
|
|
# 59| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 59| 0: [Parameter] a0
|
|
# 59| 5: [BlockStmt] { ... }
|
|
# 59| 0: [ReturnStmt] return ...
|
|
# 59| 0: [MethodAccess] m1(...)
|
|
# 59| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 59| -1: [ThisAccess] this
|
|
# 59| 0: [VarAccess] a0
|
|
# 59| 1: [FieldDeclaration] Generic<Integer> <dispatchReceiver>;
|
|
# 59| -1: [TypeAccess] Generic<Integer>
|
|
# 59| 0: [TypeAccess] Integer
|
|
# 59| -3: [TypeAccess] Function1<Integer,String>
|
|
# 59| 0: [TypeAccess] Integer
|
|
# 59| 1: [TypeAccess] String
|
|
# 59| 0: [ClassInstanceExpr] new Generic<Integer>(...)
|
|
# 59| -3: [TypeAccess] Generic<Integer>
|
|
# 59| 0: [TypeAccess] Integer
|
|
# 60| 2: [ExprStmt] <Expr>;
|
|
# 60| 0: [MethodAccess] println(...)
|
|
# 60| -1: [TypeAccess] ConsoleKt
|
|
# 60| 0: [MemberRefExpr] ...::...
|
|
# 60| -4: [AnonymousClass] new Function1<Generic<Integer>,String>(...) { ... }
|
|
# 60| 1: [Constructor]
|
|
# 60| 5: [BlockStmt] { ... }
|
|
# 60| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 60| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 60| 0: [Parameter] a0
|
|
# 60| 5: [BlockStmt] { ... }
|
|
# 60| 0: [ReturnStmt] return ...
|
|
# 60| 0: [MethodAccess] ext1(...)
|
|
# 60| -2: [TypeAccess] Integer
|
|
# 60| 0: [VarAccess] a0
|
|
# 60| -3: [TypeAccess] Function1<Generic<Integer>,String>
|
|
# 60| 0: [TypeAccess] Generic<Integer>
|
|
# 60| 0: [TypeAccess] Integer
|
|
# 60| 1: [TypeAccess] String
|
|
# 61| 3: [ExprStmt] <Expr>;
|
|
# 61| 0: [MethodAccess] println(...)
|
|
# 61| -1: [TypeAccess] ConsoleKt
|
|
# 61| 0: [MemberRefExpr] ...::...
|
|
# 61| -4: [AnonymousClass] new Function0<String>(...) { ... }
|
|
# 61| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 61| 0: [Parameter] <extensionReceiver>
|
|
# 61| 5: [BlockStmt] { ... }
|
|
# 61| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 61| 1: [ExprStmt] <Expr>;
|
|
# 61| 0: [AssignExpr] ...=...
|
|
# 61| 0: [VarAccess] this.<extensionReceiver>
|
|
# 61| -1: [ThisAccess] this
|
|
# 61| 1: [VarAccess] <extensionReceiver>
|
|
# 61| 1: [Method] invoke
|
|
# 61| 5: [BlockStmt] { ... }
|
|
# 61| 0: [ReturnStmt] return ...
|
|
# 61| 0: [MethodAccess] ext1(...)
|
|
# 61| -2: [TypeAccess] Integer
|
|
# 61| 0: [VarAccess] this.<extensionReceiver>
|
|
# 61| -1: [ThisAccess] this
|
|
# 61| 1: [FieldDeclaration] Generic<Integer> <extensionReceiver>;
|
|
# 61| -1: [TypeAccess] Generic<Integer>
|
|
# 61| 0: [TypeAccess] Integer
|
|
# 61| -3: [TypeAccess] Function0<String>
|
|
# 61| 0: [TypeAccess] String
|
|
# 61| 0: [ClassInstanceExpr] new Generic<Integer>(...)
|
|
# 61| -3: [TypeAccess] Generic<Integer>
|
|
# 61| 0: [TypeAccess] Integer
|
|
# 62| 4: [ExprStmt] <Expr>;
|
|
# 62| 0: [MethodAccess] println(...)
|
|
# 62| -1: [TypeAccess] ConsoleKt
|
|
# 62| 0: [MemberRefExpr] ...::...
|
|
# 62| -4: [AnonymousClass] new Function1<Generic<Integer>,String>(...) { ... }
|
|
# 62| 1: [Constructor]
|
|
# 62| 5: [BlockStmt] { ... }
|
|
# 62| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 62| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 62| 0: [Parameter] a0
|
|
# 62| 5: [BlockStmt] { ... }
|
|
# 62| 0: [ReturnStmt] return ...
|
|
# 62| 0: [MethodAccess] ext2(...)
|
|
# 62| 0: [VarAccess] a0
|
|
# 62| -3: [TypeAccess] Function1<Generic<Integer>,String>
|
|
# 62| 0: [TypeAccess] Generic<Integer>
|
|
# 62| 0: [TypeAccess] Integer
|
|
# 62| 1: [TypeAccess] String
|
|
# 63| 5: [ExprStmt] <Expr>;
|
|
# 63| 0: [MethodAccess] println(...)
|
|
# 63| -1: [TypeAccess] ConsoleKt
|
|
# 63| 0: [MemberRefExpr] ...::...
|
|
# 63| -4: [AnonymousClass] new Function0<String>(...) { ... }
|
|
# 63| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 63| 0: [Parameter] <extensionReceiver>
|
|
# 63| 5: [BlockStmt] { ... }
|
|
# 63| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 63| 1: [ExprStmt] <Expr>;
|
|
# 63| 0: [AssignExpr] ...=...
|
|
# 63| 0: [VarAccess] this.<extensionReceiver>
|
|
# 63| -1: [ThisAccess] this
|
|
# 63| 1: [VarAccess] <extensionReceiver>
|
|
# 63| 1: [Method] invoke
|
|
# 63| 5: [BlockStmt] { ... }
|
|
# 63| 0: [ReturnStmt] return ...
|
|
# 63| 0: [MethodAccess] ext2(...)
|
|
# 63| 0: [VarAccess] this.<extensionReceiver>
|
|
# 63| -1: [ThisAccess] this
|
|
# 63| 1: [FieldDeclaration] Generic<Integer> <extensionReceiver>;
|
|
# 63| -1: [TypeAccess] Generic<Integer>
|
|
# 63| 0: [TypeAccess] Integer
|
|
# 63| -3: [TypeAccess] Function0<String>
|
|
# 63| 0: [TypeAccess] String
|
|
# 63| 0: [ClassInstanceExpr] new Generic<Integer>(...)
|
|
# 63| -3: [TypeAccess] Generic<Integer>
|
|
# 63| 0: [TypeAccess] Integer
|
|
# 65| 6: [ExprStmt] <Expr>;
|
|
# 65| 0: [MethodAccess] println(...)
|
|
# 65| -1: [TypeAccess] ConsoleKt
|
|
# 65| 0: [PropertyRefExpr] ...::...
|
|
# 65| -4: [AnonymousClass] new KMutableProperty1<Generic<Integer>,Integer>(...) { ... }
|
|
# 65| 1: [Constructor]
|
|
# 65| 5: [BlockStmt] { ... }
|
|
# 65| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 65| 1: [Method] get
|
|
#-----| 4: (Parameters)
|
|
# 65| 0: [Parameter] a0
|
|
# 65| 5: [BlockStmt] { ... }
|
|
# 65| 0: [ReturnStmt] return ...
|
|
# 65| 0: [MethodAccess] getP2(...)
|
|
# 65| -1: [VarAccess] a0
|
|
# 65| 1: [Method] set
|
|
#-----| 4: (Parameters)
|
|
# 65| 0: [Parameter] a0
|
|
# 65| 1: [Parameter] a1
|
|
# 65| 5: [BlockStmt] { ... }
|
|
# 65| 0: [ReturnStmt] return ...
|
|
# 65| 0: [MethodAccess] setP2(...)
|
|
# 65| -1: [VarAccess] a0
|
|
# 65| 0: [VarAccess] a1
|
|
# 65| -3: [TypeAccess] KMutableProperty1<Generic<Integer>,Integer>
|
|
# 65| 0: [TypeAccess] Generic<Integer>
|
|
# 65| 0: [TypeAccess] Integer
|
|
# 65| 1: [TypeAccess] Integer
|
|
# 66| 7: [ExprStmt] <Expr>;
|
|
# 66| 0: [MethodAccess] println(...)
|
|
# 66| -1: [TypeAccess] ConsoleKt
|
|
# 66| 0: [PropertyRefExpr] ...::...
|
|
# 66| -4: [AnonymousClass] new KMutableProperty0<Integer>(...) { ... }
|
|
# 66| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 66| 0: [Parameter] <dispatchReceiver>
|
|
# 66| 5: [BlockStmt] { ... }
|
|
# 66| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 66| 1: [ExprStmt] <Expr>;
|
|
# 66| 0: [AssignExpr] ...=...
|
|
# 66| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 66| -1: [ThisAccess] this
|
|
# 66| 1: [VarAccess] <dispatchReceiver>
|
|
# 66| 1: [FieldDeclaration] Generic<Integer> <dispatchReceiver>;
|
|
# 66| -1: [TypeAccess] Generic<Integer>
|
|
# 66| 0: [TypeAccess] Integer
|
|
# 66| 1: [Method] get
|
|
# 66| 5: [BlockStmt] { ... }
|
|
# 66| 0: [ReturnStmt] return ...
|
|
# 66| 0: [MethodAccess] getP2(...)
|
|
# 66| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 66| -1: [ThisAccess] this
|
|
# 66| 1: [Method] set
|
|
#-----| 4: (Parameters)
|
|
# 66| 0: [Parameter] a0
|
|
# 66| 5: [BlockStmt] { ... }
|
|
# 66| 0: [ReturnStmt] return ...
|
|
# 66| 0: [MethodAccess] setP2(...)
|
|
# 66| -1: [VarAccess] this.<dispatchReceiver>
|
|
# 66| -1: [ThisAccess] this
|
|
# 66| 0: [VarAccess] a0
|
|
# 66| -3: [TypeAccess] KMutableProperty0<Integer>
|
|
# 66| 0: [TypeAccess] Integer
|
|
# 66| 0: [ClassInstanceExpr] new Generic<Integer>(...)
|
|
# 66| -3: [TypeAccess] Generic<Integer>
|
|
# 66| 0: [TypeAccess] Integer
|
|
# 69| 3: [Class,GenericType,ParameterizedType] Generic
|
|
#-----| -2: (Generic Parameters)
|
|
# 69| 0: [TypeVariable] T1
|
|
# 69| 1: [Constructor] Generic
|
|
# 69| 5: [BlockStmt] { ... }
|
|
# 69| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 70| 2: [Method] m1
|
|
#-----| 4: (Parameters)
|
|
# 70| 0: [Parameter] i
|
|
# 70| 5: [BlockStmt] { ... }
|
|
# 70| 0: [ReturnStmt] return ...
|
|
# 70| 0: [MethodAccess] toString(...)
|
|
# 70| -1: [ThisAccess] this
|
|
# 72| 3: [Method] getP2
|
|
# 72| 5: [BlockStmt] { ... }
|
|
# 72| 0: [ReturnStmt] return ...
|
|
# 72| 0: [NullLiteral] null
|
|
# 73| 4: [Method] setP2
|
|
#-----| 4: (Parameters)
|
|
# 73| 0: [Parameter] value
|
|
# 73| 5: [BlockStmt] { ... }
|
|
# 73| 0: [ReturnStmt] return ...
|
|
# 73| 0: [VarAccess] INSTANCE
|
|
# 77| 4: [Class,GenericType,ParameterizedType] Class2
|
|
#-----| -2: (Generic Parameters)
|
|
# 77| 0: [TypeVariable] T
|
|
# 77| 1: [Constructor] Class2
|
|
#-----| 4: (Parameters)
|
|
# 77| 0: [Parameter] value
|
|
# 77| 5: [BlockStmt] { ... }
|
|
# 77| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 77| 1: [BlockStmt] { ... }
|
|
# 77| 0: [ExprStmt] <Expr>;
|
|
# 77| 0: [KtInitializerAssignExpr] ...=...
|
|
# 77| 0: [VarAccess] value
|
|
# 77| 2: [Method] getValue
|
|
# 77| 5: [BlockStmt] { ... }
|
|
# 77| 0: [ReturnStmt] return ...
|
|
# 77| 0: [VarAccess] this.value
|
|
# 77| -1: [ThisAccess] this
|
|
# 77| 2: [FieldDeclaration] T value;
|
|
# 77| -1: [TypeAccess] T
|
|
# 77| 0: [VarAccess] value
|
|
# 79| 4: [Class,GenericType,ParameterizedType] Inner
|
|
#-----| -2: (Generic Parameters)
|
|
# 79| 0: [TypeVariable] T1
|
|
# 80| 1: [Constructor] Inner
|
|
#-----| 4: (Parameters)
|
|
# 80| 0: [Parameter] t
|
|
# 80| 5: [BlockStmt] { ... }
|
|
# 80| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 83| 7: [Method] test
|
|
# 83| 5: [BlockStmt] { ... }
|
|
# 84| 0: [ExprStmt] <Expr>;
|
|
# 84| 0: [MethodAccess] fn11(...)
|
|
# 84| -3: [TypeAccess] Inner<String>
|
|
# 84| 0: [TypeAccess] String
|
|
# 84| 1: [TypeAccess] T
|
|
# 84| -2: [TypeAccess] String
|
|
# 84| 0: [StringLiteral]
|
|
# 84| 1: [MemberRefExpr] ...::...
|
|
# 84| -4: [AnonymousClass] new Function1<String,Inner<String>>(...) { ... }
|
|
# 84| 1: [Constructor]
|
|
#-----| 4: (Parameters)
|
|
# 84| 0: [Parameter] <dispatchReceiver>
|
|
# 84| 5: [BlockStmt] { ... }
|
|
# 84| 0: [SuperConstructorInvocationStmt] super(...)
|
|
# 84| 1: [ExprStmt] <Expr>;
|
|
# 84| 0: [AssignExpr] ...=...
|
|
# 84| 0: [VarAccess] this.<dispatchReceiver>
|
|
# 84| -1: [ThisAccess] this
|
|
# 84| 1: [VarAccess] <dispatchReceiver>
|
|
# 84| 1: [Method] invoke
|
|
#-----| 4: (Parameters)
|
|
# 84| 0: [Parameter] a0
|
|
# 84| 5: [BlockStmt] { ... }
|
|
# 84| 0: [ReturnStmt] return ...
|
|
# 84| 0: [ClassInstanceExpr] new Inner<String>(...)
|
|
# 84| -3: [TypeAccess] Inner<String>
|
|
# 84| 0: [TypeAccess] String
|
|
# 84| -2: [VarAccess] this.<dispatchReceiver>
|
|
# 84| -1: [ThisAccess] this
|
|
# 84| 0: [VarAccess] a0
|
|
# 84| 1: [FieldDeclaration] Class2<T> <dispatchReceiver>;
|
|
# 84| -1: [TypeAccess] Class2<T>
|
|
# 84| 0: [TypeAccess] T
|
|
# 84| -3: [TypeAccess] Function1<String,Inner<String>>
|
|
# 84| 0: [TypeAccess] String
|
|
# 84| 1: [TypeAccess] Inner<String>
|
|
# 84| 0: [TypeAccess] String
|
|
# 84| 0: [ThisAccess] this
|