test.kt: # 0| [CompilationUnit] test # 1| 1: [Class] LateInit # 1| 1: [Constructor] LateInit # 1| 5: [BlockStmt] { ... } # 1| 0: [SuperConstructorInvocationStmt] super(...) # 1| 1: [BlockStmt] { ... } # 2| 2: [FieldDeclaration] LateInit test0; # 2| -1: [TypeAccess] LateInit # 2| 3: [Method] getTest0$private # 2| 3: [TypeAccess] LateInit # 2| 5: [BlockStmt] { ... } # 2| 0: [ReturnStmt] return ... # 2| 0: [VarAccess] this.test0 # 2| -1: [ThisAccess] this # 2| 4: [Method] setTest0$private # 2| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 2| 0: [Parameter] # 2| 0: [TypeAccess] LateInit # 2| 5: [BlockStmt] { ... } # 2| 0: [ExprStmt] ; # 2| 0: [AssignExpr] ...=... # 2| 0: [VarAccess] this.test0 # 2| -1: [ThisAccess] this # 2| 1: [VarAccess] # 4| 5: [Method] f # 4| 3: [TypeAccess] Unit # 4| 5: [BlockStmt] { ... } # 4| 0: [ReturnStmt] return ... # 4| 0: [MethodCall] println(...) # 4| -1: [TypeAccess] ConsoleKt # 4| 0: [StringLiteral] "a" # 6| 6: [Method] init # 6| 3: [TypeAccess] LateInit # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [ClassInstanceExpr] new LateInit(...) # 6| -3: [TypeAccess] LateInit # 8| 7: [Method] fn # 8| 3: [TypeAccess] Unit # 8| 5: [BlockStmt] { ... } # 9| 0: [ExprStmt] ; # 9| 0: [MethodCall] f(...) # 9| -1: [MethodCall] getTest0$private(...) # 9| -1: [ThisAccess] this # 10| 1: [ExprStmt] ; # 10| 0: [WhenExpr] when ... # 10| 0: [WhenBranch] ... -> ... # 10| 0: [MethodCall] isInitialized(...) # 10| -1: [TypeAccess] LateinitKt # 10| 0: [PropertyRefExpr] ...::... # 10| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 10| 1: [Constructor] #-----| 4: (Parameters) # 10| 0: [Parameter] # 10| 5: [BlockStmt] { ... } # 10| 0: [SuperConstructorInvocationStmt] super(...) # 10| 1: [ExprStmt] ; # 10| 0: [AssignExpr] ...=... # 10| 0: [VarAccess] this. # 10| -1: [ThisAccess] this # 10| 1: [VarAccess] # 10| 2: [FieldDeclaration] LateInit ; # 10| -1: [TypeAccess] LateInit # 10| 3: [Method] get # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [MethodCall] getTest0$private(...) # 10| -1: [VarAccess] this. # 10| -1: [ThisAccess] this # 10| 4: [Method] invoke # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [MethodCall] get(...) # 10| -1: [ThisAccess] this # 10| 5: [Method] set #-----| 4: (Parameters) # 10| 0: [Parameter] a0 # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [MethodCall] setTest0$private(...) # 10| -1: [VarAccess] this. # 10| -1: [ThisAccess] this # 10| 0: [VarAccess] a0 # 10| -3: [TypeAccess] KMutableProperty0 # 10| 0: [TypeAccess] LateInit # 10| 0: [ThisAccess] this # 10| 1: [BlockStmt] { ... } # 13| 2: [LocalVariableDeclStmt] var ...; # 13| 1: [LocalVariableDeclExpr] test1 # 14| 3: [ExprStmt] ; # 14| 0: [MethodCall] f(...) # 14| -1: [VarAccess] test1