test.kt: # 0| [CompilationUnit] test # 0| 1: [Class] TestKt # 1| 1: [Method] fn # 1| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 1| 0: [Parameter] arr # 1| 0: [TypeAccess] byte[] # 1| 1: [Parameter] mt # 1| 0: [TypeAccess] C # 1| 5: [BlockStmt] { ... } # 2| 0: [ExprStmt] ; # 2| 0: [ImplicitCoercionToUnitExpr] # 2| 0: [TypeAccess] Unit # 2| 1: [ArrayAccess] ...[...] # 2| 0: [VarAccess] arr # 2| 1: [IntegerLiteral] 1 # 3| 1: [ExprStmt] ; # 3| 0: [ImplicitCoercionToUnitExpr] # 3| 0: [TypeAccess] Unit # 3| 1: [MethodCall] get(...) # 3| -1: [TypeAccess] TestKt # 3| 0: [VarAccess] arr # 3| 1: [IntegerLiteral] 1 # 3| 2: [IntegerLiteral] 2 # 4| 2: [ExprStmt] ; # 4| 0: [ImplicitCoercionToUnitExpr] # 4| 0: [TypeAccess] Unit # 4| 1: [MethodCall] get(...) # 4| -1: [VarAccess] mt # 4| 0: [IntegerLiteral] 1 # 4| 1: [IntegerLiteral] 2 # 6| 3: [ExprStmt] ; # 6| 0: [ImplicitCoercionToUnitExpr] # 6| 0: [TypeAccess] Unit # 6| 1: [MethodCall] set(...) # 6| -1: [TypeAccess] TestKt # 6| 0: [VarAccess] arr # 6| 1: [IntegerLiteral] 1 # 6| 2: [IntegerLiteral] 2 # 6| 3: [IntegerLiteral] 3 # 7| 4: [ExprStmt] ; # 7| 0: [ImplicitCoercionToUnitExpr] # 7| 0: [TypeAccess] Unit # 7| 1: [MethodCall] set(...) # 7| -1: [TypeAccess] TestKt # 7| 0: [VarAccess] arr # 7| 1: [IntegerLiteral] 1 # 7| 2: [ClassInstanceExpr] new C(...) # 7| -3: [TypeAccess] C # 10| 2: [ExtensionMethod] get # 10| 3: [TypeAccess] String #-----| 4: (Parameters) # 10| 0: [Parameter] # 10| 0: [TypeAccess] byte[] # 10| 1: [Parameter] i # 10| 0: [TypeAccess] int # 10| 2: [Parameter] j # 10| 0: [TypeAccess] int # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [StringLiteral] "" # 11| 3: [ExtensionMethod] set # 11| 3: [TypeAccess] String #-----| 4: (Parameters) # 11| 0: [Parameter] # 11| 0: [TypeAccess] byte[] # 11| 1: [Parameter] i # 11| 0: [TypeAccess] int # 11| 2: [Parameter] j # 11| 0: [TypeAccess] int # 11| 3: [Parameter] k # 11| 0: [TypeAccess] int # 11| 5: [BlockStmt] { ... } # 11| 0: [ReturnStmt] return ... # 11| 0: [StringLiteral] "" # 12| 4: [ExtensionMethod] set # 12| 3: [TypeAccess] String #-----| 4: (Parameters) # 12| 0: [Parameter] # 12| 0: [TypeAccess] byte[] # 12| 1: [Parameter] i # 12| 0: [TypeAccess] int # 12| 2: [Parameter] c # 12| 0: [TypeAccess] C # 12| 5: [BlockStmt] { ... } # 12| 0: [ReturnStmt] return ... # 12| 0: [StringLiteral] "" # 15| 2: [Class] C # 15| 1: [Constructor] C # 15| 5: [BlockStmt] { ... } # 15| 0: [SuperConstructorInvocationStmt] super(...) # 15| 1: [BlockStmt] { ... } # 16| 2: [Method] get # 16| 3: [TypeAccess] String #-----| 4: (Parameters) # 16| 0: [Parameter] i # 16| 0: [TypeAccess] int # 16| 1: [Parameter] j # 16| 0: [TypeAccess] int # 16| 5: [BlockStmt] { ... } # 16| 0: [ReturnStmt] return ... # 16| 0: [StringLiteral] ""