delegatedProperties.kt: # 0| [CompilationUnit] delegatedProperties # 0| 1: [Class] DelegatedPropertiesKt # 60| 2: [Method] getTopLevelInt # 60| 3: [TypeAccess] int # 60| 5: [BlockStmt] { ... } # 60| 0: [ReturnStmt] return ... # 60| 0: [VarAccess] DelegatedPropertiesKt.topLevelInt # 60| -1: [TypeAccess] DelegatedPropertiesKt # 60| 2: [Method] setTopLevelInt # 60| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 60| 0: [Parameter] # 60| 0: [TypeAccess] int # 60| 5: [BlockStmt] { ... } # 60| 0: [ExprStmt] ; # 60| 0: [AssignExpr] ...=... # 60| 0: [VarAccess] DelegatedPropertiesKt.topLevelInt # 60| -1: [TypeAccess] DelegatedPropertiesKt # 60| 1: [VarAccess] # 60| 2: [FieldDeclaration] int topLevelInt; # 60| -1: [TypeAccess] int # 60| 0: [IntegerLiteral] 0 # 87| 5: [ExtensionMethod] getExtDelegated # 87| 3: [TypeAccess] int #-----| 4: (Parameters) # 87| 0: [Parameter] # 87| 0: [TypeAccess] MyClass # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] getValue(...) # 87| -2: [TypeAccess] Integer # 87| -1: [TypeAccess] PropertyReferenceDelegatesKt # 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegate # 87| -1: [TypeAccess] DelegatedPropertiesKt # 1| 1: [ExtensionReceiverAccess] this # 87| 2: [PropertyRefExpr] ...::... # 87| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 87| 1: [Constructor] # 87| 5: [BlockStmt] { ... } # 87| 0: [SuperConstructorInvocationStmt] super(...) # 87| 1: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 1: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 # 87| 1: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] setExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 1: [VarAccess] a1 # 87| -3: [TypeAccess] KMutableProperty1 # 87| 0: [TypeAccess] MyClass # 87| 1: [TypeAccess] Integer # 87| 5: [ExtensionMethod] setExtDelegated # 87| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 87| 0: [Parameter] # 87| 0: [TypeAccess] MyClass # 87| 1: [Parameter] # 87| 0: [TypeAccess] int # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] setValue(...) # 87| -2: [TypeAccess] Integer # 87| -1: [TypeAccess] PropertyReferenceDelegatesKt # 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegate # 87| -1: [TypeAccess] DelegatedPropertiesKt # 1| 1: [ExtensionReceiverAccess] this # 87| 2: [PropertyRefExpr] ...::... # 87| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 87| 1: [Constructor] # 87| 5: [BlockStmt] { ... } # 87| 0: [SuperConstructorInvocationStmt] super(...) # 87| 1: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 1: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 # 87| 1: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] setExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 1: [VarAccess] a1 # 87| -3: [TypeAccess] KMutableProperty1 # 87| 0: [TypeAccess] MyClass # 87| 1: [TypeAccess] Integer # 87| 3: [VarAccess] # 87| 5: [FieldDeclaration] KMutableProperty0 extDelegated$delegate; # 87| -1: [TypeAccess] KMutableProperty0 # 87| 0: [TypeAccess] Integer # 87| 0: [PropertyRefExpr] ...::... # 87| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 87| 1: [Constructor] # 87| 5: [BlockStmt] { ... } # 87| 0: [SuperConstructorInvocationStmt] super(...) # 87| 1: [Method] get # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] getTopLevelInt(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 1: [Method] invoke # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] get(...) # 87| -1: [ThisAccess] this # 87| 1: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodAccess] setTopLevelInt(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| -3: [TypeAccess] KMutableProperty0 # 87| 0: [TypeAccess] Integer # 4| 2: [Class] ClassProp1 # 4| 1: [Constructor] ClassProp1 # 4| 5: [BlockStmt] { ... } # 4| 0: [SuperConstructorInvocationStmt] super(...) # 4| 1: [BlockStmt] { ... } # 5| 2: [Method] fn # 5| 3: [TypeAccess] Unit # 5| 5: [BlockStmt] { ... } # 6| 0: [BlockStmt] { ... } # 6| 0: [LocalVariableDeclStmt] var ...; # 6| 1: [LocalVariableDeclExpr] prop1$delegate # 6| 0: [MethodAccess] lazy(...) # 6| -2: [TypeAccess] Integer # 6| -1: [TypeAccess] LazyKt # 6| 0: [LambdaExpr] ...->... # 6| -4: [AnonymousClass] new Function0(...) { ... } # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) # 6| 1: [Method] invoke # 6| 3: [TypeAccess] int # 7| 5: [BlockStmt] { ... } # 7| 0: [ExprStmt] ; # 7| 0: [MethodAccess] println(...) # 7| -1: [TypeAccess] ConsoleKt # 7| 0: [StringLiteral] init # 8| 1: [ReturnStmt] return ... # 8| 0: [IntegerLiteral] 5 # 6| -3: [TypeAccess] Function0 # 6| 0: [TypeAccess] Integer # 6| 1: [LocalTypeDeclStmt] class ... # 6| 0: [LocalClass] # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) # 6| 1: [Method] # 6| 3: [TypeAccess] int # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodAccess] getValue(...) # 6| -2: [TypeAccess] Integer # 6| -1: [TypeAccess] LazyKt # 6| 0: [VarAccess] prop1$delegate # 0| 1: [NullLiteral] null # 6| 2: [PropertyRefExpr] ...::... # 6| -4: [AnonymousClass] new KProperty0(...) { ... } # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) # 6| 1: [Method] get # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodAccess] (...) # 6| -1: [ClassInstanceExpr] new (...) # 6| -3: [TypeAccess] Object # 6| 1: [Method] invoke # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodAccess] get(...) # 6| -1: [ThisAccess] this # 6| -3: [TypeAccess] KProperty0 # 6| 0: [TypeAccess] Integer # 10| 1: [ExprStmt] ; # 10| 0: [MethodAccess] println(...) # 10| -1: [TypeAccess] ConsoleKt # 10| 0: [MethodAccess] (...) # 10| -1: [ClassInstanceExpr] new (...) # 10| -3: [TypeAccess] Object # 11| 2: [ExprStmt] ; # 11| 0: [MethodAccess] println(...) # 11| -1: [TypeAccess] ConsoleKt # 11| 0: [MethodAccess] (...) # 11| -1: [ClassInstanceExpr] new (...) # 11| -3: [TypeAccess] Object # 15| 3: [Class] Resource # 15| 1: [Constructor] Resource # 15| 5: [BlockStmt] { ... } # 15| 0: [SuperConstructorInvocationStmt] super(...) # 15| 1: [BlockStmt] { ... } # 17| 4: [Class] Owner # 17| 1: [Constructor] Owner # 17| 5: [BlockStmt] { ... } # 17| 0: [SuperConstructorInvocationStmt] super(...) # 17| 1: [BlockStmt] { ... } # 42| 0: [ExprStmt] ; # 42| 0: [KtInitializerAssignExpr] ...=... # 42| 0: [VarAccess] varResource0$delegate # 18| 2: [Method] fn # 18| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 18| 0: [Parameter] map # 18| 0: [TypeAccess] Map # 18| 0: [TypeAccess] String # 18| 1: [TypeAccess] Object # 18| 5: [BlockStmt] { ... } # 19| 0: [BlockStmt] { ... } # 19| 0: [LocalVariableDeclStmt] var ...; # 19| 1: [LocalVariableDeclExpr] varResource1$delegate # 19| 0: [ClassInstanceExpr] new ResourceDelegate(...) # 19| -3: [TypeAccess] ResourceDelegate # 19| 1: [LocalTypeDeclStmt] class ... # 19| 0: [LocalClass] # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) # 19| 1: [Method] # 19| 3: [TypeAccess] int # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] getValue(...) # 19| -1: [VarAccess] varResource1$delegate # 0| 0: [NullLiteral] null # 19| 1: [PropertyRefExpr] ...::... # 19| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) # 19| 1: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 1: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] get(...) # 19| -1: [ThisAccess] this # 19| 1: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 0: [VarAccess] a0 # 19| -3: [TypeAccess] KMutableProperty0 # 19| 0: [TypeAccess] Integer # 19| 2: [LocalTypeDeclStmt] class ... # 19| 0: [LocalClass] # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) # 19| 1: [Method] # 19| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 19| 0: [Parameter] value # 19| 0: [TypeAccess] int # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] setValue(...) # 19| -1: [VarAccess] varResource1$delegate # 0| 0: [NullLiteral] null # 19| 1: [PropertyRefExpr] ...::... # 19| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) # 19| 1: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 1: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] get(...) # 19| -1: [ThisAccess] this # 19| 1: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 0: [VarAccess] a0 # 19| -3: [TypeAccess] KMutableProperty0 # 19| 0: [TypeAccess] Integer # 19| 2: [VarAccess] value # 20| 1: [ExprStmt] ; # 20| 0: [MethodAccess] println(...) # 20| -1: [TypeAccess] ConsoleKt # 20| 0: [MethodAccess] (...) # 20| -1: [ClassInstanceExpr] new (...) # 20| -3: [TypeAccess] Object # 21| 2: [ExprStmt] ; # 21| 0: [MethodAccess] (...) # 21| -1: [ClassInstanceExpr] new (...) # 21| -3: [TypeAccess] Object # 21| 0: [IntegerLiteral] 2 # 23| 3: [BlockStmt] { ... } # 23| 0: [LocalVariableDeclStmt] var ...; # 23| 1: [LocalVariableDeclExpr] name$delegate # 23| 0: [VarAccess] map # 23| 1: [LocalTypeDeclStmt] class ... # 23| 0: [LocalClass] # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) # 23| 1: [Method] # 23| 3: [TypeAccess] String # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodAccess] getValue(...) # 23| -3: [TypeAccess] String # 23| -2: [TypeAccess] Object # 23| -1: [TypeAccess] MapAccessorsKt # 23| 0: [VarAccess] name$delegate # 0| 1: [NullLiteral] null # 23| 2: [PropertyRefExpr] ...::... # 23| -4: [AnonymousClass] new KProperty0(...) { ... } # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) # 23| 1: [Method] get # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodAccess] (...) # 23| -1: [ClassInstanceExpr] new (...) # 23| -3: [TypeAccess] Object # 23| 1: [Method] invoke # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodAccess] get(...) # 23| -1: [ThisAccess] this # 23| -3: [TypeAccess] KProperty0 # 23| 0: [TypeAccess] String # 25| 4: [LocalTypeDeclStmt] class ... # 25| 0: [LocalClass] # 25| 1: [Constructor] # 25| 5: [BlockStmt] { ... } # 25| 0: [SuperConstructorInvocationStmt] super(...) # 25| 1: [Method] resourceDelegate # 25| 3: [TypeAccess] ReadWriteProperty # 25| 0: [TypeAccess] Object # 25| 1: [TypeAccess] Integer # 25| 5: [BlockStmt] { ... } # 31| 0: [ReturnStmt] return ... # 25| 0: [StmtExpr] # 25| 0: [BlockStmt] { ... } # 25| 0: [LocalTypeDeclStmt] class ... # 25| 0: [AnonymousClass,LocalClass] new ReadWriteProperty(...) { ... } # 25| 1: [Constructor] # 25| 5: [BlockStmt] { ... } # 25| 0: [SuperConstructorInvocationStmt] super(...) # 25| 1: [BlockStmt] { ... } # 26| 0: [ExprStmt] ; # 26| 0: [KtInitializerAssignExpr] ...=... # 26| 0: [VarAccess] curValue # 26| 2: [Method] getCurValue # 26| 3: [TypeAccess] int # 26| 5: [BlockStmt] { ... } # 26| 0: [ReturnStmt] return ... # 26| 0: [VarAccess] this.curValue # 26| -1: [ThisAccess] this # 26| 2: [Method] setCurValue # 26| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 26| 0: [Parameter] # 26| 0: [TypeAccess] int # 26| 5: [BlockStmt] { ... } # 26| 0: [ExprStmt] ; # 26| 0: [AssignExpr] ...=... # 26| 0: [VarAccess] this.curValue # 26| -1: [ThisAccess] this # 26| 1: [VarAccess] # 26| 2: [FieldDeclaration] int curValue; # 26| -1: [TypeAccess] int # 26| 0: [IntegerLiteral] 0 # 27| 5: [Method] getValue # 27| 3: [TypeAccess] int #-----| 4: (Parameters) # 27| 0: [Parameter] thisRef # 27| 0: [TypeAccess] Object # 27| 1: [Parameter] property # 27| 0: [TypeAccess] KProperty # 27| 5: [BlockStmt] { ... } # 27| 0: [ReturnStmt] return ... # 27| 0: [MethodAccess] getCurValue(...) # 27| -1: [ThisAccess] this # 28| 6: [Method] setValue # 28| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 28| 0: [Parameter] thisRef # 28| 0: [TypeAccess] Object # 28| 1: [Parameter] property # 28| 0: [TypeAccess] KProperty # 28| 2: [Parameter] value # 28| 0: [TypeAccess] int # 28| 5: [BlockStmt] { ... } # 29| 0: [ExprStmt] ; # 29| 0: [MethodAccess] setCurValue(...) # 29| -1: [ThisAccess] this # 29| 0: [VarAccess] value # 25| 1: [ExprStmt] ; # 25| 0: [ClassInstanceExpr] new (...) # 25| -3: [TypeAccess] ReadWriteProperty # 33| 5: [BlockStmt] { ... } # 33| 0: [LocalVariableDeclStmt] var ...; # 33| 1: [LocalVariableDeclExpr] readOnly$delegate # 33| 0: [MethodAccess] resourceDelegate(...) # 33| -1: [ClassInstanceExpr] new (...) # 33| -3: [TypeAccess] Object # 33| 1: [LocalTypeDeclStmt] class ... # 33| 0: [LocalClass] # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) # 33| 1: [Method] # 33| 3: [TypeAccess] int # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodAccess] getValue(...) # 33| -1: [VarAccess] readOnly$delegate # 0| 0: [NullLiteral] null # 33| 1: [PropertyRefExpr] ...::... # 33| -4: [AnonymousClass] new KProperty0(...) { ... } # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) # 33| 1: [Method] get # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodAccess] (...) # 33| -1: [ClassInstanceExpr] new (...) # 33| -3: [TypeAccess] Object # 33| 1: [Method] invoke # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodAccess] get(...) # 33| -1: [ThisAccess] this # 33| -3: [TypeAccess] KProperty0 # 33| 0: [TypeAccess] Integer # 34| 6: [BlockStmt] { ... } # 34| 0: [LocalVariableDeclStmt] var ...; # 34| 1: [LocalVariableDeclExpr] readWrite$delegate # 34| 0: [MethodAccess] resourceDelegate(...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 1: [LocalTypeDeclStmt] class ... # 34| 0: [LocalClass] # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) # 34| 1: [Method] # 34| 3: [TypeAccess] int # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] getValue(...) # 34| -1: [VarAccess] readWrite$delegate # 0| 0: [NullLiteral] null # 34| 1: [PropertyRefExpr] ...::... # 34| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) # 34| 1: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 1: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] get(...) # 34| -1: [ThisAccess] this # 34| 1: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 0: [VarAccess] a0 # 34| -3: [TypeAccess] KMutableProperty0 # 34| 0: [TypeAccess] Integer # 34| 2: [LocalTypeDeclStmt] class ... # 34| 0: [LocalClass] # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) # 34| 1: [Method] # 34| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 34| 0: [Parameter] value # 34| 0: [TypeAccess] int # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] setValue(...) # 34| -1: [VarAccess] readWrite$delegate # 0| 0: [NullLiteral] null # 34| 1: [PropertyRefExpr] ...::... # 34| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) # 34| 1: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 1: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] get(...) # 34| -1: [ThisAccess] this # 34| 1: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 0: [VarAccess] a0 # 34| -3: [TypeAccess] KMutableProperty0 # 34| 0: [TypeAccess] Integer # 34| 2: [VarAccess] value # 36| 7: [ExprStmt] ; # 36| 0: [MethodAccess] println(...) # 36| -1: [TypeAccess] ConsoleKt # 36| 0: [MethodAccess] getVarResource0(...) # 36| -1: [ThisAccess] this # 37| 8: [ExprStmt] ; # 37| 0: [MethodAccess] setVarResource0(...) # 37| -1: [ThisAccess] this # 37| 0: [IntegerLiteral] 3 # 39| 9: [BlockStmt] { ... } # 39| 0: [LocalVariableDeclStmt] var ...; # 39| 1: [LocalVariableDeclExpr] varResource2$delegate # 39| 0: [MethodAccess] provideDelegate(...) # 39| -1: [ClassInstanceExpr] new DelegateProvider(...) # 39| -3: [TypeAccess] DelegateProvider # 1| 0: [NullLiteral] null # 39| 1: [PropertyRefExpr] ...::... # 39| -4: [AnonymousClass] new KProperty0(...) { ... } # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) # 39| 1: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object # 39| 1: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] get(...) # 39| -1: [ThisAccess] this # 39| -3: [TypeAccess] KProperty0 # 39| 0: [TypeAccess] Integer # 39| 1: [LocalTypeDeclStmt] class ... # 39| 0: [LocalClass] # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) # 39| 1: [Method] # 39| 3: [TypeAccess] int # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] getValue(...) # 39| -1: [VarAccess] varResource2$delegate # 0| 0: [NullLiteral] null # 39| 1: [PropertyRefExpr] ...::... # 39| -4: [AnonymousClass] new KProperty0(...) { ... } # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) # 39| 1: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object # 39| 1: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] get(...) # 39| -1: [ThisAccess] this # 39| -3: [TypeAccess] KProperty0 # 39| 0: [TypeAccess] Integer # 42| 3: [Method] getVarResource0 # 42| 3: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] getValue(...) # 42| -1: [VarAccess] this.varResource0$delegate # 42| -1: [ThisAccess] this # 1| 0: [ThisAccess] this # 42| 1: [PropertyRefExpr] ...::... # 42| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 42| 1: [Constructor] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) # 42| 1: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] getVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 1: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 # 42| 1: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] setVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 0: [VarAccess] a1 # 42| -3: [TypeAccess] KMutableProperty1 # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer # 42| 3: [Method] setVarResource0 # 42| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 42| 0: [Parameter] # 42| 0: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] setValue(...) # 42| -1: [VarAccess] this.varResource0$delegate # 42| -1: [ThisAccess] this # 1| 0: [ThisAccess] this # 42| 1: [PropertyRefExpr] ...::... # 42| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 42| 1: [Constructor] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) # 42| 1: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] getVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 1: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 # 42| 1: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] setVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 0: [VarAccess] a1 # 42| -3: [TypeAccess] KMutableProperty1 # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer # 42| 2: [VarAccess] # 42| 3: [FieldDeclaration] ResourceDelegate varResource0$delegate; # 42| -1: [TypeAccess] ResourceDelegate # 42| 0: [ClassInstanceExpr] new ResourceDelegate(...) # 42| -3: [TypeAccess] ResourceDelegate # 45| 5: [Class] ResourceDelegate # 45| 1: [Constructor] ResourceDelegate # 45| 5: [BlockStmt] { ... } # 45| 0: [SuperConstructorInvocationStmt] super(...) # 45| 1: [BlockStmt] { ... } # 46| 2: [Method] getValue # 46| 3: [TypeAccess] int #-----| 4: (Parameters) # 46| 0: [Parameter] thisRef # 46| 0: [TypeAccess] Owner # 46| 1: [Parameter] property # 46| 0: [TypeAccess] KProperty # 46| 5: [BlockStmt] { ... } # 47| 0: [ReturnStmt] return ... # 47| 0: [IntegerLiteral] 1 # 49| 3: [Method] setValue # 49| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 49| 0: [Parameter] thisRef # 49| 0: [TypeAccess] Owner # 49| 1: [Parameter] property # 49| 0: [TypeAccess] KProperty # 49| 2: [Parameter] value # 49| 0: [TypeAccess] Integer # 49| 5: [BlockStmt] { ... } # 53| 6: [Class] DelegateProvider # 53| 1: [Constructor] DelegateProvider # 53| 5: [BlockStmt] { ... } # 53| 0: [SuperConstructorInvocationStmt] super(...) # 53| 1: [BlockStmt] { ... } # 54| 2: [Method] provideDelegate # 54| 3: [TypeAccess] ResourceDelegate #-----| 4: (Parameters) # 54| 0: [Parameter] thisRef # 54| 0: [TypeAccess] Owner # 54| 1: [Parameter] prop # 54| 0: [TypeAccess] KProperty # 54| 5: [BlockStmt] { ... } # 56| 0: [ReturnStmt] return ... # 56| 0: [ClassInstanceExpr] new ResourceDelegate(...) # 56| -3: [TypeAccess] ResourceDelegate # 62| 7: [Class] ClassWithDelegate # 62| 1: [Constructor] ClassWithDelegate #-----| 4: (Parameters) # 62| 0: [Parameter] anotherClassInt # 62| 0: [TypeAccess] int # 62| 5: [BlockStmt] { ... } # 62| 0: [SuperConstructorInvocationStmt] super(...) # 62| 1: [BlockStmt] { ... } # 62| 0: [ExprStmt] ; # 62| 0: [KtInitializerAssignExpr] ...=... # 62| 0: [VarAccess] anotherClassInt # 62| 2: [Method] getAnotherClassInt # 62| 3: [TypeAccess] int # 62| 5: [BlockStmt] { ... } # 62| 0: [ReturnStmt] return ... # 62| 0: [VarAccess] this.anotherClassInt # 62| -1: [ThisAccess] this # 62| 2: [FieldDeclaration] int anotherClassInt; # 62| -1: [TypeAccess] int # 62| 0: [VarAccess] anotherClassInt # 63| 8: [Class] Base # 63| 1: [Constructor] Base #-----| 4: (Parameters) # 63| 0: [Parameter] baseClassInt # 63| 0: [TypeAccess] int # 63| 5: [BlockStmt] { ... } # 63| 0: [SuperConstructorInvocationStmt] super(...) # 63| 1: [BlockStmt] { ... } # 63| 0: [ExprStmt] ; # 63| 0: [KtInitializerAssignExpr] ...=... # 63| 0: [VarAccess] baseClassInt # 63| 2: [Method] getBaseClassInt # 63| 3: [TypeAccess] int # 63| 5: [BlockStmt] { ... } # 63| 0: [ReturnStmt] return ... # 63| 0: [VarAccess] this.baseClassInt # 63| -1: [ThisAccess] this # 63| 2: [FieldDeclaration] int baseClassInt; # 63| -1: [TypeAccess] int # 63| 0: [VarAccess] baseClassInt # 65| 9: [Class] MyClass # 65| 1: [Constructor] MyClass #-----| 4: (Parameters) # 65| 0: [Parameter] memberInt # 65| 0: [TypeAccess] int # 65| 1: [Parameter] anotherClassInstance # 65| 0: [TypeAccess] ClassWithDelegate # 65| 5: [BlockStmt] { ... } # 65| 0: [SuperConstructorInvocationStmt] super(...) # 65| 0: [VarAccess] memberInt # 65| 1: [BlockStmt] { ... } # 65| 0: [ExprStmt] ; # 65| 0: [KtInitializerAssignExpr] ...=... # 65| 0: [VarAccess] memberInt # 65| 1: [ExprStmt] ; # 65| 0: [KtInitializerAssignExpr] ...=... # 65| 0: [VarAccess] anotherClassInstance # 66| 2: [ExprStmt] ; # 66| 0: [KtInitializerAssignExpr] ...=... # 66| 0: [VarAccess] delegatedToMember1$delegate # 67| 3: [ExprStmt] ; # 67| 0: [KtInitializerAssignExpr] ...=... # 67| 0: [VarAccess] delegatedToMember2$delegate # 69| 4: [ExprStmt] ; # 69| 0: [KtInitializerAssignExpr] ...=... # 69| 0: [VarAccess] delegatedToExtMember1$delegate # 70| 5: [ExprStmt] ; # 70| 0: [KtInitializerAssignExpr] ...=... # 70| 0: [VarAccess] delegatedToExtMember2$delegate # 72| 6: [ExprStmt] ; # 72| 0: [KtInitializerAssignExpr] ...=... # 72| 0: [VarAccess] delegatedToBaseClass1$delegate # 73| 7: [ExprStmt] ; # 73| 0: [KtInitializerAssignExpr] ...=... # 73| 0: [VarAccess] delegatedToBaseClass2$delegate # 75| 8: [ExprStmt] ; # 75| 0: [KtInitializerAssignExpr] ...=... # 75| 0: [VarAccess] delegatedToAnotherClass1$delegate # 77| 9: [ExprStmt] ; # 77| 0: [KtInitializerAssignExpr] ...=... # 77| 0: [VarAccess] delegatedToTopLevel$delegate # 79| 10: [ExprStmt] ; # 79| 0: [KtInitializerAssignExpr] ...=... # 79| 0: [VarAccess] max$delegate # 65| 2: [Method] getMemberInt # 65| 3: [TypeAccess] int # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [VarAccess] this.memberInt # 65| -1: [ThisAccess] this # 65| 2: [Method] setMemberInt # 65| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 65| 0: [Parameter] # 65| 0: [TypeAccess] int # 65| 5: [BlockStmt] { ... } # 65| 0: [ExprStmt] ; # 65| 0: [AssignExpr] ...=... # 65| 0: [VarAccess] this.memberInt # 65| -1: [ThisAccess] this # 65| 1: [VarAccess] # 65| 2: [FieldDeclaration] int memberInt; # 65| -1: [TypeAccess] int # 65| 0: [VarAccess] memberInt # 65| 5: [Method] getAnotherClassInstance # 65| 3: [TypeAccess] ClassWithDelegate # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [VarAccess] this.anotherClassInstance # 65| -1: [ThisAccess] this # 65| 5: [FieldDeclaration] ClassWithDelegate anotherClassInstance; # 65| -1: [TypeAccess] ClassWithDelegate # 65| 0: [VarAccess] anotherClassInstance # 66| 7: [Method] getDelegatedToMember1 # 66| 3: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getValue(...) # 66| -2: [TypeAccess] Integer # 66| -1: [TypeAccess] PropertyReferenceDelegatesKt # 66| 0: [VarAccess] this.delegatedToMember1$delegate # 66| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 66| 2: [PropertyRefExpr] ...::... # 66| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 66| 1: [Constructor] # 66| 5: [BlockStmt] { ... } # 66| 0: [SuperConstructorInvocationStmt] super(...) # 66| 1: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 1: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 # 66| 1: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] setDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 0: [VarAccess] a1 # 66| -3: [TypeAccess] KMutableProperty1 # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer # 66| 7: [Method] setDelegatedToMember1 # 66| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 66| 0: [Parameter] # 66| 0: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] setValue(...) # 66| -2: [TypeAccess] Integer # 66| -1: [TypeAccess] PropertyReferenceDelegatesKt # 66| 0: [VarAccess] this.delegatedToMember1$delegate # 66| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 66| 2: [PropertyRefExpr] ...::... # 66| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 66| 1: [Constructor] # 66| 5: [BlockStmt] { ... } # 66| 0: [SuperConstructorInvocationStmt] super(...) # 66| 1: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 1: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 # 66| 1: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] setDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 0: [VarAccess] a1 # 66| -3: [TypeAccess] KMutableProperty1 # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer # 66| 3: [VarAccess] # 66| 7: [FieldDeclaration] KMutableProperty0 delegatedToMember1$delegate; # 66| -1: [TypeAccess] KMutableProperty0 # 66| 0: [TypeAccess] Integer # 66| 0: [PropertyRefExpr] ...::... # 66| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 66| 1: [Constructor] #-----| 4: (Parameters) # 66| 0: [Parameter] # 66| 5: [BlockStmt] { ... } # 66| 0: [SuperConstructorInvocationStmt] super(...) # 66| 1: [ExprStmt] ; # 66| 0: [AssignExpr] ...=... # 66| 0: [VarAccess] this. # 66| -1: [ThisAccess] this # 66| 1: [VarAccess] # 66| 1: [FieldDeclaration] MyClass ; # 66| -1: [TypeAccess] MyClass # 66| 1: [Method] get # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getMemberInt(...) # 66| -1: [VarAccess] this. # 66| -1: [ThisAccess] this # 66| 1: [Method] invoke # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] get(...) # 66| -1: [ThisAccess] this # 66| 1: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] setMemberInt(...) # 66| -1: [VarAccess] this. # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 # 66| -3: [TypeAccess] KMutableProperty0 # 66| 0: [TypeAccess] Integer # 66| 0: [ThisAccess] MyClass.this # 66| 0: [TypeAccess] MyClass # 67| 10: [Method] getDelegatedToMember2 # 67| 3: [TypeAccess] int # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getValue(...) # 67| -3: [TypeAccess] Integer # 67| -2: [TypeAccess] MyClass # 67| -1: [TypeAccess] PropertyReferenceDelegatesKt # 67| 0: [VarAccess] this.delegatedToMember2$delegate # 67| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 67| 2: [PropertyRefExpr] ...::... # 67| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) # 67| 1: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 1: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 1: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] setDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 10: [Method] setDelegatedToMember2 # 67| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 67| 0: [Parameter] # 67| 0: [TypeAccess] int # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] setValue(...) # 67| -3: [TypeAccess] Integer # 67| -2: [TypeAccess] MyClass # 67| -1: [TypeAccess] PropertyReferenceDelegatesKt # 67| 0: [VarAccess] this.delegatedToMember2$delegate # 67| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 67| 2: [PropertyRefExpr] ...::... # 67| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) # 67| 1: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 1: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 1: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] setDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 3: [VarAccess] # 67| 10: [FieldDeclaration] KMutableProperty1 delegatedToMember2$delegate; # 67| -1: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 0: [PropertyRefExpr] ...::... # 67| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) # 67| 1: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getMemberInt(...) # 67| -1: [VarAccess] a0 # 67| 1: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 1: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] setMemberInt(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 69| 13: [Method] getDelegatedToExtMember1 # 69| 3: [TypeAccess] int # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getValue(...) # 69| -2: [TypeAccess] Integer # 69| -1: [TypeAccess] PropertyReferenceDelegatesKt # 69| 0: [VarAccess] this.delegatedToExtMember1$delegate # 69| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 69| 2: [PropertyRefExpr] ...::... # 69| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 69| 1: [Constructor] # 69| 5: [BlockStmt] { ... } # 69| 0: [SuperConstructorInvocationStmt] super(...) # 69| 1: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 1: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 # 69| 1: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] setDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 0: [VarAccess] a1 # 69| -3: [TypeAccess] KMutableProperty1 # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer # 69| 13: [Method] setDelegatedToExtMember1 # 69| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 69| 0: [Parameter] # 69| 0: [TypeAccess] int # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] setValue(...) # 69| -2: [TypeAccess] Integer # 69| -1: [TypeAccess] PropertyReferenceDelegatesKt # 69| 0: [VarAccess] this.delegatedToExtMember1$delegate # 69| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 69| 2: [PropertyRefExpr] ...::... # 69| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 69| 1: [Constructor] # 69| 5: [BlockStmt] { ... } # 69| 0: [SuperConstructorInvocationStmt] super(...) # 69| 1: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 1: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 # 69| 1: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] setDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 0: [VarAccess] a1 # 69| -3: [TypeAccess] KMutableProperty1 # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer # 69| 3: [VarAccess] # 69| 13: [FieldDeclaration] KMutableProperty0 delegatedToExtMember1$delegate; # 69| -1: [TypeAccess] KMutableProperty0 # 69| 0: [TypeAccess] Integer # 69| 0: [PropertyRefExpr] ...::... # 69| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 69| 1: [Constructor] #-----| 4: (Parameters) # 69| 0: [Parameter] # 69| 5: [BlockStmt] { ... } # 69| 0: [SuperConstructorInvocationStmt] super(...) # 69| 1: [ExprStmt] ; # 69| 0: [AssignExpr] ...=... # 69| 0: [VarAccess] this. # 69| -1: [ThisAccess] this # 69| 1: [VarAccess] # 69| 1: [FieldDeclaration] MyClass ; # 69| -1: [TypeAccess] MyClass # 69| 1: [Method] get # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getExtDelegated(...) # 69| -1: [TypeAccess] DelegatedPropertiesKt # 69| 0: [VarAccess] this. # 69| -1: [ThisAccess] this # 69| 1: [Method] invoke # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] get(...) # 69| -1: [ThisAccess] this # 69| 1: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] setExtDelegated(...) # 69| -1: [TypeAccess] DelegatedPropertiesKt # 69| 0: [VarAccess] this. # 69| -1: [ThisAccess] this # 69| 1: [VarAccess] a0 # 69| -3: [TypeAccess] KMutableProperty0 # 69| 0: [TypeAccess] Integer # 69| 0: [ThisAccess] MyClass.this # 69| 0: [TypeAccess] MyClass # 70| 16: [Method] getDelegatedToExtMember2 # 70| 3: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getValue(...) # 70| -3: [TypeAccess] Integer # 70| -2: [TypeAccess] MyClass # 70| -1: [TypeAccess] PropertyReferenceDelegatesKt # 70| 0: [VarAccess] this.delegatedToExtMember2$delegate # 70| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 70| 2: [PropertyRefExpr] ...::... # 70| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 70| 1: [Constructor] # 70| 5: [BlockStmt] { ... } # 70| 0: [SuperConstructorInvocationStmt] super(...) # 70| 1: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 1: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 1: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] setDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 0: [VarAccess] a1 # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 16: [Method] setDelegatedToExtMember2 # 70| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 70| 0: [Parameter] # 70| 0: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] setValue(...) # 70| -3: [TypeAccess] Integer # 70| -2: [TypeAccess] MyClass # 70| -1: [TypeAccess] PropertyReferenceDelegatesKt # 70| 0: [VarAccess] this.delegatedToExtMember2$delegate # 70| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 70| 2: [PropertyRefExpr] ...::... # 70| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 70| 1: [Constructor] # 70| 5: [BlockStmt] { ... } # 70| 0: [SuperConstructorInvocationStmt] super(...) # 70| 1: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 1: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 1: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] setDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 0: [VarAccess] a1 # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 3: [VarAccess] # 70| 16: [FieldDeclaration] KMutableProperty1 delegatedToExtMember2$delegate; # 70| -1: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 0: [PropertyRefExpr] ...::... # 70| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 70| 1: [Constructor] # 70| 5: [BlockStmt] { ... } # 70| 0: [SuperConstructorInvocationStmt] super(...) # 70| 1: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getExtDelegated(...) # 70| -1: [TypeAccess] DelegatedPropertiesKt # 70| 0: [VarAccess] a0 # 70| 1: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 1: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] setExtDelegated(...) # 70| -1: [TypeAccess] DelegatedPropertiesKt # 70| 0: [VarAccess] a0 # 70| 1: [VarAccess] a1 # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 72| 19: [Method] getDelegatedToBaseClass1 # 72| 3: [TypeAccess] int # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] getValue(...) # 72| -2: [TypeAccess] Integer # 72| -1: [TypeAccess] PropertyReferenceDelegatesKt # 72| 0: [VarAccess] this.delegatedToBaseClass1$delegate # 72| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 72| 2: [PropertyRefExpr] ...::... # 72| -4: [AnonymousClass] new KProperty1(...) { ... } # 72| 1: [Constructor] # 72| 5: [BlockStmt] { ... } # 72| 0: [SuperConstructorInvocationStmt] super(...) # 72| 1: [Method] get #-----| 4: (Parameters) # 72| 0: [Parameter] a0 # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] getDelegatedToBaseClass1(...) # 72| -1: [VarAccess] a0 # 72| 1: [Method] invoke #-----| 4: (Parameters) # 72| 0: [Parameter] a0 # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] get(...) # 72| -1: [ThisAccess] this # 72| 0: [VarAccess] a0 # 72| -3: [TypeAccess] KProperty1 # 72| 0: [TypeAccess] MyClass # 72| 1: [TypeAccess] Integer # 72| 19: [FieldDeclaration] KProperty0 delegatedToBaseClass1$delegate; # 72| -1: [TypeAccess] KProperty0 # 72| 0: [TypeAccess] Integer # 72| 0: [PropertyRefExpr] ...::... # 72| -4: [AnonymousClass] new KProperty0(...) { ... } # 72| 1: [Constructor] #-----| 4: (Parameters) # 72| 0: [Parameter] # 72| 5: [BlockStmt] { ... } # 72| 0: [SuperConstructorInvocationStmt] super(...) # 72| 1: [ExprStmt] ; # 72| 0: [AssignExpr] ...=... # 72| 0: [VarAccess] this. # 72| -1: [ThisAccess] this # 72| 1: [VarAccess] # 72| 1: [FieldDeclaration] MyClass ; # 72| -1: [TypeAccess] MyClass # 72| 1: [Method] get # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] getBaseClassInt(...) # 72| -1: [VarAccess] this. # 72| -1: [ThisAccess] this # 72| 1: [Method] invoke # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] get(...) # 72| -1: [ThisAccess] this # 72| -3: [TypeAccess] KProperty0 # 72| 0: [TypeAccess] Integer # 72| 0: [ThisAccess] MyClass.this # 72| 0: [TypeAccess] MyClass # 73| 21: [Method] getDelegatedToBaseClass2 # 73| 3: [TypeAccess] int # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] getValue(...) # 73| -3: [TypeAccess] Integer # 73| -2: [TypeAccess] Base # 73| -1: [TypeAccess] PropertyReferenceDelegatesKt # 73| 0: [VarAccess] this.delegatedToBaseClass2$delegate # 73| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 73| 2: [PropertyRefExpr] ...::... # 73| -4: [AnonymousClass] new KProperty1(...) { ... } # 73| 1: [Constructor] # 73| 5: [BlockStmt] { ... } # 73| 0: [SuperConstructorInvocationStmt] super(...) # 73| 1: [Method] get #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] getDelegatedToBaseClass2(...) # 73| -1: [VarAccess] a0 # 73| 1: [Method] invoke #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] get(...) # 73| -1: [ThisAccess] this # 73| 0: [VarAccess] a0 # 73| -3: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] MyClass # 73| 1: [TypeAccess] Integer # 73| 21: [FieldDeclaration] KProperty1 delegatedToBaseClass2$delegate; # 73| -1: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] Base # 73| 1: [TypeAccess] Integer # 73| 0: [PropertyRefExpr] ...::... # 73| -4: [AnonymousClass] new KProperty1(...) { ... } # 73| 1: [Constructor] # 73| 5: [BlockStmt] { ... } # 73| 0: [SuperConstructorInvocationStmt] super(...) # 73| 1: [Method] get #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] getBaseClassInt(...) # 73| -1: [VarAccess] a0 # 73| 1: [Method] invoke #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] get(...) # 73| -1: [ThisAccess] this # 73| 0: [VarAccess] a0 # 73| -3: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] Base # 73| 1: [TypeAccess] Integer # 75| 23: [Method] getDelegatedToAnotherClass1 # 75| 3: [TypeAccess] int # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] getValue(...) # 75| -2: [TypeAccess] Integer # 75| -1: [TypeAccess] PropertyReferenceDelegatesKt # 75| 0: [VarAccess] this.delegatedToAnotherClass1$delegate # 75| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 75| 2: [PropertyRefExpr] ...::... # 75| -4: [AnonymousClass] new KProperty1(...) { ... } # 75| 1: [Constructor] # 75| 5: [BlockStmt] { ... } # 75| 0: [SuperConstructorInvocationStmt] super(...) # 75| 1: [Method] get #-----| 4: (Parameters) # 75| 0: [Parameter] a0 # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] getDelegatedToAnotherClass1(...) # 75| -1: [VarAccess] a0 # 75| 1: [Method] invoke #-----| 4: (Parameters) # 75| 0: [Parameter] a0 # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] get(...) # 75| -1: [ThisAccess] this # 75| 0: [VarAccess] a0 # 75| -3: [TypeAccess] KProperty1 # 75| 0: [TypeAccess] MyClass # 75| 1: [TypeAccess] Integer # 75| 23: [FieldDeclaration] KProperty0 delegatedToAnotherClass1$delegate; # 75| -1: [TypeAccess] KProperty0 # 75| 0: [TypeAccess] Integer # 75| 0: [PropertyRefExpr] ...::... # 75| -4: [AnonymousClass] new KProperty0(...) { ... } # 75| 1: [Constructor] #-----| 4: (Parameters) # 75| 0: [Parameter] # 75| 5: [BlockStmt] { ... } # 75| 0: [SuperConstructorInvocationStmt] super(...) # 75| 1: [ExprStmt] ; # 75| 0: [AssignExpr] ...=... # 75| 0: [VarAccess] this. # 75| -1: [ThisAccess] this # 75| 1: [VarAccess] # 75| 1: [FieldDeclaration] ClassWithDelegate ; # 75| -1: [TypeAccess] ClassWithDelegate # 75| 1: [Method] get # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] getAnotherClassInt(...) # 75| -1: [VarAccess] this. # 75| -1: [ThisAccess] this # 75| 1: [Method] invoke # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] get(...) # 75| -1: [ThisAccess] this # 75| -3: [TypeAccess] KProperty0 # 75| 0: [TypeAccess] Integer # 75| 0: [MethodAccess] getAnotherClassInstance(...) # 75| -1: [ThisAccess] MyClass.this # 75| 0: [TypeAccess] MyClass # 77| 25: [Method] getDelegatedToTopLevel # 77| 3: [TypeAccess] int # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getValue(...) # 77| -2: [TypeAccess] Integer # 77| -1: [TypeAccess] PropertyReferenceDelegatesKt # 77| 0: [VarAccess] this.delegatedToTopLevel$delegate # 77| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 77| 2: [PropertyRefExpr] ...::... # 77| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 77| 1: [Constructor] # 77| 5: [BlockStmt] { ... } # 77| 0: [SuperConstructorInvocationStmt] super(...) # 77| 1: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 1: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 # 77| 1: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] setDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 0: [VarAccess] a1 # 77| -3: [TypeAccess] KMutableProperty1 # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer # 77| 25: [Method] setDelegatedToTopLevel # 77| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 77| 0: [Parameter] # 77| 0: [TypeAccess] int # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] setValue(...) # 77| -2: [TypeAccess] Integer # 77| -1: [TypeAccess] PropertyReferenceDelegatesKt # 77| 0: [VarAccess] this.delegatedToTopLevel$delegate # 77| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 77| 2: [PropertyRefExpr] ...::... # 77| -4: [AnonymousClass] new KMutableProperty1(...) { ... } # 77| 1: [Constructor] # 77| 5: [BlockStmt] { ... } # 77| 0: [SuperConstructorInvocationStmt] super(...) # 77| 1: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 1: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 # 77| 1: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] setDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 0: [VarAccess] a1 # 77| -3: [TypeAccess] KMutableProperty1 # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer # 77| 3: [VarAccess] # 77| 25: [FieldDeclaration] KMutableProperty0 delegatedToTopLevel$delegate; # 77| -1: [TypeAccess] KMutableProperty0 # 77| 0: [TypeAccess] Integer # 77| 0: [PropertyRefExpr] ...::... # 77| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 77| 1: [Constructor] # 77| 5: [BlockStmt] { ... } # 77| 0: [SuperConstructorInvocationStmt] super(...) # 77| 1: [Method] get # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getTopLevelInt(...) # 77| -1: [TypeAccess] DelegatedPropertiesKt # 77| 1: [Method] invoke # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] get(...) # 77| -1: [ThisAccess] this # 77| 1: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] setTopLevelInt(...) # 77| -1: [TypeAccess] DelegatedPropertiesKt # 77| 0: [VarAccess] a0 # 77| -3: [TypeAccess] KMutableProperty0 # 77| 0: [TypeAccess] Integer # 79| 28: [Method] getMax # 79| 3: [TypeAccess] int # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodAccess] getValue(...) # 79| -2: [TypeAccess] Integer # 79| -1: [TypeAccess] PropertyReferenceDelegatesKt # 79| 0: [VarAccess] this.max$delegate # 79| -1: [ThisAccess] this # 1| 1: [ThisAccess] this # 79| 2: [PropertyRefExpr] ...::... # 79| -4: [AnonymousClass] new KProperty1(...) { ... } # 79| 1: [Constructor] # 79| 5: [BlockStmt] { ... } # 79| 0: [SuperConstructorInvocationStmt] super(...) # 79| 1: [Method] get #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodAccess] getMax(...) # 79| -1: [VarAccess] a0 # 79| 1: [Method] invoke #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodAccess] get(...) # 79| -1: [ThisAccess] this # 79| 0: [VarAccess] a0 # 79| -3: [TypeAccess] KProperty1 # 79| 0: [TypeAccess] MyClass # 79| 1: [TypeAccess] Integer # 79| 28: [FieldDeclaration] KProperty0 max$delegate; # 79| -1: [TypeAccess] KProperty0 # 79| 0: [TypeAccess] Integer # 79| 0: [PropertyRefExpr] ...::... # 79| -4: [AnonymousClass] new KProperty0(...) { ... } # 79| 1: [Constructor] # 79| 5: [BlockStmt] { ... } # 79| 0: [SuperConstructorInvocationStmt] super(...) # 79| 1: [Method] get # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [VarAccess] MAX_VALUE # 79| 1: [Method] invoke # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodAccess] get(...) # 79| -1: [ThisAccess] this # 79| -3: [TypeAccess] KProperty0 # 79| 0: [TypeAccess] Integer # 81| 30: [Method] fn # 81| 3: [TypeAccess] Unit # 81| 5: [BlockStmt] { ... } # 82| 0: [BlockStmt] { ... } # 82| 0: [LocalVariableDeclStmt] var ...; # 82| 1: [LocalVariableDeclExpr] delegatedToMember3$delegate # 82| 0: [PropertyRefExpr] ...::... # 82| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 82| 1: [Constructor] #-----| 4: (Parameters) # 82| 0: [Parameter] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) # 82| 1: [ExprStmt] ; # 82| 0: [AssignExpr] ...=... # 82| 0: [VarAccess] this. # 82| -1: [ThisAccess] this # 82| 1: [VarAccess] # 82| 1: [FieldDeclaration] MyClass ; # 82| -1: [TypeAccess] MyClass # 82| 1: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] getMemberInt(...) # 82| -1: [VarAccess] this. # 82| -1: [ThisAccess] this # 82| 1: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this # 82| 1: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] setMemberInt(...) # 82| -1: [VarAccess] this. # 82| -1: [ThisAccess] this # 82| 0: [VarAccess] a0 # 82| -3: [TypeAccess] KMutableProperty0 # 82| 0: [TypeAccess] Integer # 82| 0: [ThisAccess] this # 82| 1: [LocalTypeDeclStmt] class ... # 82| 0: [LocalClass] # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) # 82| 1: [Method] # 82| 3: [TypeAccess] int # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] getValue(...) # 82| -2: [TypeAccess] Integer # 82| -1: [TypeAccess] PropertyReferenceDelegatesKt # 82| 0: [VarAccess] delegatedToMember3$delegate # 0| 1: [NullLiteral] null # 82| 2: [PropertyRefExpr] ...::... # 82| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) # 82| 1: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 1: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this # 82| 1: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 0: [VarAccess] a0 # 82| -3: [TypeAccess] KMutableProperty0 # 82| 0: [TypeAccess] Integer # 82| 2: [LocalTypeDeclStmt] class ... # 82| 0: [LocalClass] # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) # 82| 1: [Method] # 82| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 82| 0: [Parameter] value # 82| 0: [TypeAccess] int # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] setValue(...) # 82| -2: [TypeAccess] Integer # 82| -1: [TypeAccess] PropertyReferenceDelegatesKt # 82| 0: [VarAccess] delegatedToMember3$delegate # 0| 1: [NullLiteral] null # 82| 2: [PropertyRefExpr] ...::... # 82| -4: [AnonymousClass] new KMutableProperty0(...) { ... } # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) # 82| 1: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 1: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this # 82| 1: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 0: [VarAccess] a0 # 82| -3: [TypeAccess] KMutableProperty0 # 82| 0: [TypeAccess] Integer # 82| 3: [VarAccess] value # 83| 1: [ExprStmt] ; # 83| 0: [MethodAccess] fn(...) # 83| -1: [ThisAccess] this exprs.kt: # 0| [CompilationUnit] exprs # 0| 1: [Class] ExprsKt # 4| 1: [Method] topLevelMethod # 4| 3: [TypeAccess] int #-----| 4: (Parameters) # 4| 0: [Parameter] x # 4| 0: [TypeAccess] int # 4| 1: [Parameter] y # 4| 0: [TypeAccess] int # 5| 2: [Parameter] byx # 5| 0: [TypeAccess] byte # 5| 3: [Parameter] byy # 5| 0: [TypeAccess] byte # 6| 4: [Parameter] sx # 6| 0: [TypeAccess] short # 6| 5: [Parameter] sy # 6| 0: [TypeAccess] short # 7| 6: [Parameter] lx # 7| 0: [TypeAccess] long # 7| 7: [Parameter] ly # 7| 0: [TypeAccess] long # 8| 8: [Parameter] dx # 8| 0: [TypeAccess] double # 8| 9: [Parameter] dy # 8| 0: [TypeAccess] double # 9| 10: [Parameter] fx # 9| 0: [TypeAccess] float # 9| 11: [Parameter] fy # 9| 0: [TypeAccess] float # 10| 5: [BlockStmt] { ... } # 11| 0: [LocalVariableDeclStmt] var ...; # 11| 1: [LocalVariableDeclExpr] i1 # 11| 0: [IntegerLiteral] 1 # 12| 1: [LocalVariableDeclStmt] var ...; # 12| 1: [LocalVariableDeclExpr] i2 # 12| 0: [AddExpr] ... + ... # 12| 0: [VarAccess] x # 12| 1: [VarAccess] y # 13| 2: [LocalVariableDeclStmt] var ...; # 13| 1: [LocalVariableDeclExpr] i3 # 13| 0: [SubExpr] ... - ... # 13| 0: [VarAccess] x # 13| 1: [VarAccess] y # 14| 3: [LocalVariableDeclStmt] var ...; # 14| 1: [LocalVariableDeclExpr] i4 # 14| 0: [DivExpr] ... / ... # 14| 0: [VarAccess] x # 14| 1: [VarAccess] y # 15| 4: [LocalVariableDeclStmt] var ...; # 15| 1: [LocalVariableDeclExpr] i5 # 15| 0: [RemExpr] ... % ... # 15| 0: [VarAccess] x # 15| 1: [VarAccess] y # 16| 5: [LocalVariableDeclStmt] var ...; # 16| 1: [LocalVariableDeclExpr] i6 # 16| 0: [MethodAccess] shl(...) # 16| -1: [VarAccess] x # 16| 0: [VarAccess] y # 17| 6: [LocalVariableDeclStmt] var ...; # 17| 1: [LocalVariableDeclExpr] i7 # 17| 0: [MethodAccess] shr(...) # 17| -1: [VarAccess] x # 17| 0: [VarAccess] y # 18| 7: [LocalVariableDeclStmt] var ...; # 18| 1: [LocalVariableDeclExpr] i8 # 18| 0: [MethodAccess] ushr(...) # 18| -1: [VarAccess] x # 18| 0: [VarAccess] y # 19| 8: [LocalVariableDeclStmt] var ...; # 19| 1: [LocalVariableDeclExpr] i9 # 19| 0: [MethodAccess] and(...) # 19| -1: [VarAccess] x # 19| 0: [VarAccess] y # 20| 9: [LocalVariableDeclStmt] var ...; # 20| 1: [LocalVariableDeclExpr] i10 # 20| 0: [MethodAccess] or(...) # 20| -1: [VarAccess] x # 20| 0: [VarAccess] y # 21| 10: [LocalVariableDeclStmt] var ...; # 21| 1: [LocalVariableDeclExpr] i11 # 21| 0: [MethodAccess] xor(...) # 21| -1: [VarAccess] x # 21| 0: [VarAccess] y # 22| 11: [LocalVariableDeclStmt] var ...; # 22| 1: [LocalVariableDeclExpr] i12 # 22| 0: [MethodAccess] inv(...) # 22| -1: [VarAccess] x # 23| 12: [LocalVariableDeclStmt] var ...; # 23| 1: [LocalVariableDeclExpr] i13 # 23| 0: [ValueEQExpr] ... (value equals) ... # 23| 0: [VarAccess] x # 23| 1: [VarAccess] y # 24| 13: [LocalVariableDeclStmt] var ...; # 24| 1: [LocalVariableDeclExpr] i14 # 24| 0: [ValueNEExpr] ... (value not-equals) ... # 24| 0: [VarAccess] x # 24| 1: [VarAccess] y # 25| 14: [LocalVariableDeclStmt] var ...; # 25| 1: [LocalVariableDeclExpr] i15 # 25| 0: [LTExpr] ... < ... # 25| 0: [VarAccess] x # 25| 1: [VarAccess] y # 26| 15: [LocalVariableDeclStmt] var ...; # 26| 1: [LocalVariableDeclExpr] i16 # 26| 0: [LEExpr] ... <= ... # 26| 0: [VarAccess] x # 26| 1: [VarAccess] y # 27| 16: [LocalVariableDeclStmt] var ...; # 27| 1: [LocalVariableDeclExpr] i17 # 27| 0: [GTExpr] ... > ... # 27| 0: [VarAccess] x # 27| 1: [VarAccess] y # 28| 17: [LocalVariableDeclStmt] var ...; # 28| 1: [LocalVariableDeclExpr] i18 # 28| 0: [GEExpr] ... >= ... # 28| 0: [VarAccess] x # 28| 1: [VarAccess] y # 29| 18: [LocalVariableDeclStmt] var ...; # 29| 1: [LocalVariableDeclExpr] i19 # 29| 0: [EQExpr] ... == ... # 29| 0: [VarAccess] x # 29| 1: [VarAccess] y # 30| 19: [LocalVariableDeclStmt] var ...; # 30| 1: [LocalVariableDeclExpr] i20 # 30| 0: [NEExpr] ... != ... # 30| 0: [VarAccess] x # 30| 1: [VarAccess] y # 31| 20: [LocalVariableDeclStmt] var ...; # 31| 1: [LocalVariableDeclExpr] i21 # 31| 0: [MethodAccess] contains(...) # 31| -1: [MethodAccess] rangeTo(...) # 31| -1: [VarAccess] x # 31| 0: [VarAccess] y # 31| 0: [VarAccess] x # 32| 21: [LocalVariableDeclStmt] var ...; # 32| 1: [LocalVariableDeclExpr] i22 # 32| 0: [MethodAccess] not(...) # 32| -1: [MethodAccess] contains(...) # 32| -1: [MethodAccess] rangeTo(...) # 32| -1: [VarAccess] x # 32| 0: [VarAccess] y # 32| 0: [VarAccess] x # 34| 22: [LocalVariableDeclStmt] var ...; # 34| 1: [LocalVariableDeclExpr] by1 # 34| 0: [DoubleLiteral] 1.0 # 35| 23: [LocalVariableDeclStmt] var ...; # 35| 1: [LocalVariableDeclExpr] by2 # 35| 0: [AddExpr] ... + ... # 35| 0: [VarAccess] byx # 35| 1: [VarAccess] byy # 36| 24: [LocalVariableDeclStmt] var ...; # 36| 1: [LocalVariableDeclExpr] by3 # 36| 0: [SubExpr] ... - ... # 36| 0: [VarAccess] byx # 36| 1: [VarAccess] byy # 37| 25: [LocalVariableDeclStmt] var ...; # 37| 1: [LocalVariableDeclExpr] by4 # 37| 0: [DivExpr] ... / ... # 37| 0: [VarAccess] byx # 37| 1: [VarAccess] byy # 38| 26: [LocalVariableDeclStmt] var ...; # 38| 1: [LocalVariableDeclExpr] by5 # 38| 0: [RemExpr] ... % ... # 38| 0: [VarAccess] byx # 38| 1: [VarAccess] byy # 39| 27: [LocalVariableDeclStmt] var ...; # 39| 1: [LocalVariableDeclExpr] by6 # 39| 0: [ValueEQExpr] ... (value equals) ... # 39| 0: [MethodAccess] toInt(...) # 39| -1: [VarAccess] byx # 39| 1: [MethodAccess] toInt(...) # 39| -1: [VarAccess] byy # 40| 28: [LocalVariableDeclStmt] var ...; # 40| 1: [LocalVariableDeclExpr] by7 # 40| 0: [ValueNEExpr] ... (value not-equals) ... # 40| 0: [MethodAccess] toInt(...) # 40| -1: [VarAccess] byx # 40| 1: [MethodAccess] toInt(...) # 40| -1: [VarAccess] byy # 41| 29: [LocalVariableDeclStmt] var ...; # 41| 1: [LocalVariableDeclExpr] by8 # 41| 0: [LTExpr] ... < ... # 41| 0: [MethodAccess] toInt(...) # 41| -1: [VarAccess] byx # 41| 1: [MethodAccess] toInt(...) # 41| -1: [VarAccess] byy # 42| 30: [LocalVariableDeclStmt] var ...; # 42| 1: [LocalVariableDeclExpr] by9 # 42| 0: [LEExpr] ... <= ... # 42| 0: [MethodAccess] toInt(...) # 42| -1: [VarAccess] byx # 42| 1: [MethodAccess] toInt(...) # 42| -1: [VarAccess] byy # 43| 31: [LocalVariableDeclStmt] var ...; # 43| 1: [LocalVariableDeclExpr] by10 # 43| 0: [GTExpr] ... > ... # 43| 0: [MethodAccess] toInt(...) # 43| -1: [VarAccess] byx # 43| 1: [MethodAccess] toInt(...) # 43| -1: [VarAccess] byy # 44| 32: [LocalVariableDeclStmt] var ...; # 44| 1: [LocalVariableDeclExpr] by11 # 44| 0: [GEExpr] ... >= ... # 44| 0: [MethodAccess] toInt(...) # 44| -1: [VarAccess] byx # 44| 1: [MethodAccess] toInt(...) # 44| -1: [VarAccess] byy # 45| 33: [LocalVariableDeclStmt] var ...; # 45| 1: [LocalVariableDeclExpr] by12 # 45| 0: [EQExpr] ... == ... # 45| 0: [VarAccess] byx # 45| 1: [VarAccess] byy # 46| 34: [LocalVariableDeclStmt] var ...; # 46| 1: [LocalVariableDeclExpr] by13 # 46| 0: [NEExpr] ... != ... # 46| 0: [VarAccess] byx # 46| 1: [VarAccess] byy # 48| 35: [LocalVariableDeclStmt] var ...; # 48| 1: [LocalVariableDeclExpr] s1 # 48| 0: [DoubleLiteral] 1.0 # 49| 36: [LocalVariableDeclStmt] var ...; # 49| 1: [LocalVariableDeclExpr] s2 # 49| 0: [AddExpr] ... + ... # 49| 0: [VarAccess] sx # 49| 1: [VarAccess] sy # 50| 37: [LocalVariableDeclStmt] var ...; # 50| 1: [LocalVariableDeclExpr] s3 # 50| 0: [SubExpr] ... - ... # 50| 0: [VarAccess] sx # 50| 1: [VarAccess] sy # 51| 38: [LocalVariableDeclStmt] var ...; # 51| 1: [LocalVariableDeclExpr] s4 # 51| 0: [DivExpr] ... / ... # 51| 0: [VarAccess] sx # 51| 1: [VarAccess] sy # 52| 39: [LocalVariableDeclStmt] var ...; # 52| 1: [LocalVariableDeclExpr] s5 # 52| 0: [RemExpr] ... % ... # 52| 0: [VarAccess] sx # 52| 1: [VarAccess] sy # 53| 40: [LocalVariableDeclStmt] var ...; # 53| 1: [LocalVariableDeclExpr] s6 # 53| 0: [ValueEQExpr] ... (value equals) ... # 53| 0: [MethodAccess] toInt(...) # 53| -1: [VarAccess] sx # 53| 1: [MethodAccess] toInt(...) # 53| -1: [VarAccess] sy # 54| 41: [LocalVariableDeclStmt] var ...; # 54| 1: [LocalVariableDeclExpr] s7 # 54| 0: [ValueNEExpr] ... (value not-equals) ... # 54| 0: [MethodAccess] toInt(...) # 54| -1: [VarAccess] sx # 54| 1: [MethodAccess] toInt(...) # 54| -1: [VarAccess] sy # 55| 42: [LocalVariableDeclStmt] var ...; # 55| 1: [LocalVariableDeclExpr] s8 # 55| 0: [LTExpr] ... < ... # 55| 0: [MethodAccess] toInt(...) # 55| -1: [VarAccess] sx # 55| 1: [MethodAccess] toInt(...) # 55| -1: [VarAccess] sy # 56| 43: [LocalVariableDeclStmt] var ...; # 56| 1: [LocalVariableDeclExpr] s9 # 56| 0: [LEExpr] ... <= ... # 56| 0: [MethodAccess] toInt(...) # 56| -1: [VarAccess] sx # 56| 1: [MethodAccess] toInt(...) # 56| -1: [VarAccess] sy # 57| 44: [LocalVariableDeclStmt] var ...; # 57| 1: [LocalVariableDeclExpr] s10 # 57| 0: [GTExpr] ... > ... # 57| 0: [MethodAccess] toInt(...) # 57| -1: [VarAccess] sx # 57| 1: [MethodAccess] toInt(...) # 57| -1: [VarAccess] sy # 58| 45: [LocalVariableDeclStmt] var ...; # 58| 1: [LocalVariableDeclExpr] s11 # 58| 0: [GEExpr] ... >= ... # 58| 0: [MethodAccess] toInt(...) # 58| -1: [VarAccess] sx # 58| 1: [MethodAccess] toInt(...) # 58| -1: [VarAccess] sy # 59| 46: [LocalVariableDeclStmt] var ...; # 59| 1: [LocalVariableDeclExpr] s12 # 59| 0: [EQExpr] ... == ... # 59| 0: [VarAccess] sx # 59| 1: [VarAccess] sy # 60| 47: [LocalVariableDeclStmt] var ...; # 60| 1: [LocalVariableDeclExpr] s13 # 60| 0: [NEExpr] ... != ... # 60| 0: [VarAccess] sx # 60| 1: [VarAccess] sy # 62| 48: [LocalVariableDeclStmt] var ...; # 62| 1: [LocalVariableDeclExpr] l1 # 62| 0: [DoubleLiteral] 1.0 # 63| 49: [LocalVariableDeclStmt] var ...; # 63| 1: [LocalVariableDeclExpr] l2 # 63| 0: [AddExpr] ... + ... # 63| 0: [VarAccess] lx # 63| 1: [VarAccess] ly # 64| 50: [LocalVariableDeclStmt] var ...; # 64| 1: [LocalVariableDeclExpr] l3 # 64| 0: [SubExpr] ... - ... # 64| 0: [VarAccess] lx # 64| 1: [VarAccess] ly # 65| 51: [LocalVariableDeclStmt] var ...; # 65| 1: [LocalVariableDeclExpr] l4 # 65| 0: [DivExpr] ... / ... # 65| 0: [VarAccess] lx # 65| 1: [VarAccess] ly # 66| 52: [LocalVariableDeclStmt] var ...; # 66| 1: [LocalVariableDeclExpr] l5 # 66| 0: [RemExpr] ... % ... # 66| 0: [VarAccess] lx # 66| 1: [VarAccess] ly # 67| 53: [LocalVariableDeclStmt] var ...; # 67| 1: [LocalVariableDeclExpr] l6 # 67| 0: [MethodAccess] shl(...) # 67| -1: [VarAccess] lx # 67| 0: [VarAccess] y # 68| 54: [LocalVariableDeclStmt] var ...; # 68| 1: [LocalVariableDeclExpr] l7 # 68| 0: [MethodAccess] shr(...) # 68| -1: [VarAccess] lx # 68| 0: [VarAccess] y # 69| 55: [LocalVariableDeclStmt] var ...; # 69| 1: [LocalVariableDeclExpr] l8 # 69| 0: [MethodAccess] ushr(...) # 69| -1: [VarAccess] lx # 69| 0: [VarAccess] y # 70| 56: [LocalVariableDeclStmt] var ...; # 70| 1: [LocalVariableDeclExpr] l9 # 70| 0: [MethodAccess] and(...) # 70| -1: [VarAccess] lx # 70| 0: [VarAccess] ly # 71| 57: [LocalVariableDeclStmt] var ...; # 71| 1: [LocalVariableDeclExpr] l10 # 71| 0: [MethodAccess] or(...) # 71| -1: [VarAccess] lx # 71| 0: [VarAccess] ly # 72| 58: [LocalVariableDeclStmt] var ...; # 72| 1: [LocalVariableDeclExpr] l11 # 72| 0: [MethodAccess] xor(...) # 72| -1: [VarAccess] lx # 72| 0: [VarAccess] ly # 73| 59: [LocalVariableDeclStmt] var ...; # 73| 1: [LocalVariableDeclExpr] l12 # 73| 0: [MethodAccess] inv(...) # 73| -1: [VarAccess] lx # 74| 60: [LocalVariableDeclStmt] var ...; # 74| 1: [LocalVariableDeclExpr] l13 # 74| 0: [ValueEQExpr] ... (value equals) ... # 74| 0: [VarAccess] lx # 74| 1: [VarAccess] ly # 75| 61: [LocalVariableDeclStmt] var ...; # 75| 1: [LocalVariableDeclExpr] l14 # 75| 0: [ValueNEExpr] ... (value not-equals) ... # 75| 0: [VarAccess] lx # 75| 1: [VarAccess] ly # 76| 62: [LocalVariableDeclStmt] var ...; # 76| 1: [LocalVariableDeclExpr] l15 # 76| 0: [LTExpr] ... < ... # 76| 0: [VarAccess] lx # 76| 1: [VarAccess] ly # 77| 63: [LocalVariableDeclStmt] var ...; # 77| 1: [LocalVariableDeclExpr] l16 # 77| 0: [LEExpr] ... <= ... # 77| 0: [VarAccess] lx # 77| 1: [VarAccess] ly # 78| 64: [LocalVariableDeclStmt] var ...; # 78| 1: [LocalVariableDeclExpr] l17 # 78| 0: [GTExpr] ... > ... # 78| 0: [VarAccess] lx # 78| 1: [VarAccess] ly # 79| 65: [LocalVariableDeclStmt] var ...; # 79| 1: [LocalVariableDeclExpr] l18 # 79| 0: [GEExpr] ... >= ... # 79| 0: [VarAccess] lx # 79| 1: [VarAccess] ly # 80| 66: [LocalVariableDeclStmt] var ...; # 80| 1: [LocalVariableDeclExpr] l19 # 80| 0: [EQExpr] ... == ... # 80| 0: [VarAccess] lx # 80| 1: [VarAccess] ly # 81| 67: [LocalVariableDeclStmt] var ...; # 81| 1: [LocalVariableDeclExpr] l20 # 81| 0: [NEExpr] ... != ... # 81| 0: [VarAccess] lx # 81| 1: [VarAccess] ly # 83| 68: [LocalVariableDeclStmt] var ...; # 83| 1: [LocalVariableDeclExpr] d1 # 83| 0: [DoubleLiteral] 1.0 # 84| 69: [LocalVariableDeclStmt] var ...; # 84| 1: [LocalVariableDeclExpr] d2 # 84| 0: [AddExpr] ... + ... # 84| 0: [VarAccess] dx # 84| 1: [VarAccess] dy # 85| 70: [LocalVariableDeclStmt] var ...; # 85| 1: [LocalVariableDeclExpr] d3 # 85| 0: [SubExpr] ... - ... # 85| 0: [VarAccess] dx # 85| 1: [VarAccess] dy # 86| 71: [LocalVariableDeclStmt] var ...; # 86| 1: [LocalVariableDeclExpr] d4 # 86| 0: [DivExpr] ... / ... # 86| 0: [VarAccess] dx # 86| 1: [VarAccess] dy # 87| 72: [LocalVariableDeclStmt] var ...; # 87| 1: [LocalVariableDeclExpr] d5 # 87| 0: [RemExpr] ... % ... # 87| 0: [VarAccess] dx # 87| 1: [VarAccess] dy # 88| 73: [LocalVariableDeclStmt] var ...; # 88| 1: [LocalVariableDeclExpr] d6 # 88| 0: [EQExpr] ... == ... # 88| 0: [VarAccess] dx # 88| 1: [VarAccess] dy # 89| 74: [LocalVariableDeclStmt] var ...; # 89| 1: [LocalVariableDeclExpr] d7 # 89| 0: [NEExpr] ... != ... # 89| 0: [VarAccess] dx # 89| 1: [VarAccess] dy # 90| 75: [LocalVariableDeclStmt] var ...; # 90| 1: [LocalVariableDeclExpr] d8 # 90| 0: [LTExpr] ... < ... # 90| 0: [VarAccess] dx # 90| 1: [VarAccess] dy # 91| 76: [LocalVariableDeclStmt] var ...; # 91| 1: [LocalVariableDeclExpr] d9 # 91| 0: [LEExpr] ... <= ... # 91| 0: [VarAccess] dx # 91| 1: [VarAccess] dy # 92| 77: [LocalVariableDeclStmt] var ...; # 92| 1: [LocalVariableDeclExpr] d10 # 92| 0: [GTExpr] ... > ... # 92| 0: [VarAccess] dx # 92| 1: [VarAccess] dy # 93| 78: [LocalVariableDeclStmt] var ...; # 93| 1: [LocalVariableDeclExpr] d11 # 93| 0: [GEExpr] ... >= ... # 93| 0: [VarAccess] dx # 93| 1: [VarAccess] dy # 94| 79: [LocalVariableDeclStmt] var ...; # 94| 1: [LocalVariableDeclExpr] d12 # 94| 0: [EQExpr] ... == ... # 94| 0: [VarAccess] dx # 94| 1: [VarAccess] dy # 95| 80: [LocalVariableDeclStmt] var ...; # 95| 1: [LocalVariableDeclExpr] d13 # 95| 0: [NEExpr] ... != ... # 95| 0: [VarAccess] dx # 95| 1: [VarAccess] dy # 97| 81: [LocalVariableDeclStmt] var ...; # 97| 1: [LocalVariableDeclExpr] f1 # 97| 0: [DoubleLiteral] 1.0 # 98| 82: [LocalVariableDeclStmt] var ...; # 98| 1: [LocalVariableDeclExpr] f2 # 98| 0: [AddExpr] ... + ... # 98| 0: [VarAccess] fx # 98| 1: [VarAccess] fy # 99| 83: [LocalVariableDeclStmt] var ...; # 99| 1: [LocalVariableDeclExpr] f3 # 99| 0: [SubExpr] ... - ... # 99| 0: [VarAccess] fx # 99| 1: [VarAccess] fy # 100| 84: [LocalVariableDeclStmt] var ...; # 100| 1: [LocalVariableDeclExpr] f4 # 100| 0: [DivExpr] ... / ... # 100| 0: [VarAccess] fx # 100| 1: [VarAccess] fy # 101| 85: [LocalVariableDeclStmt] var ...; # 101| 1: [LocalVariableDeclExpr] f5 # 101| 0: [RemExpr] ... % ... # 101| 0: [VarAccess] fx # 101| 1: [VarAccess] fy # 102| 86: [LocalVariableDeclStmt] var ...; # 102| 1: [LocalVariableDeclExpr] f6 # 102| 0: [EQExpr] ... == ... # 102| 0: [VarAccess] fx # 102| 1: [VarAccess] fy # 103| 87: [LocalVariableDeclStmt] var ...; # 103| 1: [LocalVariableDeclExpr] f7 # 103| 0: [NEExpr] ... != ... # 103| 0: [VarAccess] fx # 103| 1: [VarAccess] fy # 104| 88: [LocalVariableDeclStmt] var ...; # 104| 1: [LocalVariableDeclExpr] f8 # 104| 0: [LTExpr] ... < ... # 104| 0: [VarAccess] fx # 104| 1: [VarAccess] fy # 105| 89: [LocalVariableDeclStmt] var ...; # 105| 1: [LocalVariableDeclExpr] f9 # 105| 0: [LEExpr] ... <= ... # 105| 0: [VarAccess] fx # 105| 1: [VarAccess] fy # 106| 90: [LocalVariableDeclStmt] var ...; # 106| 1: [LocalVariableDeclExpr] f10 # 106| 0: [GTExpr] ... > ... # 106| 0: [VarAccess] fx # 106| 1: [VarAccess] fy # 107| 91: [LocalVariableDeclStmt] var ...; # 107| 1: [LocalVariableDeclExpr] f11 # 107| 0: [GEExpr] ... >= ... # 107| 0: [VarAccess] fx # 107| 1: [VarAccess] fy # 108| 92: [LocalVariableDeclStmt] var ...; # 108| 1: [LocalVariableDeclExpr] f12 # 108| 0: [EQExpr] ... == ... # 108| 0: [VarAccess] fx # 108| 1: [VarAccess] fy # 109| 93: [LocalVariableDeclStmt] var ...; # 109| 1: [LocalVariableDeclExpr] f13 # 109| 0: [NEExpr] ... != ... # 109| 0: [VarAccess] fx # 109| 1: [VarAccess] fy # 111| 94: [LocalVariableDeclStmt] var ...; # 111| 1: [LocalVariableDeclExpr] b1 # 111| 0: [BooleanLiteral] true # 112| 95: [LocalVariableDeclStmt] var ...; # 112| 1: [LocalVariableDeclExpr] b2 # 112| 0: [BooleanLiteral] false # 113| 96: [LocalVariableDeclStmt] var ...; # 113| 1: [LocalVariableDeclExpr] b3 # 113| 0: [AndLogicalExpr] ... && ... # 113| 0: [VarAccess] b1 # 113| 1: [VarAccess] b2 # 114| 97: [LocalVariableDeclStmt] var ...; # 114| 1: [LocalVariableDeclExpr] b4 # 114| 0: [OrLogicalExpr] ... || ... # 114| 0: [VarAccess] b1 # 114| 1: [VarAccess] b2 # 115| 98: [LocalVariableDeclStmt] var ...; # 115| 1: [LocalVariableDeclExpr] b5 # 115| 0: [MethodAccess] not(...) # 115| -1: [VarAccess] b1 # 117| 99: [LocalVariableDeclStmt] var ...; # 117| 1: [LocalVariableDeclExpr] c # 117| 0: [CharacterLiteral] x # 118| 100: [LocalVariableDeclStmt] var ...; # 118| 1: [LocalVariableDeclExpr] str # 118| 0: [StringLiteral] string lit # 119| 101: [LocalVariableDeclStmt] var ...; # 119| 1: [LocalVariableDeclExpr] strWithQuote # 119| 0: [StringLiteral] string " lit # 120| 102: [LocalVariableDeclStmt] var ...; # 120| 1: [LocalVariableDeclExpr] b6 # 120| 0: [InstanceOfExpr] ...instanceof... # 120| 0: [VarAccess] i1 # 120| 1: [TypeAccess] int # 121| 103: [LocalVariableDeclStmt] var ...; # 121| 1: [LocalVariableDeclExpr] b7 # 121| 0: [NotInstanceOfExpr] ... !is ... # 121| 0: [VarAccess] i1 # 121| 1: [TypeAccess] int # 122| 104: [LocalVariableDeclStmt] var ...; # 122| 1: [LocalVariableDeclExpr] b8 # 122| 0: [CastExpr] (...)... # 122| 0: [TypeAccess] boolean # 122| 1: [VarAccess] b7 # 123| 105: [LocalVariableDeclStmt] var ...; # 123| 1: [LocalVariableDeclExpr] str1 # 123| 0: [StringLiteral] string lit # 124| 106: [LocalVariableDeclStmt] var ...; # 124| 1: [LocalVariableDeclExpr] str2 # 124| 0: [StringLiteral] string lit # 125| 107: [LocalVariableDeclStmt] var ...; # 125| 1: [LocalVariableDeclExpr] str3 # 125| 0: [NullLiteral] null # 126| 108: [LocalVariableDeclStmt] var ...; # 126| 1: [LocalVariableDeclExpr] str4 # 126| 0: [StringTemplateExpr] "..." # 126| 0: [StringLiteral] foo # 126| 1: [VarAccess] str1 # 126| 2: [StringLiteral] bar # 126| 3: [VarAccess] str2 # 126| 4: [StringLiteral] baz # 127| 109: [LocalVariableDeclStmt] var ...; # 127| 1: [LocalVariableDeclExpr] str5 # 127| 0: [StringTemplateExpr] "..." # 127| 0: [StringLiteral] foo # 127| 1: [AddExpr] ... + ... # 127| 0: [VarAccess] str1 # 127| 1: [VarAccess] str2 # 127| 2: [StringLiteral] bar # 127| 3: [AddExpr] ... + ... # 127| 0: [VarAccess] str2 # 127| 1: [VarAccess] str1 # 127| 4: [StringLiteral] baz # 128| 110: [LocalVariableDeclStmt] var ...; # 128| 1: [LocalVariableDeclExpr] str6 # 128| 0: [AddExpr] ... + ... # 128| 0: [VarAccess] str1 # 128| 1: [VarAccess] str2 # 130| 111: [LocalVariableDeclStmt] var ...; # 130| 1: [LocalVariableDeclExpr] variable # 130| 0: [IntegerLiteral] 10 # 131| 112: [WhileStmt] while (...) # 131| 0: [GTExpr] ... > ... # 131| 0: [VarAccess] variable # 131| 1: [IntegerLiteral] 0 # 131| 1: [BlockStmt] { ... } # 132| 0: [ExprStmt] ; # 132| 0: [ImplicitCoercionToUnitExpr] # 132| 0: [TypeAccess] Unit # 132| 1: [StmtExpr] # 132| 0: [BlockStmt] { ... } # 132| 0: [LocalVariableDeclStmt] var ...; # 132| 1: [LocalVariableDeclExpr] tmp0 # 132| 0: [VarAccess] variable # 132| 1: [ExprStmt] ; # 132| 0: [AssignExpr] ...=... # 132| 0: [VarAccess] variable # 132| 1: [MethodAccess] dec(...) # 132| -1: [VarAccess] tmp0 # 132| 2: [ExprStmt] ; # 132| 0: [VarAccess] tmp0 # 135| 113: [ReturnStmt] return ... # 135| 0: [AddExpr] ... + ... # 135| 0: [IntegerLiteral] 123 # 135| 1: [IntegerLiteral] 456 # 138| 2: [Method] getClass # 138| 3: [TypeAccess] Unit # 138| 5: [BlockStmt] { ... } # 139| 0: [LocalVariableDeclStmt] var ...; # 139| 1: [LocalVariableDeclExpr] d # 139| 0: [ClassExpr] ::class # 139| 0: [BooleanLiteral] true # 150| 3: [Method] typeTests # 150| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 150| 0: [Parameter] x # 150| 0: [TypeAccess] Root # 150| 1: [Parameter] y # 150| 0: [TypeAccess] Subclass1 # 150| 5: [BlockStmt] { ... } # 151| 0: [ExprStmt] ; # 151| 0: [WhenExpr] when ... # 151| 0: [WhenBranch] ... -> ... # 151| 0: [InstanceOfExpr] ...instanceof... # 151| 0: [VarAccess] x # 151| 1: [TypeAccess] Subclass1 # 151| 1: [BlockStmt] { ... } # 152| 0: [LocalVariableDeclStmt] var ...; # 152| 1: [LocalVariableDeclExpr] x1 # 152| 0: [ImplicitCastExpr] # 152| 0: [TypeAccess] Subclass1 # 152| 1: [VarAccess] x # 154| 1: [LocalVariableDeclStmt] var ...; # 154| 1: [LocalVariableDeclExpr] y1 # 154| 0: [WhenExpr] when ... # 154| 0: [WhenBranch] ... -> ... # 154| 0: [InstanceOfExpr] ...instanceof... # 154| 0: [VarAccess] x # 154| 1: [TypeAccess] Subclass1 # 154| 1: [ExprStmt] ; # 154| 0: [ImplicitCastExpr] # 154| 0: [TypeAccess] Subclass1 # 154| 1: [StmtExpr] # 154| 0: [BlockStmt] { ... } # 154| 0: [ExprStmt] ; # 154| 0: [VarAccess] x # 154| 1: [WhenBranch] ... -> ... # 154| 0: [BooleanLiteral] true # 154| 1: [BlockStmt] { ... } # 154| 0: [ExprStmt] ; # 154| 0: [VarAccess] y # 155| 2: [LocalVariableDeclStmt] var ...; # 155| 1: [LocalVariableDeclExpr] q # 155| 0: [IntegerLiteral] 1 # 156| 3: [ExprStmt] ; # 156| 0: [WhenExpr] when ... # 156| 0: [WhenBranch] ... -> ... # 156| 0: [InstanceOfExpr] ...instanceof... # 156| 0: [VarAccess] x # 156| 1: [TypeAccess] Subclass1 # 156| 1: [BlockStmt] { ... } # 156| 0: [ExprStmt] ; # 156| 0: [AssignExpr] ...=... # 156| 0: [VarAccess] q # 156| 1: [IntegerLiteral] 2 # 156| 1: [WhenBranch] ... -> ... # 156| 0: [BooleanLiteral] true # 156| 1: [BlockStmt] { ... } # 156| 0: [ExprStmt] ; # 156| 0: [AssignExpr] ...=... # 156| 0: [VarAccess] q # 156| 1: [IntegerLiteral] 3 # 159| 4: [Method] foo # 159| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 159| 0: [Parameter] p # 159| 0: [TypeAccess] Polygon # 159| 5: [BlockStmt] { ... } # 160| 0: [LocalVariableDeclStmt] var ...; # 160| 1: [LocalVariableDeclExpr] r # 160| 0: [MethodAccess] getBounds(...) # 160| -1: [VarAccess] p # 161| 1: [ExprStmt] ; # 161| 0: [WhenExpr] when ... # 161| 0: [WhenBranch] ... -> ... # 161| 0: [ValueNEExpr] ... (value not-equals) ... # 161| 0: [VarAccess] r # 161| 1: [NullLiteral] null # 161| 1: [BlockStmt] { ... } # 162| 0: [LocalVariableDeclStmt] var ...; # 162| 1: [LocalVariableDeclExpr] r2 # 162| 0: [ImplicitNotNullExpr] # 162| 0: [TypeAccess] Rectangle # 162| 1: [VarAccess] r # 163| 1: [LocalVariableDeclStmt] var ...; # 163| 1: [LocalVariableDeclExpr] height # 163| 0: [VarAccess] r2.height # 163| -1: [VarAccess] r2 # 164| 2: [ExprStmt] ; # 164| 0: [AssignExpr] ...=... # 164| 0: [VarAccess] r2.height # 164| -1: [VarAccess] r2 # 164| 1: [IntegerLiteral] 3 # 178| 5: [Method] enums # 178| 3: [TypeAccess] Unit # 178| 5: [BlockStmt] { ... } # 179| 0: [LocalVariableDeclStmt] var ...; # 179| 1: [LocalVariableDeclExpr] south # 179| 0: [VarAccess] Direction.SOUTH # 179| -1: [TypeAccess] Direction # 180| 1: [LocalVariableDeclStmt] var ...; # 180| 1: [LocalVariableDeclExpr] green # 180| 0: [VarAccess] Color.GREEN # 180| -1: [TypeAccess] Color # 195| 6: [Method] notNullAssertion # 195| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 195| 0: [Parameter] x # 195| 0: [TypeAccess] Object # 195| 5: [BlockStmt] { ... } # 196| 0: [LocalVariableDeclStmt] var ...; # 196| 1: [LocalVariableDeclExpr] y # 196| 0: [NotNullExpr] ...!! # 196| 0: [VarAccess] x # 214| 7: [Method] todo # 214| 3: [TypeAccess] Unit # 214| 5: [BlockStmt] { ... } # 215| 0: [ExprStmt] ; # 215| 0: [MethodAccess] TODO(...) # 215| -1: [TypeAccess] StandardKt # 219| 8: [Method] fnClassRef # 219| 3: [TypeAccess] Unit # 219| 5: [BlockStmt] { ... } # 220| 0: [LocalVariableDeclStmt] var ...; # 220| 1: [LocalVariableDeclExpr] x # 220| 0: [TypeLiteral] SomeClass1.class # 220| 0: [TypeAccess] SomeClass1 # 223| 9: [Method] equalityTests # 223| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 223| 0: [Parameter] notNullPrimitive # 223| 0: [TypeAccess] int # 223| 1: [Parameter] nullablePrimitive # 223| 0: [TypeAccess] Integer # 223| 2: [Parameter] notNullReftype # 223| 0: [TypeAccess] String # 223| 3: [Parameter] nullableReftype # 223| 0: [TypeAccess] String # 223| 5: [BlockStmt] { ... } # 224| 0: [LocalVariableDeclStmt] var ...; # 224| 1: [LocalVariableDeclExpr] b1 # 224| 0: [ValueEQExpr] ... (value equals) ... # 224| 0: [VarAccess] notNullPrimitive # 224| 1: [VarAccess] notNullPrimitive # 225| 1: [LocalVariableDeclStmt] var ...; # 225| 1: [LocalVariableDeclExpr] b2 # 225| 0: [ValueEQExpr] ... (value equals) ... # 225| 0: [VarAccess] notNullPrimitive # 225| 1: [VarAccess] nullablePrimitive # 226| 2: [LocalVariableDeclStmt] var ...; # 226| 1: [LocalVariableDeclExpr] b3 # 226| 0: [ValueEQExpr] ... (value equals) ... # 226| 0: [VarAccess] nullablePrimitive # 226| 1: [VarAccess] nullablePrimitive # 227| 3: [LocalVariableDeclStmt] var ...; # 227| 1: [LocalVariableDeclExpr] b4 # 227| 0: [ValueEQExpr] ... (value equals) ... # 227| 0: [VarAccess] notNullReftype # 227| 1: [VarAccess] notNullReftype # 228| 4: [LocalVariableDeclStmt] var ...; # 228| 1: [LocalVariableDeclExpr] b5 # 228| 0: [ValueEQExpr] ... (value equals) ... # 228| 0: [VarAccess] notNullReftype # 228| 1: [VarAccess] nullableReftype # 229| 5: [LocalVariableDeclStmt] var ...; # 229| 1: [LocalVariableDeclExpr] b6 # 229| 0: [ValueEQExpr] ... (value equals) ... # 229| 0: [VarAccess] nullableReftype # 229| 1: [VarAccess] nullableReftype # 230| 6: [LocalVariableDeclStmt] var ...; # 230| 1: [LocalVariableDeclExpr] b7 # 230| 0: [ValueNEExpr] ... (value not-equals) ... # 230| 0: [VarAccess] notNullPrimitive # 230| 1: [VarAccess] notNullPrimitive # 231| 7: [LocalVariableDeclStmt] var ...; # 231| 1: [LocalVariableDeclExpr] b8 # 231| 0: [ValueNEExpr] ... (value not-equals) ... # 231| 0: [VarAccess] notNullPrimitive # 231| 1: [VarAccess] nullablePrimitive # 232| 8: [LocalVariableDeclStmt] var ...; # 232| 1: [LocalVariableDeclExpr] b9 # 232| 0: [ValueNEExpr] ... (value not-equals) ... # 232| 0: [VarAccess] nullablePrimitive # 232| 1: [VarAccess] nullablePrimitive # 233| 9: [LocalVariableDeclStmt] var ...; # 233| 1: [LocalVariableDeclExpr] b10 # 233| 0: [ValueNEExpr] ... (value not-equals) ... # 233| 0: [VarAccess] notNullReftype # 233| 1: [VarAccess] notNullReftype # 234| 10: [LocalVariableDeclStmt] var ...; # 234| 1: [LocalVariableDeclExpr] b11 # 234| 0: [ValueNEExpr] ... (value not-equals) ... # 234| 0: [VarAccess] notNullReftype # 234| 1: [VarAccess] nullableReftype # 235| 11: [LocalVariableDeclStmt] var ...; # 235| 1: [LocalVariableDeclExpr] b12 # 235| 0: [ValueNEExpr] ... (value not-equals) ... # 235| 0: [VarAccess] nullableReftype # 235| 1: [VarAccess] nullableReftype # 236| 12: [LocalVariableDeclStmt] var ...; # 236| 1: [LocalVariableDeclExpr] b13 # 236| 0: [ValueEQExpr] ... (value equals) ... # 236| 0: [VarAccess] notNullPrimitive # 236| 1: [NullLiteral] null # 237| 13: [LocalVariableDeclStmt] var ...; # 237| 1: [LocalVariableDeclExpr] b14 # 237| 0: [ValueEQExpr] ... (value equals) ... # 237| 0: [VarAccess] nullablePrimitive # 237| 1: [NullLiteral] null # 238| 14: [LocalVariableDeclStmt] var ...; # 238| 1: [LocalVariableDeclExpr] b15 # 238| 0: [ValueEQExpr] ... (value equals) ... # 238| 0: [VarAccess] notNullReftype # 238| 1: [NullLiteral] null # 239| 15: [LocalVariableDeclStmt] var ...; # 239| 1: [LocalVariableDeclExpr] b16 # 239| 0: [ValueEQExpr] ... (value equals) ... # 239| 0: [VarAccess] nullableReftype # 239| 1: [NullLiteral] null # 240| 16: [LocalVariableDeclStmt] var ...; # 240| 1: [LocalVariableDeclExpr] b17 # 240| 0: [ValueNEExpr] ... (value not-equals) ... # 240| 0: [VarAccess] notNullPrimitive # 240| 1: [NullLiteral] null # 241| 17: [LocalVariableDeclStmt] var ...; # 241| 1: [LocalVariableDeclExpr] b18 # 241| 0: [ValueNEExpr] ... (value not-equals) ... # 241| 0: [VarAccess] nullablePrimitive # 241| 1: [NullLiteral] null # 242| 18: [LocalVariableDeclStmt] var ...; # 242| 1: [LocalVariableDeclExpr] b19 # 242| 0: [ValueNEExpr] ... (value not-equals) ... # 242| 0: [VarAccess] notNullReftype # 242| 1: [NullLiteral] null # 243| 19: [LocalVariableDeclStmt] var ...; # 243| 1: [LocalVariableDeclExpr] b20 # 243| 0: [ValueNEExpr] ... (value not-equals) ... # 243| 0: [VarAccess] nullableReftype # 243| 1: [NullLiteral] null # 246| 10: [Method] mulOperators # 246| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 246| 0: [Parameter] x # 246| 0: [TypeAccess] int # 246| 1: [Parameter] y # 246| 0: [TypeAccess] int # 247| 2: [Parameter] byx # 247| 0: [TypeAccess] byte # 247| 3: [Parameter] byy # 247| 0: [TypeAccess] byte # 248| 4: [Parameter] sx # 248| 0: [TypeAccess] short # 248| 5: [Parameter] sy # 248| 0: [TypeAccess] short # 249| 6: [Parameter] lx # 249| 0: [TypeAccess] long # 249| 7: [Parameter] ly # 249| 0: [TypeAccess] long # 250| 8: [Parameter] dx # 250| 0: [TypeAccess] double # 250| 9: [Parameter] dy # 250| 0: [TypeAccess] double # 251| 10: [Parameter] fx # 251| 0: [TypeAccess] float # 251| 11: [Parameter] fy # 251| 0: [TypeAccess] float # 251| 5: [BlockStmt] { ... } # 253| 0: [LocalVariableDeclStmt] var ...; # 253| 1: [LocalVariableDeclExpr] i # 253| 0: [MulExpr] ... * ... # 253| 0: [VarAccess] x # 253| 1: [VarAccess] y # 254| 1: [LocalVariableDeclStmt] var ...; # 254| 1: [LocalVariableDeclExpr] b # 254| 0: [MulExpr] ... * ... # 254| 0: [VarAccess] byx # 254| 1: [VarAccess] byy # 255| 2: [LocalVariableDeclStmt] var ...; # 255| 1: [LocalVariableDeclExpr] l # 255| 0: [MulExpr] ... * ... # 255| 0: [VarAccess] lx # 255| 1: [VarAccess] ly # 256| 3: [LocalVariableDeclStmt] var ...; # 256| 1: [LocalVariableDeclExpr] d # 256| 0: [MulExpr] ... * ... # 256| 0: [VarAccess] dx # 256| 1: [VarAccess] dy # 257| 4: [LocalVariableDeclStmt] var ...; # 257| 1: [LocalVariableDeclExpr] f # 257| 0: [MulExpr] ... * ... # 257| 0: [VarAccess] fx # 257| 1: [VarAccess] fy # 261| 11: [Method] inPlaceOperators # 261| 3: [TypeAccess] Unit # 261| 5: [BlockStmt] { ... } # 263| 0: [LocalVariableDeclStmt] var ...; # 263| 1: [LocalVariableDeclExpr] updated # 263| 0: [IntegerLiteral] 0 # 264| 1: [ExprStmt] ; # 264| 0: [AssignAddExpr] ...+=... # 264| 0: [VarAccess] updated # 264| 1: [IntegerLiteral] 1 # 265| 2: [ExprStmt] ; # 265| 0: [AssignSubExpr] ...-=... # 265| 0: [VarAccess] updated # 265| 1: [IntegerLiteral] 1 # 266| 3: [ExprStmt] ; # 266| 0: [AssignMulExpr] ...*=... # 266| 0: [VarAccess] updated # 266| 1: [IntegerLiteral] 1 # 267| 4: [ExprStmt] ; # 267| 0: [AssignDivExpr] .../=... # 267| 0: [VarAccess] updated # 267| 1: [IntegerLiteral] 1 # 268| 5: [ExprStmt] ; # 268| 0: [AssignRemExpr] ...%=... # 268| 0: [VarAccess] updated # 268| 1: [IntegerLiteral] 1 # 142| 2: [Class] C # 142| 1: [Constructor] C #-----| 4: (Parameters) # 142| 0: [Parameter] n # 142| 0: [TypeAccess] int # 142| 5: [BlockStmt] { ... } # 142| 0: [SuperConstructorInvocationStmt] super(...) # 142| 1: [BlockStmt] { ... } # 142| 0: [ExprStmt] ; # 142| 0: [KtInitializerAssignExpr] ...=... # 142| 0: [VarAccess] n # 142| 2: [Method] getN # 142| 3: [TypeAccess] int # 142| 5: [BlockStmt] { ... } # 142| 0: [ReturnStmt] return ... # 142| 0: [VarAccess] this.n # 142| -1: [ThisAccess] this # 142| 2: [FieldDeclaration] int n; # 142| -1: [TypeAccess] int # 142| 0: [VarAccess] n # 143| 4: [Method] foo # 143| 3: [TypeAccess] C # 143| 5: [BlockStmt] { ... } # 143| 0: [ReturnStmt] return ... # 143| 0: [ClassInstanceExpr] new C(...) # 143| -3: [TypeAccess] C # 143| 0: [IntegerLiteral] 42 # 146| 3: [Class] Root # 146| 1: [Constructor] Root # 146| 5: [BlockStmt] { ... } # 146| 0: [SuperConstructorInvocationStmt] super(...) # 146| 1: [BlockStmt] { ... } # 147| 4: [Class] Subclass1 # 147| 1: [Constructor] Subclass1 # 147| 5: [BlockStmt] { ... } # 147| 0: [SuperConstructorInvocationStmt] super(...) # 147| 1: [BlockStmt] { ... } # 148| 5: [Class] Subclass2 # 148| 1: [Constructor] Subclass2 # 148| 5: [BlockStmt] { ... } # 148| 0: [SuperConstructorInvocationStmt] super(...) # 148| 1: [BlockStmt] { ... } # 168| 6: [Class] Direction # 0| 1: [Method] values # 0| 3: [TypeAccess] Direction[] # 0| 0: [TypeAccess] Direction # 0| 1: [Method] valueOf # 0| 3: [TypeAccess] Direction #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String # 168| 4: [Constructor] Direction # 168| 5: [BlockStmt] { ... } # 168| 0: [ExprStmt] ; # 168| 0: [ClassInstanceExpr] new Enum(...) # 168| -3: [TypeAccess] Unit # 168| 0: [TypeAccess] Direction # 168| 1: [BlockStmt] { ... } # 169| 5: [FieldDeclaration] Direction NORTH; # 169| -1: [TypeAccess] Direction # 169| 0: [ClassInstanceExpr] new Direction(...) # 169| -3: [TypeAccess] Direction # 169| 6: [FieldDeclaration] Direction SOUTH; # 169| -1: [TypeAccess] Direction # 169| 0: [ClassInstanceExpr] new Direction(...) # 169| -3: [TypeAccess] Direction # 169| 7: [FieldDeclaration] Direction WEST; # 169| -1: [TypeAccess] Direction # 169| 0: [ClassInstanceExpr] new Direction(...) # 169| -3: [TypeAccess] Direction # 169| 8: [FieldDeclaration] Direction EAST; # 169| -1: [TypeAccess] Direction # 169| 0: [ClassInstanceExpr] new Direction(...) # 169| -3: [TypeAccess] Direction # 172| 7: [Class] Color # 0| 1: [Method] values # 0| 3: [TypeAccess] Color[] # 0| 0: [TypeAccess] Color # 0| 1: [Method] valueOf # 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String # 172| 4: [Constructor] Color #-----| 4: (Parameters) # 172| 0: [Parameter] rgb # 172| 0: [TypeAccess] int # 172| 5: [BlockStmt] { ... } # 172| 0: [ExprStmt] ; # 172| 0: [ClassInstanceExpr] new Enum(...) # 172| -3: [TypeAccess] Unit # 172| 0: [TypeAccess] Color # 172| 1: [BlockStmt] { ... } # 172| 0: [ExprStmt] ; # 172| 0: [KtInitializerAssignExpr] ...=... # 172| 0: [VarAccess] rgb # 172| 5: [Method] getRgb # 172| 3: [TypeAccess] int # 172| 5: [BlockStmt] { ... } # 172| 0: [ReturnStmt] return ... # 172| 0: [VarAccess] this.rgb # 172| -1: [ThisAccess] this # 172| 5: [FieldDeclaration] int rgb; # 172| -1: [TypeAccess] int # 172| 0: [VarAccess] rgb # 173| 7: [FieldDeclaration] Color RED; # 173| -1: [TypeAccess] Color # 173| 0: [ClassInstanceExpr] new Color(...) # 173| -3: [TypeAccess] Color # 173| 0: [IntegerLiteral] 16711680 # 174| 8: [FieldDeclaration] Color GREEN; # 174| -1: [TypeAccess] Color # 174| 0: [ClassInstanceExpr] new Color(...) # 174| -3: [TypeAccess] Color # 174| 0: [IntegerLiteral] 65280 # 175| 9: [FieldDeclaration] Color BLUE; # 175| -1: [TypeAccess] Color # 175| 0: [ClassInstanceExpr] new Color(...) # 175| -3: [TypeAccess] Color # 175| 0: [IntegerLiteral] 255 # 183| 8: [Interface] Interface1 # 185| 9: [Class] Class1 # 185| 1: [Constructor] Class1 # 185| 5: [BlockStmt] { ... } # 185| 0: [SuperConstructorInvocationStmt] super(...) # 185| 1: [BlockStmt] { ... } # 186| 0: [ExprStmt] ; # 186| 0: [KtInitializerAssignExpr] ...=... # 186| 0: [VarAccess] a1 # 186| 2: [Method] getA1 # 186| 3: [TypeAccess] int # 186| 5: [BlockStmt] { ... } # 186| 0: [ReturnStmt] return ... # 186| 0: [VarAccess] this.a1 # 186| -1: [ThisAccess] this # 186| 2: [FieldDeclaration] int a1; # 186| -1: [TypeAccess] int # 186| 0: [IntegerLiteral] 1 # 187| 4: [Method] getObject # 187| 3: [TypeAccess] Object # 187| 5: [BlockStmt] { ... } # 188| 0: [LocalVariableDeclStmt] var ...; # 188| 1: [LocalVariableDeclExpr] a2 # 188| 0: [IntegerLiteral] 2 # 189| 1: [ReturnStmt] return ... # 189| 0: [StmtExpr] # 189| 0: [BlockStmt] { ... } # 189| 0: [LocalTypeDeclStmt] class ... # 189| 0: [AnonymousClass,LocalClass] new Interface1(...) { ... } # 189| 1: [Constructor] # 189| 5: [BlockStmt] { ... } # 189| 0: [SuperConstructorInvocationStmt] super(...) # 189| 1: [BlockStmt] { ... } # 190| 0: [ExprStmt] ; # 190| 0: [KtInitializerAssignExpr] ...=... # 190| 0: [VarAccess] a3 # 190| 2: [Method] getA3 # 190| 3: [TypeAccess] String # 190| 5: [BlockStmt] { ... } # 190| 0: [ReturnStmt] return ... # 190| 0: [VarAccess] this.a3 # 190| -1: [ThisAccess] this # 190| 2: [FieldDeclaration] String a3; # 190| -1: [TypeAccess] String # 190| 0: [MethodAccess] toString(...) # 190| -1: [AddExpr] ... + ... # 190| 0: [MethodAccess] getA1(...) # 190| -1: [ThisAccess] this # 190| 1: [VarAccess] a2 # 189| 1: [ExprStmt] ; # 189| 0: [ClassInstanceExpr] new (...) # 189| -3: [TypeAccess] Interface1 # 199| 10: [Class] Class2 # 199| 1: [Constructor] Class2 # 199| 5: [BlockStmt] { ... } # 199| 0: [SuperConstructorInvocationStmt] super(...) # 199| 1: [BlockStmt] { ... } # 200| 2: [Method] x # 200| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 200| 0: [Parameter] aa # 200| 0: [TypeAccess] Object # 200| 1: [Parameter] s # 200| 0: [TypeAccess] String # 200| 5: [BlockStmt] { ... } # 202| 0: [LocalVariableDeclStmt] var ...; # 202| 1: [LocalVariableDeclExpr] a # 202| 0: [MethodAccess] valueOf(...) # 202| -1: [TypeAccess] String # 202| 0: [VarAccess] aa # 203| 1: [LocalVariableDeclStmt] var ...; # 203| 1: [LocalVariableDeclExpr] b0 # 203| 0: [MethodAccess] stringPlus(...) # 203| -1: [TypeAccess] Intrinsics # 203| 0: [VarAccess] s # 203| 1: [IntegerLiteral] 5 # 204| 2: [LocalVariableDeclStmt] var ...; # 204| 1: [LocalVariableDeclExpr] b1 # 204| 0: [AddExpr] ... + ... # 204| 0: [VarAccess] s # 204| 1: [IntegerLiteral] 5 # 205| 3: [LocalVariableDeclStmt] var ...; # 205| 1: [LocalVariableDeclExpr] b2 # 205| 0: [MethodAccess] plus(...) # 205| -1: [NotNullExpr] ...!! # 205| 0: [VarAccess] s # 205| 0: [IntegerLiteral] 5 # 206| 4: [LocalVariableDeclStmt] var ...; # 206| 1: [LocalVariableDeclExpr] b3 # 206| 0: [AddExpr] ... + ... # 206| 0: [NotNullExpr] ...!! # 206| 0: [VarAccess] s # 206| 1: [IntegerLiteral] 5 # 207| 5: [LocalVariableDeclStmt] var ...; # 207| 1: [LocalVariableDeclExpr] c0 # 207| 0: [MethodAccess] values(...) # 207| -1: [TypeAccess] Color # 208| 6: [LocalVariableDeclStmt] var ...; # 208| 1: [LocalVariableDeclExpr] c1 # 208| 0: [MethodAccess] values(...) # 208| -1: [TypeAccess] Color # 209| 7: [LocalVariableDeclStmt] var ...; # 209| 1: [LocalVariableDeclExpr] d0 # 209| 0: [MethodAccess] valueOf(...) # 209| -1: [TypeAccess] Color # 209| 0: [StringLiteral] GREEN # 210| 8: [LocalVariableDeclStmt] var ...; # 210| 1: [LocalVariableDeclExpr] d1 # 210| 0: [MethodAccess] valueOf(...) # 210| -1: [TypeAccess] Color # 210| 0: [StringLiteral] GREEN # 218| 11: [Class] SomeClass1 # 218| 1: [Constructor] SomeClass1 # 218| 5: [BlockStmt] { ... } # 218| 0: [SuperConstructorInvocationStmt] super(...) # 218| 1: [BlockStmt] { ... } funcExprs.kt: # 0| [CompilationUnit] funcExprs # 0| 1: [Class] FuncExprsKt # 1| 1: [Method] functionExpression0a # 1| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 1| 0: [Parameter] f # 1| 0: [TypeAccess] Function0 # 1| 0: [TypeAccess] Integer # 1| 5: [BlockStmt] { ... } # 1| 0: [ExprStmt] ; # 1| 0: [ImplicitCoercionToUnitExpr] # 1| 0: [TypeAccess] Unit # 1| 1: [MethodAccess] invoke(...) # 1| -1: [VarAccess] f # 2| 2: [Method] functionExpression0b # 2| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 2| 0: [Parameter] f # 2| 0: [TypeAccess] Function0 # 2| 0: [TypeAccess] Object # 2| 5: [BlockStmt] { ... } # 2| 0: [ExprStmt] ; # 2| 0: [ImplicitCoercionToUnitExpr] # 2| 0: [TypeAccess] Unit # 2| 1: [MethodAccess] invoke(...) # 2| -1: [VarAccess] f # 3| 3: [Method] functionExpression0c # 3| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 3| 0: [Parameter] f # 3| 0: [TypeAccess] Function0 # 3| 0: [TypeAccess] Object # 3| 5: [BlockStmt] { ... } # 3| 0: [ExprStmt] ; # 3| 0: [ImplicitCoercionToUnitExpr] # 3| 0: [TypeAccess] Unit # 3| 1: [MethodAccess] invoke(...) # 3| -1: [VarAccess] f # 4| 4: [Method] functionExpression1a # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] x # 4| 0: [TypeAccess] int # 4| 1: [Parameter] f # 4| 0: [TypeAccess] Function1 # 4| 0: [TypeAccess] Integer # 4| 1: [TypeAccess] Integer # 4| 5: [BlockStmt] { ... } # 4| 0: [ExprStmt] ; # 4| 0: [ImplicitCoercionToUnitExpr] # 4| 0: [TypeAccess] Unit # 4| 1: [MethodAccess] invoke(...) # 4| -1: [VarAccess] f # 4| 0: [VarAccess] x # 5| 5: [Method] functionExpression1b # 5| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 5| 0: [Parameter] x # 5| 0: [TypeAccess] int # 5| 1: [Parameter] f # 5| 0: [TypeAccess] Function1 # 5| 0: [TypeAccess] Object # 5| 1: [TypeAccess] Object # 5| 5: [BlockStmt] { ... } # 5| 0: [ExprStmt] ; # 5| 0: [ImplicitCoercionToUnitExpr] # 5| 0: [TypeAccess] Unit # 5| 1: [MethodAccess] invoke(...) # 5| -1: [VarAccess] f # 5| 0: [VarAccess] x # 6| 6: [Method] functionExpression1c # 6| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 6| 0: [Parameter] x # 6| 0: [TypeAccess] int # 6| 1: [Parameter] f # 6| 0: [TypeAccess] Function2 # 6| 0: [TypeAccess] FuncRef # 6| 1: [TypeAccess] Integer # 6| 2: [TypeAccess] Integer # 6| 5: [BlockStmt] { ... } # 6| 0: [ExprStmt] ; # 6| 0: [ImplicitCoercionToUnitExpr] # 6| 0: [TypeAccess] Unit # 6| 1: [MethodAccess] invoke(...) # 6| -1: [VarAccess] f # 6| 0: [ClassInstanceExpr] new FuncRef(...) # 6| -3: [TypeAccess] FuncRef # 6| 1: [VarAccess] x # 7| 7: [Method] functionExpression2 # 7| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 7| 0: [Parameter] x # 7| 0: [TypeAccess] int # 7| 1: [Parameter] f # 7| 0: [TypeAccess] Function2 # 7| 0: [TypeAccess] Integer # 7| 1: [TypeAccess] Integer # 7| 2: [TypeAccess] Integer # 7| 5: [BlockStmt] { ... } # 7| 0: [ExprStmt] ; # 7| 0: [ImplicitCoercionToUnitExpr] # 7| 0: [TypeAccess] Unit # 7| 1: [MethodAccess] invoke(...) # 7| -1: [VarAccess] f # 7| 0: [VarAccess] x # 7| 1: [VarAccess] x # 8| 8: [Method] functionExpression3 # 8| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 8| 0: [Parameter] x # 8| 0: [TypeAccess] int # 8| 1: [Parameter] f # 8| 0: [TypeAccess] Function2 # 8| 0: [TypeAccess] Integer # 8| 1: [TypeAccess] Integer # 8| 2: [TypeAccess] Integer # 8| 5: [BlockStmt] { ... } # 8| 0: [ExprStmt] ; # 8| 0: [ImplicitCoercionToUnitExpr] # 8| 0: [TypeAccess] Unit # 8| 1: [MethodAccess] invoke(...) # 8| -1: [VarAccess] f # 8| 0: [VarAccess] x # 8| 1: [VarAccess] x # 9| 9: [Method] functionExpression4 # 9| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 9| 0: [Parameter] x # 9| 0: [TypeAccess] int # 9| 1: [Parameter] f # 9| 0: [TypeAccess] Function1> # 9| 0: [TypeAccess] Integer # 9| 1: [TypeAccess] Function1 # 9| 0: [TypeAccess] Integer # 9| 1: [TypeAccess] Double # 9| 5: [BlockStmt] { ... } # 9| 0: [ExprStmt] ; # 9| 0: [ImplicitCoercionToUnitExpr] # 9| 0: [TypeAccess] Unit # 9| 1: [MethodAccess] invoke(...) # 9| -1: [MethodAccess] invoke(...) # 9| -1: [VarAccess] f # 9| 0: [VarAccess] x # 9| 0: [VarAccess] x # 11| 10: [Method] functionExpression22 # 11| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 11| 0: [Parameter] x # 11| 0: [TypeAccess] int # 11| 1: [Parameter] f # 11| 0: [TypeAccess] Function22 # 11| 0: [TypeAccess] Integer # 11| 1: [TypeAccess] Integer # 11| 2: [TypeAccess] Integer # 11| 3: [TypeAccess] Integer # 11| 4: [TypeAccess] Integer # 11| 5: [TypeAccess] Integer # 11| 6: [TypeAccess] Integer # 11| 7: [TypeAccess] Integer # 11| 8: [TypeAccess] Integer # 11| 9: [TypeAccess] Integer # 11| 10: [TypeAccess] Integer # 11| 11: [TypeAccess] Integer # 11| 12: [TypeAccess] Integer # 11| 13: [TypeAccess] Integer # 11| 14: [TypeAccess] Integer # 11| 15: [TypeAccess] Integer # 11| 16: [TypeAccess] Integer # 11| 17: [TypeAccess] Integer # 11| 18: [TypeAccess] Integer # 11| 19: [TypeAccess] Integer # 11| 20: [TypeAccess] Integer # 11| 21: [TypeAccess] Integer # 11| 22: [TypeAccess] Unit # 11| 5: [BlockStmt] { ... } # 12| 0: [ExprStmt] ; # 12| 0: [MethodAccess] invoke(...) # 12| -1: [VarAccess] f # 12| 0: [VarAccess] x # 12| 1: [VarAccess] x # 12| 2: [VarAccess] x # 12| 3: [VarAccess] x # 12| 4: [VarAccess] x # 12| 5: [VarAccess] x # 12| 6: [VarAccess] x # 12| 7: [VarAccess] x # 12| 8: [VarAccess] x # 12| 9: [VarAccess] x # 12| 10: [VarAccess] x # 12| 11: [VarAccess] x # 12| 12: [VarAccess] x # 12| 13: [VarAccess] x # 12| 14: [VarAccess] x # 12| 15: [VarAccess] x # 12| 16: [VarAccess] x # 12| 17: [VarAccess] x # 12| 18: [VarAccess] x # 12| 19: [VarAccess] x # 12| 20: [VarAccess] x # 12| 21: [VarAccess] x # 14| 11: [Method] functionExpression23 # 14| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 14| 0: [Parameter] x # 14| 0: [TypeAccess] int # 14| 1: [Parameter] f # 14| 0: [TypeAccess] FunctionN # 14| 0: [TypeAccess] Integer # 14| 1: [TypeAccess] Integer # 14| 2: [TypeAccess] Integer # 14| 3: [TypeAccess] Integer # 14| 4: [TypeAccess] Integer # 14| 5: [TypeAccess] Integer # 14| 6: [TypeAccess] Integer # 14| 7: [TypeAccess] Integer # 14| 8: [TypeAccess] Integer # 14| 9: [TypeAccess] Integer # 14| 10: [TypeAccess] Integer # 14| 11: [TypeAccess] Integer # 14| 12: [TypeAccess] Integer # 14| 13: [TypeAccess] Integer # 14| 14: [TypeAccess] Integer # 14| 15: [TypeAccess] Integer # 14| 16: [TypeAccess] Integer # 14| 17: [TypeAccess] Integer # 14| 18: [TypeAccess] Integer # 14| 19: [TypeAccess] Integer # 14| 20: [TypeAccess] Integer # 14| 21: [TypeAccess] Integer # 14| 22: [TypeAccess] Integer # 14| 23: [TypeAccess] String # 14| 5: [BlockStmt] { ... } # 15| 0: [ExprStmt] ; # 15| 0: [ImplicitCoercionToUnitExpr] # 15| 0: [TypeAccess] Unit # 15| 1: [MethodAccess] invoke(...) # 15| -1: [VarAccess] f # 15| 0: [ArrayCreationExpr] new Object[] # 15| -2: [ArrayInit] {...} # 15| 0: [VarAccess] x # 15| 1: [VarAccess] x # 15| 2: [VarAccess] x # 15| 3: [VarAccess] x # 15| 4: [VarAccess] x # 15| 5: [VarAccess] x # 15| 6: [VarAccess] x # 15| 7: [VarAccess] x # 15| 8: [VarAccess] x # 15| 9: [VarAccess] x # 15| 10: [VarAccess] x # 15| 11: [VarAccess] x # 15| 12: [VarAccess] x # 15| 13: [VarAccess] x # 15| 14: [VarAccess] x # 15| 15: [VarAccess] x # 15| 16: [VarAccess] x # 15| 17: [VarAccess] x # 15| 18: [VarAccess] x # 15| 19: [VarAccess] x # 15| 20: [VarAccess] x # 15| 21: [VarAccess] x # 15| 22: [VarAccess] x # 15| -1: [TypeAccess] Object # 15| 0: [IntegerLiteral] 23 # 17| 12: [Method] functionExpression23c # 17| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 17| 0: [Parameter] x # 17| 0: [TypeAccess] int # 17| 1: [Parameter] f # 17| 0: [TypeAccess] FunctionN # 17| 0: [TypeAccess] FuncRef # 17| 1: [TypeAccess] Integer # 17| 2: [TypeAccess] Integer # 17| 3: [TypeAccess] Integer # 17| 4: [TypeAccess] Integer # 17| 5: [TypeAccess] Integer # 17| 6: [TypeAccess] Integer # 17| 7: [TypeAccess] Integer # 17| 8: [TypeAccess] Integer # 17| 9: [TypeAccess] Integer # 17| 10: [TypeAccess] Integer # 17| 11: [TypeAccess] Integer # 17| 12: [TypeAccess] Integer # 17| 13: [TypeAccess] Integer # 17| 14: [TypeAccess] Integer # 17| 15: [TypeAccess] Integer # 17| 16: [TypeAccess] Integer # 17| 17: [TypeAccess] Integer # 17| 18: [TypeAccess] Integer # 17| 19: [TypeAccess] Integer # 17| 20: [TypeAccess] Integer # 17| 21: [TypeAccess] Integer # 17| 22: [TypeAccess] Integer # 17| 23: [TypeAccess] Integer # 17| 24: [TypeAccess] String # 17| 5: [BlockStmt] { ... } # 18| 0: [ExprStmt] ; # 18| 0: [ImplicitCoercionToUnitExpr] # 18| 0: [TypeAccess] Unit # 18| 1: [MethodAccess] invoke(...) # 18| -1: [VarAccess] f # 18| 0: [ArrayCreationExpr] new Object[] # 18| -2: [ArrayInit] {...} # 18| 0: [ClassInstanceExpr] new FuncRef(...) # 18| -3: [TypeAccess] FuncRef # 18| 1: [VarAccess] x # 18| 2: [VarAccess] x # 18| 3: [VarAccess] x # 18| 4: [VarAccess] x # 18| 5: [VarAccess] x # 18| 6: [VarAccess] x # 18| 7: [VarAccess] x # 18| 8: [VarAccess] x # 18| 9: [VarAccess] x # 18| 10: [VarAccess] x # 18| 11: [VarAccess] x # 18| 12: [VarAccess] x # 18| 13: [VarAccess] x # 18| 14: [VarAccess] x # 18| 15: [VarAccess] x # 18| 16: [VarAccess] x # 18| 17: [VarAccess] x # 18| 18: [VarAccess] x # 18| 19: [VarAccess] x # 18| 20: [VarAccess] x # 18| 21: [VarAccess] x # 18| 22: [VarAccess] x # 18| 23: [VarAccess] x # 18| -1: [TypeAccess] Object # 18| 0: [IntegerLiteral] 24 # 21| 13: [Method] call # 21| 3: [TypeAccess] Unit # 21| 5: [BlockStmt] { ... } # 22| 0: [ExprStmt] ; # 22| 0: [MethodAccess] functionExpression0a(...) # 22| -1: [TypeAccess] FuncExprsKt # 22| 0: [LambdaExpr] ...->... # 22| -4: [AnonymousClass] new Function0(...) { ... } # 22| 1: [Constructor] # 22| 5: [BlockStmt] { ... } # 22| 0: [SuperConstructorInvocationStmt] super(...) # 22| 1: [Method] invoke # 22| 3: [TypeAccess] int # 22| 5: [BlockStmt] { ... } # 22| 0: [ReturnStmt] return ... # 22| 0: [IntegerLiteral] 5 # 22| -3: [TypeAccess] Function0 # 22| 0: [TypeAccess] Integer # 23| 1: [ExprStmt] ; # 23| 0: [MethodAccess] functionExpression0b(...) # 23| -1: [TypeAccess] FuncExprsKt # 23| 0: [LambdaExpr] ...->... # 23| -4: [AnonymousClass] new Function0(...) { ... } # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) # 23| 1: [Method] invoke # 23| 3: [TypeAccess] Object # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [IntegerLiteral] 5 # 23| -3: [TypeAccess] Function0 # 23| 0: [TypeAccess] Object # 24| 2: [ExprStmt] ; # 24| 0: [MethodAccess] functionExpression0c(...) # 24| -1: [TypeAccess] FuncExprsKt # 24| 0: [LambdaExpr] ...->... # 24| -4: [AnonymousClass] new Function0(...) { ... } # 24| 1: [Constructor] # 24| 5: [BlockStmt] { ... } # 24| 0: [SuperConstructorInvocationStmt] super(...) # 24| 1: [Method] invoke # 24| 3: [TypeAccess] Object # 24| 5: [BlockStmt] { ... } # 24| 0: [ReturnStmt] return ... # 24| 0: [IntegerLiteral] 5 # 24| -3: [TypeAccess] Function0 # 24| 0: [TypeAccess] Object # 25| 3: [ExprStmt] ; # 25| 0: [MethodAccess] functionExpression1a(...) # 25| -1: [TypeAccess] FuncExprsKt # 25| 0: [IntegerLiteral] 5 # 25| 1: [LambdaExpr] ...->... # 25| -4: [AnonymousClass] new Function1(...) { ... } # 25| 1: [Constructor] # 25| 5: [BlockStmt] { ... } # 25| 0: [SuperConstructorInvocationStmt] super(...) # 25| 1: [Method] invoke # 25| 3: [TypeAccess] int #-----| 4: (Parameters) # 25| 0: [Parameter] a # 25| 0: [TypeAccess] int # 25| 5: [BlockStmt] { ... } # 25| 0: [ReturnStmt] return ... # 25| 0: [IntegerLiteral] 5 # 25| -3: [TypeAccess] Function1 # 25| 0: [TypeAccess] Integer # 25| 1: [TypeAccess] Integer # 26| 4: [ExprStmt] ; # 26| 0: [MethodAccess] functionExpression1a(...) # 26| -1: [TypeAccess] FuncExprsKt # 26| 0: [IntegerLiteral] 5 # 26| 1: [LambdaExpr] ...->... # 26| -4: [AnonymousClass] new Function1(...) { ... } # 26| 1: [Constructor] # 26| 5: [BlockStmt] { ... } # 26| 0: [SuperConstructorInvocationStmt] super(...) # 26| 1: [Method] invoke # 26| 3: [TypeAccess] int #-----| 4: (Parameters) # 26| 0: [Parameter] it # 26| 0: [TypeAccess] int # 26| 5: [BlockStmt] { ... } # 26| 0: [ReturnStmt] return ... # 26| 0: [VarAccess] it # 26| -3: [TypeAccess] Function1 # 26| 0: [TypeAccess] Integer # 26| 1: [TypeAccess] Integer # 27| 5: [ExprStmt] ; # 27| 0: [MethodAccess] functionExpression1a(...) # 27| -1: [TypeAccess] FuncExprsKt # 27| 0: [IntegerLiteral] 5 # 27| 1: [LambdaExpr] ...->... # 27| -4: [AnonymousClass] new Function1(...) { ... } # 27| 1: [Constructor] # 27| 5: [BlockStmt] { ... } # 27| 0: [SuperConstructorInvocationStmt] super(...) # 27| 1: [Method] invoke # 27| 3: [TypeAccess] int #-----| 4: (Parameters) # 27| 0: [Parameter] # 27| 0: [TypeAccess] int # 27| 5: [BlockStmt] { ... } # 27| 0: [ReturnStmt] return ... # 27| 0: [IntegerLiteral] 5 # 27| -3: [TypeAccess] Function1 # 27| 0: [TypeAccess] Integer # 27| 1: [TypeAccess] Integer # 28| 6: [ExprStmt] ; # 28| 0: [MethodAccess] functionExpression1a(...) # 28| -1: [TypeAccess] FuncExprsKt # 28| 0: [IntegerLiteral] 5 # 28| 1: [ClassInstanceExpr] new MyLambda(...) # 28| -3: [TypeAccess] MyLambda # 29| 7: [ExprStmt] ; # 29| 0: [MethodAccess] functionExpression1b(...) # 29| -1: [TypeAccess] FuncExprsKt # 29| 0: [IntegerLiteral] 5 # 29| 1: [LambdaExpr] ...->... # 29| -4: [AnonymousClass] new Function1(...) { ... } # 29| 1: [Constructor] # 29| 5: [BlockStmt] { ... } # 29| 0: [SuperConstructorInvocationStmt] super(...) # 29| 1: [Method] invoke # 29| 3: [TypeAccess] Object #-----| 4: (Parameters) # 29| 0: [Parameter] a # 29| 0: [TypeAccess] Object # 29| 5: [BlockStmt] { ... } # 29| 0: [ReturnStmt] return ... # 29| 0: [VarAccess] a # 29| -3: [TypeAccess] Function1 # 29| 0: [TypeAccess] Object # 29| 1: [TypeAccess] Object # 30| 8: [ExprStmt] ; # 30| 0: [MethodAccess] functionExpression2(...) # 30| -1: [TypeAccess] FuncExprsKt # 30| 0: [IntegerLiteral] 5 # 30| 1: [LambdaExpr] ...->... # 30| -4: [AnonymousClass] new Function2(...) { ... } # 30| 1: [Constructor] # 30| 5: [BlockStmt] { ... } # 30| 0: [SuperConstructorInvocationStmt] super(...) # 30| 1: [Method] invoke # 30| 3: [TypeAccess] int #-----| 4: (Parameters) # 30| 0: [Parameter] # 30| 0: [TypeAccess] int # 30| 1: [Parameter] # 30| 0: [TypeAccess] int # 30| 5: [BlockStmt] { ... } # 30| 0: [ReturnStmt] return ... # 30| 0: [IntegerLiteral] 5 # 30| -3: [TypeAccess] Function2 # 30| 0: [TypeAccess] Integer # 30| 1: [TypeAccess] Integer # 30| 2: [TypeAccess] Integer # 31| 9: [ExprStmt] ; # 31| 0: [MethodAccess] functionExpression2(...) # 31| -1: [TypeAccess] FuncExprsKt # 31| 0: [IntegerLiteral] 5 # 31| 1: [LambdaExpr] ...->... # 31| -4: [AnonymousClass] new Function2(...) { ... } # 31| 1: [Constructor] # 31| 5: [BlockStmt] { ... } # 31| 0: [SuperConstructorInvocationStmt] super(...) # 31| 1: [Method] invoke # 31| 3: [TypeAccess] int #-----| 4: (Parameters) # 31| 0: [Parameter] # 31| 0: [TypeAccess] int # 31| 1: [Parameter] # 31| 0: [TypeAccess] int # 31| 5: [BlockStmt] { ... } # 31| 0: [ReturnStmt] return ... # 31| 0: [IntegerLiteral] 5 # 31| -3: [TypeAccess] Function2 # 31| 0: [TypeAccess] Integer # 31| 1: [TypeAccess] Integer # 31| 2: [TypeAccess] Integer # 32| 10: [ExprStmt] ; # 32| 0: [MethodAccess] functionExpression3(...) # 32| -1: [TypeAccess] FuncExprsKt # 32| 0: [IntegerLiteral] 5 # 32| 1: [LambdaExpr] ...->... # 32| -4: [AnonymousClass] new Function2(...) { ... } # 32| 1: [Constructor] # 32| 5: [BlockStmt] { ... } # 32| 0: [SuperConstructorInvocationStmt] super(...) # 32| 1: [ExtensionMethod] invoke # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 32| 0: [Parameter] $this$functionExpression3 # 32| 0: [TypeAccess] int # 32| 1: [Parameter] a # 32| 0: [TypeAccess] int # 32| 5: [BlockStmt] { ... } # 32| 0: [ReturnStmt] return ... # 32| 0: [AddExpr] ... + ... # 32| 0: [ExtensionReceiverAccess] this # 32| 1: [VarAccess] a # 32| -3: [TypeAccess] Function2 # 32| 0: [TypeAccess] Integer # 32| 1: [TypeAccess] Integer # 32| 2: [TypeAccess] Integer # 33| 11: [ExprStmt] ; # 33| 0: [MethodAccess] functionExpression4(...) # 33| -1: [TypeAccess] FuncExprsKt # 33| 0: [IntegerLiteral] 5 # 33| 1: [LambdaExpr] ...->... # 33| -4: [AnonymousClass] new Function1>(...) { ... } # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) # 33| 1: [Method] invoke # 33| 3: [TypeAccess] Function1 # 33| 0: [TypeAccess] Integer # 33| 1: [TypeAccess] Double #-----| 4: (Parameters) # 33| 0: [Parameter] a # 33| 0: [TypeAccess] int # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [LambdaExpr] ...->... # 33| -4: [AnonymousClass] new Function1(...) { ... } # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) # 33| 1: [Method] invoke # 33| 3: [TypeAccess] double #-----| 4: (Parameters) # 33| 0: [Parameter] b # 33| 0: [TypeAccess] int # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [DoubleLiteral] 5.0 # 33| -3: [TypeAccess] Function1 # 33| 0: [TypeAccess] Integer # 33| 1: [TypeAccess] Double # 33| -3: [TypeAccess] Function1> # 33| 0: [TypeAccess] Integer # 33| 1: [TypeAccess] Function1 # 33| 0: [TypeAccess] Integer # 33| 1: [TypeAccess] Double # 35| 12: [ExprStmt] ; # 35| 0: [MethodAccess] functionExpression22(...) # 35| -1: [TypeAccess] FuncExprsKt # 35| 0: [IntegerLiteral] 5 # 35| 1: [LambdaExpr] ...->... # 35| -4: [AnonymousClass] new Function22(...) { ... } # 35| 1: [Constructor] # 35| 5: [BlockStmt] { ... } # 35| 0: [SuperConstructorInvocationStmt] super(...) # 35| 1: [Method] invoke # 35| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 35| 0: [Parameter] a0 # 35| 0: [TypeAccess] int # 35| 1: [Parameter] a1 # 35| 0: [TypeAccess] int # 35| 2: [Parameter] a2 # 35| 0: [TypeAccess] int # 35| 3: [Parameter] a3 # 35| 0: [TypeAccess] int # 35| 4: [Parameter] a4 # 35| 0: [TypeAccess] int # 35| 5: [Parameter] a5 # 35| 0: [TypeAccess] int # 35| 6: [Parameter] a6 # 35| 0: [TypeAccess] int # 35| 7: [Parameter] a7 # 35| 0: [TypeAccess] int # 35| 8: [Parameter] a8 # 35| 0: [TypeAccess] int # 35| 9: [Parameter] a9 # 35| 0: [TypeAccess] int # 35| 10: [Parameter] a10 # 35| 0: [TypeAccess] int # 35| 11: [Parameter] a11 # 35| 0: [TypeAccess] int # 35| 12: [Parameter] a12 # 35| 0: [TypeAccess] int # 35| 13: [Parameter] a13 # 35| 0: [TypeAccess] int # 35| 14: [Parameter] a14 # 35| 0: [TypeAccess] int # 35| 15: [Parameter] a15 # 35| 0: [TypeAccess] int # 35| 16: [Parameter] a16 # 35| 0: [TypeAccess] int # 35| 17: [Parameter] a17 # 35| 0: [TypeAccess] int # 35| 18: [Parameter] a18 # 35| 0: [TypeAccess] int # 35| 19: [Parameter] a19 # 35| 0: [TypeAccess] int # 35| 20: [Parameter] a20 # 35| 0: [TypeAccess] int # 35| 21: [Parameter] a21 # 35| 0: [TypeAccess] int # 35| 5: [BlockStmt] { ... } # 35| 0: [ExprStmt] ; # 35| 0: [ImplicitCoercionToUnitExpr] # 35| 0: [TypeAccess] Unit # 35| 1: [IntegerLiteral] 5 # 35| -3: [TypeAccess] Function22 # 35| 0: [TypeAccess] Integer # 35| 1: [TypeAccess] Integer # 35| 2: [TypeAccess] Integer # 35| 3: [TypeAccess] Integer # 35| 4: [TypeAccess] Integer # 35| 5: [TypeAccess] Integer # 35| 6: [TypeAccess] Integer # 35| 7: [TypeAccess] Integer # 35| 8: [TypeAccess] Integer # 35| 9: [TypeAccess] Integer # 35| 10: [TypeAccess] Integer # 35| 11: [TypeAccess] Integer # 35| 12: [TypeAccess] Integer # 35| 13: [TypeAccess] Integer # 35| 14: [TypeAccess] Integer # 35| 15: [TypeAccess] Integer # 35| 16: [TypeAccess] Integer # 35| 17: [TypeAccess] Integer # 35| 18: [TypeAccess] Integer # 35| 19: [TypeAccess] Integer # 35| 20: [TypeAccess] Integer # 35| 21: [TypeAccess] Integer # 35| 22: [TypeAccess] Unit # 36| 13: [ExprStmt] ; # 36| 0: [MethodAccess] functionExpression23(...) # 36| -1: [TypeAccess] FuncExprsKt # 36| 0: [IntegerLiteral] 5 # 36| 1: [LambdaExpr] ...->... # 36| -4: [AnonymousClass] new FunctionN(...) { ... } # 36| 1: [Constructor] # 36| 5: [BlockStmt] { ... } # 36| 0: [SuperConstructorInvocationStmt] super(...) # 36| 1: [Method] invoke # 36| 3: [TypeAccess] String #-----| 4: (Parameters) # 36| 0: [Parameter] a0 # 36| 0: [TypeAccess] int # 36| 1: [Parameter] a1 # 36| 0: [TypeAccess] int # 36| 2: [Parameter] a2 # 36| 0: [TypeAccess] int # 36| 3: [Parameter] a3 # 36| 0: [TypeAccess] int # 36| 4: [Parameter] a4 # 36| 0: [TypeAccess] int # 36| 5: [Parameter] a5 # 36| 0: [TypeAccess] int # 36| 6: [Parameter] a6 # 36| 0: [TypeAccess] int # 36| 7: [Parameter] a7 # 36| 0: [TypeAccess] int # 36| 8: [Parameter] a8 # 36| 0: [TypeAccess] int # 36| 9: [Parameter] a9 # 36| 0: [TypeAccess] int # 36| 10: [Parameter] a10 # 36| 0: [TypeAccess] int # 36| 11: [Parameter] a11 # 36| 0: [TypeAccess] int # 36| 12: [Parameter] a12 # 36| 0: [TypeAccess] int # 36| 13: [Parameter] a13 # 36| 0: [TypeAccess] int # 36| 14: [Parameter] a14 # 36| 0: [TypeAccess] int # 36| 15: [Parameter] a15 # 36| 0: [TypeAccess] int # 36| 16: [Parameter] a16 # 36| 0: [TypeAccess] int # 36| 17: [Parameter] a17 # 36| 0: [TypeAccess] int # 36| 18: [Parameter] a18 # 36| 0: [TypeAccess] int # 36| 19: [Parameter] a19 # 36| 0: [TypeAccess] int # 36| 20: [Parameter] a20 # 36| 0: [TypeAccess] int # 36| 21: [Parameter] a21 # 36| 0: [TypeAccess] int # 36| 22: [Parameter] a22 # 36| 0: [TypeAccess] int # 36| 5: [BlockStmt] { ... } # 36| 0: [ReturnStmt] return ... # 36| 0: [StringLiteral] # 36| 1: [Method] invoke #-----| 4: (Parameters) # 36| 0: [Parameter] a0 # 36| 5: [BlockStmt] { ... } # 36| 0: [ReturnStmt] return ... # 36| 0: [MethodAccess] invoke(...) # 36| -1: [ThisAccess] this # 36| 0: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 0 # 36| 1: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 1 # 36| 2: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 2 # 36| 3: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 3 # 36| 4: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 4 # 36| 5: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 5 # 36| 6: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 6 # 36| 7: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 7 # 36| 8: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 8 # 36| 9: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 9 # 36| 10: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 10 # 36| 11: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 11 # 36| 12: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 12 # 36| 13: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 13 # 36| 14: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 14 # 36| 15: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 15 # 36| 16: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 16 # 36| 17: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 17 # 36| 18: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 18 # 36| 19: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 19 # 36| 20: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 20 # 36| 21: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 21 # 36| 22: [CastExpr] (...)... # 36| 0: [TypeAccess] int # 36| 1: [ArrayAccess] ...[...] # 36| 0: [VarAccess] a0 # 36| 1: [IntegerLiteral] 22 # 36| -3: [TypeAccess] FunctionN # 36| 0: [TypeAccess] String # 38| 14: [ExprStmt] ; # 38| 0: [MethodAccess] functionExpression0a(...) # 38| -1: [TypeAccess] FuncExprsKt # 38| 0: [MemberRefExpr] ...::... # 38| -4: [AnonymousClass] new Function0(...) { ... } # 38| 1: [Constructor] #-----| 4: (Parameters) # 38| 0: [Parameter] # 38| 5: [BlockStmt] { ... } # 38| 0: [SuperConstructorInvocationStmt] super(...) # 38| 1: [ExprStmt] ; # 38| 0: [AssignExpr] ...=... # 38| 0: [VarAccess] this. # 38| -1: [ThisAccess] this # 38| 1: [VarAccess] # 38| 1: [Method] invoke # 38| 5: [BlockStmt] { ... } # 38| 0: [ReturnStmt] return ... # 38| 0: [MethodAccess] f0(...) # 38| -1: [VarAccess] this. # 38| -1: [ThisAccess] this # 38| 1: [FieldDeclaration] FuncRef ; # 38| -1: [TypeAccess] FuncRef # 38| -3: [TypeAccess] Function0 # 38| 0: [TypeAccess] Integer # 38| 0: [ClassInstanceExpr] new FuncRef(...) # 38| -3: [TypeAccess] FuncRef # 39| 15: [ExprStmt] ; # 39| 0: [MethodAccess] functionExpression0a(...) # 39| -1: [TypeAccess] FuncExprsKt # 39| 0: [MemberRefExpr] ...::... # 39| -4: [AnonymousClass] new Function0(...) { ... } # 39| 1: [Constructor] #-----| 4: (Parameters) # 39| 0: [Parameter] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) # 39| 1: [ExprStmt] ; # 39| 0: [AssignExpr] ...=... # 39| 0: [VarAccess] this. # 39| -1: [ThisAccess] this # 39| 1: [VarAccess] # 39| 1: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] f0(...) # 39| -1: [VarAccess] this. # 39| -1: [ThisAccess] this # 39| 1: [FieldDeclaration] Companion ; # 39| -1: [TypeAccess] Companion # 39| -3: [TypeAccess] Function0 # 39| 0: [TypeAccess] Integer # 39| 0: [VarAccess] Companion # 40| 16: [ExprStmt] ; # 40| 0: [MethodAccess] functionExpression1a(...) # 40| -1: [TypeAccess] FuncExprsKt # 40| 0: [IntegerLiteral] 5 # 40| 1: [MemberRefExpr] ...::... # 40| -4: [AnonymousClass] new Function1(...) { ... } # 40| 1: [Constructor] #-----| 4: (Parameters) # 40| 0: [Parameter] # 40| 5: [BlockStmt] { ... } # 40| 0: [SuperConstructorInvocationStmt] super(...) # 40| 1: [ExprStmt] ; # 40| 0: [AssignExpr] ...=... # 40| 0: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 1: [VarAccess] # 40| 1: [Method] invoke #-----| 4: (Parameters) # 40| 0: [Parameter] a0 # 40| 5: [BlockStmt] { ... } # 40| 0: [ReturnStmt] return ... # 40| 0: [MethodAccess] f1(...) # 40| -1: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 0: [VarAccess] a0 # 40| 1: [FieldDeclaration] FuncRef ; # 40| -1: [TypeAccess] FuncRef # 40| -3: [TypeAccess] Function1 # 40| 0: [TypeAccess] Integer # 40| 1: [TypeAccess] Integer # 40| 0: [ClassInstanceExpr] new FuncRef(...) # 40| -3: [TypeAccess] FuncRef # 41| 17: [ExprStmt] ; # 41| 0: [MethodAccess] functionExpression1c(...) # 41| -1: [TypeAccess] FuncExprsKt # 41| 0: [IntegerLiteral] 5 # 41| 1: [MemberRefExpr] ...::... # 41| -4: [AnonymousClass] new Function2(...) { ... } # 41| 1: [Constructor] # 41| 5: [BlockStmt] { ... } # 41| 0: [SuperConstructorInvocationStmt] super(...) # 41| 1: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 1: [Parameter] a1 # 41| 5: [BlockStmt] { ... } # 41| 0: [ReturnStmt] return ... # 41| 0: [MethodAccess] f1(...) # 41| -1: [VarAccess] a0 # 41| 0: [VarAccess] a1 # 41| -3: [TypeAccess] Function2 # 41| 0: [TypeAccess] FuncRef # 41| 1: [TypeAccess] Integer # 41| 2: [TypeAccess] Integer # 42| 18: [ExprStmt] ; # 42| 0: [MethodAccess] functionExpression1a(...) # 42| -1: [TypeAccess] FuncExprsKt # 42| 0: [IntegerLiteral] 5 # 42| 1: [MemberRefExpr] ...::... # 42| -4: [AnonymousClass] new Function1(...) { ... } # 42| 1: [Constructor] #-----| 4: (Parameters) # 42| 0: [Parameter] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) # 42| 1: [ExprStmt] ; # 42| 0: [AssignExpr] ...=... # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] # 42| 1: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] f3(...) # 42| -1: [TypeAccess] FuncExprsKt # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] a0 # 42| 1: [FieldDeclaration] int ; # 42| -1: [TypeAccess] int # 42| -3: [TypeAccess] Function1 # 42| 0: [TypeAccess] Integer # 42| 1: [TypeAccess] Integer # 42| 0: [IntegerLiteral] 3 # 43| 19: [ExprStmt] ; # 43| 0: [MethodAccess] functionExpression3(...) # 43| -1: [TypeAccess] FuncExprsKt # 43| 0: [IntegerLiteral] 5 # 43| 1: [MemberRefExpr] ...::... # 43| -4: [AnonymousClass] new Function2(...) { ... } # 43| 1: [Constructor] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) # 43| 1: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 1: [Parameter] a1 # 43| 5: [BlockStmt] { ... } # 43| 0: [ReturnStmt] return ... # 43| 0: [MethodAccess] f3(...) # 43| -1: [TypeAccess] FuncExprsKt # 43| 0: [VarAccess] a0 # 43| 1: [VarAccess] a1 # 43| -3: [TypeAccess] Function2 # 43| 0: [TypeAccess] Integer # 43| 1: [TypeAccess] Integer # 43| 2: [TypeAccess] Integer # 44| 20: [ExprStmt] ; # 44| 0: [MethodAccess] functionExpression22(...) # 44| -1: [TypeAccess] FuncExprsKt # 44| 0: [IntegerLiteral] 5 # 44| 1: [MemberRefExpr] ...::... # 44| -4: [AnonymousClass] new Function22(...) { ... } # 44| 1: [Constructor] #-----| 4: (Parameters) # 44| 0: [Parameter] # 44| 5: [BlockStmt] { ... } # 44| 0: [SuperConstructorInvocationStmt] super(...) # 44| 1: [ExprStmt] ; # 44| 0: [AssignExpr] ...=... # 44| 0: [VarAccess] this. # 44| -1: [ThisAccess] this # 44| 1: [VarAccess] # 44| 1: [Method] invoke #-----| 4: (Parameters) # 44| 0: [Parameter] a0 # 44| 1: [Parameter] a1 # 44| 2: [Parameter] a2 # 44| 3: [Parameter] a3 # 44| 4: [Parameter] a4 # 44| 5: [Parameter] a5 # 44| 6: [Parameter] a6 # 44| 7: [Parameter] a7 # 44| 8: [Parameter] a8 # 44| 9: [Parameter] a9 # 44| 10: [Parameter] a10 # 44| 11: [Parameter] a11 # 44| 12: [Parameter] a12 # 44| 13: [Parameter] a13 # 44| 14: [Parameter] a14 # 44| 15: [Parameter] a15 # 44| 16: [Parameter] a16 # 44| 17: [Parameter] a17 # 44| 18: [Parameter] a18 # 44| 19: [Parameter] a19 # 44| 20: [Parameter] a20 # 44| 21: [Parameter] a21 # 44| 5: [BlockStmt] { ... } # 44| 0: [ReturnStmt] return ... # 44| 0: [MethodAccess] f22(...) # 44| -1: [VarAccess] this. # 44| -1: [ThisAccess] this # 44| 0: [VarAccess] a0 # 44| 1: [VarAccess] a1 # 44| 2: [VarAccess] a2 # 44| 3: [VarAccess] a3 # 44| 4: [VarAccess] a4 # 44| 5: [VarAccess] a5 # 44| 6: [VarAccess] a6 # 44| 7: [VarAccess] a7 # 44| 8: [VarAccess] a8 # 44| 9: [VarAccess] a9 # 44| 10: [VarAccess] a10 # 44| 11: [VarAccess] a11 # 44| 12: [VarAccess] a12 # 44| 13: [VarAccess] a13 # 44| 14: [VarAccess] a14 # 44| 15: [VarAccess] a15 # 44| 16: [VarAccess] a16 # 44| 17: [VarAccess] a17 # 44| 18: [VarAccess] a18 # 44| 19: [VarAccess] a19 # 44| 20: [VarAccess] a20 # 44| 21: [VarAccess] a21 # 44| 1: [FieldDeclaration] FuncRef ; # 44| -1: [TypeAccess] FuncRef # 44| -3: [TypeAccess] Function22 # 44| 0: [TypeAccess] Integer # 44| 1: [TypeAccess] Integer # 44| 2: [TypeAccess] Integer # 44| 3: [TypeAccess] Integer # 44| 4: [TypeAccess] Integer # 44| 5: [TypeAccess] Integer # 44| 6: [TypeAccess] Integer # 44| 7: [TypeAccess] Integer # 44| 8: [TypeAccess] Integer # 44| 9: [TypeAccess] Integer # 44| 10: [TypeAccess] Integer # 44| 11: [TypeAccess] Integer # 44| 12: [TypeAccess] Integer # 44| 13: [TypeAccess] Integer # 44| 14: [TypeAccess] Integer # 44| 15: [TypeAccess] Integer # 44| 16: [TypeAccess] Integer # 44| 17: [TypeAccess] Integer # 44| 18: [TypeAccess] Integer # 44| 19: [TypeAccess] Integer # 44| 20: [TypeAccess] Integer # 44| 21: [TypeAccess] Integer # 44| 22: [TypeAccess] Unit # 44| 0: [ClassInstanceExpr] new FuncRef(...) # 44| -3: [TypeAccess] FuncRef # 45| 21: [ExprStmt] ; # 45| 0: [MethodAccess] functionExpression23(...) # 45| -1: [TypeAccess] FuncExprsKt # 45| 0: [IntegerLiteral] 5 # 45| 1: [MemberRefExpr] ...::... # 45| -4: [AnonymousClass] new FunctionN(...) { ... } # 45| 1: [Constructor] #-----| 4: (Parameters) # 45| 0: [Parameter] # 45| 5: [BlockStmt] { ... } # 45| 0: [SuperConstructorInvocationStmt] super(...) # 45| 1: [ExprStmt] ; # 45| 0: [AssignExpr] ...=... # 45| 0: [VarAccess] this. # 45| -1: [ThisAccess] this # 45| 1: [VarAccess] # 45| 1: [Method] invoke #-----| 4: (Parameters) # 45| 0: [Parameter] a0 # 45| 5: [BlockStmt] { ... } # 45| 0: [ReturnStmt] return ... # 45| 0: [MethodAccess] f23(...) # 45| -1: [VarAccess] this. # 45| -1: [ThisAccess] this # 45| 0: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 0 # 45| 1: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 1 # 45| 2: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 2 # 45| 3: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 3 # 45| 4: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 4 # 45| 5: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 5 # 45| 6: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 6 # 45| 7: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 7 # 45| 8: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 8 # 45| 9: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 9 # 45| 10: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 10 # 45| 11: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 11 # 45| 12: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 12 # 45| 13: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 13 # 45| 14: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 14 # 45| 15: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 15 # 45| 16: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 16 # 45| 17: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 17 # 45| 18: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 18 # 45| 19: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 19 # 45| 20: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 20 # 45| 21: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 21 # 45| 22: [CastExpr] (...)... # 45| 0: [TypeAccess] int # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 22 # 45| 1: [FieldDeclaration] FuncRef ; # 45| -1: [TypeAccess] FuncRef # 45| -3: [TypeAccess] FunctionN # 45| 0: [TypeAccess] String # 45| 0: [ClassInstanceExpr] new FuncRef(...) # 45| -3: [TypeAccess] FuncRef # 46| 22: [ExprStmt] ; # 46| 0: [MethodAccess] functionExpression23c(...) # 46| -1: [TypeAccess] FuncExprsKt # 46| 0: [IntegerLiteral] 5 # 46| 1: [MemberRefExpr] ...::... # 46| -4: [AnonymousClass] new FunctionN(...) { ... } # 46| 1: [Constructor] # 46| 5: [BlockStmt] { ... } # 46| 0: [SuperConstructorInvocationStmt] super(...) # 46| 1: [Method] invoke #-----| 4: (Parameters) # 46| 0: [Parameter] a0 # 46| 5: [BlockStmt] { ... } # 46| 0: [ReturnStmt] return ... # 46| 0: [MethodAccess] f23(...) # 46| -1: [CastExpr] (...)... # 46| 0: [TypeAccess] FuncRef # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 0 # 46| 0: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 1 # 46| 1: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 2 # 46| 2: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 3 # 46| 3: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 4 # 46| 4: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 5 # 46| 5: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 6 # 46| 6: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 7 # 46| 7: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 8 # 46| 8: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 9 # 46| 9: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 10 # 46| 10: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 11 # 46| 11: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 12 # 46| 12: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 13 # 46| 13: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 14 # 46| 14: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 15 # 46| 15: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 16 # 46| 16: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 17 # 46| 17: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 18 # 46| 18: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 19 # 46| 19: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 20 # 46| 20: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 21 # 46| 21: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 22 # 46| 22: [CastExpr] (...)... # 46| 0: [TypeAccess] int # 46| 1: [ArrayAccess] ...[...] # 46| 0: [VarAccess] a0 # 46| 1: [IntegerLiteral] 23 # 46| -3: [TypeAccess] FunctionN # 46| 0: [TypeAccess] String # 48| 23: [LocalTypeDeclStmt] class ... # 48| 0: [LocalClass] # 48| 1: [Constructor] # 48| 5: [BlockStmt] { ... } # 48| 0: [SuperConstructorInvocationStmt] super(...) # 48| 1: [Method] local # 48| 3: [TypeAccess] int # 48| 5: [BlockStmt] { ... } # 48| 0: [ReturnStmt] return ... # 48| 0: [IntegerLiteral] 5 # 49| 24: [ExprStmt] ; # 49| 0: [MethodAccess] functionExpression0a(...) # 49| -1: [TypeAccess] FuncExprsKt # 49| 0: [MemberRefExpr] ...::... # 49| -4: [AnonymousClass] new Function0(...) { ... } # 49| 1: [Constructor] # 49| 5: [BlockStmt] { ... } # 49| 0: [SuperConstructorInvocationStmt] super(...) # 49| 1: [Method] invoke # 49| 5: [BlockStmt] { ... } # 49| 0: [ReturnStmt] return ... # 49| 0: [MethodAccess] local(...) # 49| -1: [ClassInstanceExpr] new (...) # 49| -3: [TypeAccess] Object # 49| -3: [TypeAccess] Function0 # 49| 0: [TypeAccess] Integer # 51| 25: [ExprStmt] ; # 51| 0: [MethodAccess] fn(...) # 51| -2: [TypeAccess] FuncRef # 51| -1: [TypeAccess] FuncExprsKt # 51| 0: [MemberRefExpr] ...::... # 51| -4: [AnonymousClass] new Function0(...) { ... } # 51| 1: [Constructor] # 51| 5: [BlockStmt] { ... } # 51| 0: [SuperConstructorInvocationStmt] super(...) # 51| 1: [Method] invoke # 51| 5: [BlockStmt] { ... } # 51| 0: [ReturnStmt] return ... # 51| 0: [ClassInstanceExpr] new FuncRef(...) # 51| -3: [TypeAccess] FuncRef # 51| -3: [TypeAccess] Function0 # 51| 0: [TypeAccess] FuncRef # 58| 14: [Method] fn #-----| 2: (Generic Parameters) # 58| 0: [TypeVariable] T # 58| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 58| 0: [Parameter] l # 58| 0: [TypeAccess] Function0 # 58| 0: [TypeAccess] T # 58| 5: [BlockStmt] { ... } # 59| 15: [ExtensionMethod] f3 # 59| 3: [TypeAccess] int #-----| 4: (Parameters) # 59| 0: [Parameter] # 59| 0: [TypeAccess] int # 59| 1: [Parameter] a # 59| 0: [TypeAccess] int # 59| 5: [BlockStmt] { ... } # 59| 0: [ReturnStmt] return ... # 59| 0: [IntegerLiteral] 5 # 54| 2: [Class] MyLambda # 54| 1: [Constructor] MyLambda # 54| 5: [BlockStmt] { ... } # 54| 0: [SuperConstructorInvocationStmt] super(...) # 54| 1: [BlockStmt] { ... } # 55| 2: [Method] invoke # 55| 3: [TypeAccess] int #-----| 4: (Parameters) # 55| 0: [Parameter] x # 55| 0: [TypeAccess] int # 55| 5: [BlockStmt] { ... } # 55| 0: [ReturnStmt] return ... # 55| 0: [IntegerLiteral] 5 # 61| 3: [Class] FuncRef # 61| 1: [Constructor] FuncRef # 61| 5: [BlockStmt] { ... } # 61| 0: [SuperConstructorInvocationStmt] super(...) # 61| 1: [BlockStmt] { ... } # 62| 2: [Class] Companion # 62| 1: [Constructor] Companion # 62| 5: [BlockStmt] { ... } # 62| 0: [SuperConstructorInvocationStmt] super(...) # 62| 1: [BlockStmt] { ... } # 63| 2: [Method] f0 # 63| 3: [TypeAccess] int # 63| 5: [BlockStmt] { ... } # 63| 0: [ReturnStmt] return ... # 63| 0: [IntegerLiteral] 5 # 65| 3: [Method] f0 # 65| 3: [TypeAccess] int # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [IntegerLiteral] 5 # 66| 4: [Method] f1 # 66| 3: [TypeAccess] int #-----| 4: (Parameters) # 66| 0: [Parameter] a # 66| 0: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [IntegerLiteral] 5 # 67| 5: [Method] f22 # 67| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 0: [TypeAccess] int # 67| 1: [Parameter] a1 # 67| 0: [TypeAccess] int # 67| 2: [Parameter] a2 # 67| 0: [TypeAccess] int # 67| 3: [Parameter] a3 # 67| 0: [TypeAccess] int # 67| 4: [Parameter] a4 # 67| 0: [TypeAccess] int # 67| 5: [Parameter] a5 # 67| 0: [TypeAccess] int # 67| 6: [Parameter] a6 # 67| 0: [TypeAccess] int # 67| 7: [Parameter] a7 # 67| 0: [TypeAccess] int # 67| 8: [Parameter] a8 # 67| 0: [TypeAccess] int # 67| 9: [Parameter] a9 # 67| 0: [TypeAccess] int # 67| 10: [Parameter] a10 # 67| 0: [TypeAccess] int # 68| 11: [Parameter] a11 # 68| 0: [TypeAccess] int # 68| 12: [Parameter] a12 # 68| 0: [TypeAccess] int # 68| 13: [Parameter] a13 # 68| 0: [TypeAccess] int # 68| 14: [Parameter] a14 # 68| 0: [TypeAccess] int # 68| 15: [Parameter] a15 # 68| 0: [TypeAccess] int # 68| 16: [Parameter] a16 # 68| 0: [TypeAccess] int # 68| 17: [Parameter] a17 # 68| 0: [TypeAccess] int # 68| 18: [Parameter] a18 # 68| 0: [TypeAccess] int # 68| 19: [Parameter] a19 # 68| 0: [TypeAccess] int # 68| 20: [Parameter] a20 # 68| 0: [TypeAccess] int # 68| 21: [Parameter] a21 # 68| 0: [TypeAccess] int # 68| 5: [BlockStmt] { ... } # 69| 6: [Method] f23 # 69| 3: [TypeAccess] String #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 0: [TypeAccess] int # 69| 1: [Parameter] a1 # 69| 0: [TypeAccess] int # 69| 2: [Parameter] a2 # 69| 0: [TypeAccess] int # 69| 3: [Parameter] a3 # 69| 0: [TypeAccess] int # 69| 4: [Parameter] a4 # 69| 0: [TypeAccess] int # 69| 5: [Parameter] a5 # 69| 0: [TypeAccess] int # 69| 6: [Parameter] a6 # 69| 0: [TypeAccess] int # 69| 7: [Parameter] a7 # 69| 0: [TypeAccess] int # 69| 8: [Parameter] a8 # 69| 0: [TypeAccess] int # 69| 9: [Parameter] a9 # 69| 0: [TypeAccess] int # 69| 10: [Parameter] a10 # 69| 0: [TypeAccess] int # 70| 11: [Parameter] a11 # 70| 0: [TypeAccess] int # 70| 12: [Parameter] a12 # 70| 0: [TypeAccess] int # 70| 13: [Parameter] a13 # 70| 0: [TypeAccess] int # 70| 14: [Parameter] a14 # 70| 0: [TypeAccess] int # 70| 15: [Parameter] a15 # 70| 0: [TypeAccess] int # 70| 16: [Parameter] a16 # 70| 0: [TypeAccess] int # 70| 17: [Parameter] a17 # 70| 0: [TypeAccess] int # 70| 18: [Parameter] a18 # 70| 0: [TypeAccess] int # 70| 19: [Parameter] a19 # 70| 0: [TypeAccess] int # 70| 20: [Parameter] a20 # 70| 0: [TypeAccess] int # 70| 21: [Parameter] a21 # 70| 0: [TypeAccess] int # 70| 22: [Parameter] a22 # 70| 0: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [StringLiteral] # 73| 4: [Class] Class3 # 73| 3: [Constructor] Class3 # 73| 5: [BlockStmt] { ... } # 73| 0: [SuperConstructorInvocationStmt] super(...) # 73| 1: [BlockStmt] { ... } # 74| 4: [Method] call # 74| 3: [TypeAccess] Unit # 74| 5: [BlockStmt] { ... } # 75| 0: [ExprStmt] ; # 75| 0: [MethodAccess] fn(...) # 75| -1: [ThisAccess] this # 75| 0: [LambdaExpr] ...->... # 75| -4: [AnonymousClass] new Function1>,String>(...) { ... } # 75| 1: [Constructor] # 75| 5: [BlockStmt] { ... } # 75| 0: [SuperConstructorInvocationStmt] super(...) # 75| 1: [Method] invoke # 75| 3: [TypeAccess] String #-----| 4: (Parameters) # 75| 0: [Parameter] a # 75| 0: [TypeAccess] Generic> # 75| 0: [TypeAccess] Generic # 75| 0: [TypeAccess] Integer # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [StringLiteral] a # 75| -3: [TypeAccess] Function1>,String> # 75| 0: [TypeAccess] Generic> # 75| 0: [TypeAccess] Generic # 75| 0: [TypeAccess] Integer # 75| 1: [TypeAccess] String # 77| 5: [Method] fn # 77| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 77| 0: [Parameter] f # 77| 0: [TypeAccess] Function1>,String> # 77| 0: [TypeAccess] Generic> # 77| 0: [TypeAccess] Generic # 77| 0: [TypeAccess] Integer # 77| 1: [TypeAccess] String # 77| 5: [BlockStmt] { ... } # 79| 6: [Class,GenericType,ParameterizedType] Generic #-----| -2: (Generic Parameters) # 79| 0: [TypeVariable] T # 79| 1: [Constructor] Generic # 79| 5: [BlockStmt] { ... } # 79| 0: [SuperConstructorInvocationStmt] super(...) # 79| 1: [BlockStmt] { ... } kFunctionInvoke.kt: # 0| [CompilationUnit] kFunctionInvoke # 0| 1: [Class] KFunctionInvokeKt # 7| 1: [Method] useRef # 7| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 7| 0: [Parameter] a # 7| 0: [TypeAccess] A # 7| 1: [Parameter] s # 7| 0: [TypeAccess] String # 7| 5: [BlockStmt] { ... } # 8| 0: [LocalVariableDeclStmt] var ...; # 8| 1: [LocalVariableDeclExpr] toCall # 8| 0: [MemberRefExpr] ...::... # 8| -4: [AnonymousClass] new Function1(...) { ... } # 8| 1: [Constructor] #-----| 4: (Parameters) # 8| 0: [Parameter] # 8| 5: [BlockStmt] { ... } # 8| 0: [SuperConstructorInvocationStmt] super(...) # 8| 1: [ExprStmt] ; # 8| 0: [AssignExpr] ...=... # 8| 0: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 1: [VarAccess] # 8| 1: [Method] invoke #-----| 4: (Parameters) # 8| 0: [Parameter] a0 # 8| 5: [BlockStmt] { ... } # 8| 0: [ReturnStmt] return ... # 8| 0: [MethodAccess] f(...) # 8| -1: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 0: [VarAccess] a0 # 8| 1: [FieldDeclaration] A ; # 8| -1: [TypeAccess] A # 8| -3: [TypeAccess] Function1 # 8| 0: [TypeAccess] String # 8| 1: [TypeAccess] Unit # 8| 0: [VarAccess] a # 9| 1: [ExprStmt] ; # 9| 0: [MethodAccess] invoke(...) # 9| -1: [VarAccess] toCall # 9| 0: [VarAccess] s # 3| 2: [Class] A # 3| 1: [Constructor] A # 3| 5: [BlockStmt] { ... } # 3| 0: [SuperConstructorInvocationStmt] super(...) # 3| 1: [BlockStmt] { ... } # 4| 2: [Method] f # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] s # 4| 0: [TypeAccess] String # 4| 5: [BlockStmt] { ... } localFunctionCalls.kt: # 0| [CompilationUnit] localFunctionCalls # 0| 1: [Class] LocalFunctionCallsKt # 3| 1: [Method] x # 3| 3: [TypeAccess] Unit # 3| 5: [BlockStmt] { ... } # 4| 0: [LocalVariableDeclStmt] var ...; # 4| 1: [LocalVariableDeclExpr] x # 4| 0: [IntegerLiteral] 5 # 5| 1: [LocalTypeDeclStmt] class ... # 5| 0: [LocalClass] # 5| 1: [Constructor] # 5| 5: [BlockStmt] { ... } # 5| 0: [SuperConstructorInvocationStmt] super(...) # 5| 1: [Method] a #-----| 2: (Generic Parameters) # 5| 0: [TypeVariable] T # 5| 3: [TypeAccess] int #-----| 4: (Parameters) # 5| 0: [Parameter] i # 5| 0: [TypeAccess] int # 5| 5: [BlockStmt] { ... } # 5| 0: [ReturnStmt] return ... # 5| 0: [AddExpr] ... + ... # 5| 0: [VarAccess] i # 5| 1: [VarAccess] x # 6| 2: [ExprStmt] ; # 6| 0: [AssignExpr] ...=... # 6| 0: [VarAccess] x # 6| 1: [IntegerLiteral] 6 # 7| 3: [ExprStmt] ; # 7| 0: [ImplicitCoercionToUnitExpr] # 7| 0: [TypeAccess] Unit # 7| 1: [MethodAccess] a(...) # 7| -2: [TypeAccess] String # 7| -1: [ClassInstanceExpr] new (...) # 7| -3: [TypeAccess] Object # 7| 0: [IntegerLiteral] 42 # 8| 4: [ExprStmt] ; # 8| 0: [AssignExpr] ...=... # 8| 0: [VarAccess] x # 8| 1: [IntegerLiteral] 7 # 9| 5: [LocalTypeDeclStmt] class ... # 9| 0: [LocalClass] # 9| 1: [Constructor] # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) # 9| 1: [ExtensionMethod] f1 #-----| 2: (Generic Parameters) # 9| 0: [TypeVariable] T1 # 9| 3: [TypeAccess] int #-----| 4: (Parameters) # 9| 0: [Parameter] # 9| 0: [TypeAccess] C1 # 9| 0: [TypeAccess] T1 # 9| 1: [Parameter] i # 9| 0: [TypeAccess] int # 9| 5: [BlockStmt] { ... } # 9| 0: [ReturnStmt] return ... # 9| 0: [IntegerLiteral] 5 # 10| 6: [ExprStmt] ; # 10| 0: [ImplicitCoercionToUnitExpr] # 10| 0: [TypeAccess] Unit # 10| 1: [MethodAccess] f1(...) # 10| -2: [TypeAccess] Integer # 10| -1: [ClassInstanceExpr] new (...) # 10| -3: [TypeAccess] Object # 10| 0: [ClassInstanceExpr] new C1(...) # 10| -3: [TypeAccess] C1 # 10| 0: [TypeAccess] Integer # 10| 1: [IntegerLiteral] 42 # 11| 7: [ExprStmt] ; # 11| 0: [ImplicitCoercionToUnitExpr] # 11| 0: [TypeAccess] Unit # 11| 1: [MethodAccess] f1(...) # 11| -2: [TypeAccess] Integer # 11| -1: [ClassInstanceExpr] new (...) # 11| -3: [TypeAccess] Object # 11| 0: [ClassInstanceExpr] new C1(...) # 11| -3: [TypeAccess] C1 # 11| 0: [TypeAccess] Integer # 11| 1: [IntegerLiteral] 42 # 14| 2: [Class,GenericType,ParameterizedType] C1 #-----| -2: (Generic Parameters) # 14| 0: [TypeVariable] T # 14| 1: [Constructor] C1 # 14| 5: [BlockStmt] { ... } # 14| 0: [SuperConstructorInvocationStmt] super(...) # 14| 1: [BlockStmt] { ... } samConversion.kt: # 0| [CompilationUnit] samConversion # 0| 1: [Class] SamConversionKt # 1| 1: [Method] main # 1| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 1| 0: [Parameter] b # 1| 0: [TypeAccess] boolean # 1| 5: [BlockStmt] { ... } # 2| 0: [LocalVariableDeclStmt] var ...; # 2| 1: [LocalVariableDeclExpr] isEven # 2| 0: [CastExpr] (...)... # 2| 0: [TypeAccess] IntPredicate # 2| 1: [ClassInstanceExpr] new (...) # 2| -4: [AnonymousClass] new IntPredicate(...) { ... } # 2| 1: [Constructor] #-----| 4: (Parameters) # 2| 0: [Parameter] # 2| 5: [BlockStmt] { ... } # 2| 0: [SuperConstructorInvocationStmt] super(...) # 2| 1: [ExprStmt] ; # 2| 0: [AssignExpr] ...=... # 2| 0: [VarAccess] this. # 2| -1: [ThisAccess] this # 2| 1: [VarAccess] # 2| 1: [Method] accept # 2| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 2| 0: [Parameter] i # 2| 0: [TypeAccess] int # 2| 5: [BlockStmt] { ... } # 2| 0: [ReturnStmt] return ... # 2| 0: [MethodAccess] invoke(...) # 2| -1: [VarAccess] # 2| 0: [VarAccess] i # 2| 1: [FieldDeclaration] Function1 ; # 2| -1: [TypeAccess] Function1 # 2| 0: [TypeAccess] Integer # 2| 1: [TypeAccess] Boolean # 2| -3: [TypeAccess] IntPredicate # 2| 0: [LambdaExpr] ...->... # 2| -4: [AnonymousClass] new Function1(...) { ... } # 2| 1: [Constructor] # 2| 5: [BlockStmt] { ... } # 2| 0: [SuperConstructorInvocationStmt] super(...) # 2| 1: [Method] invoke # 2| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 2| 0: [Parameter] it # 2| 0: [TypeAccess] int # 2| 5: [BlockStmt] { ... } # 2| 0: [ReturnStmt] return ... # 2| 0: [ValueEQExpr] ... (value equals) ... # 2| 0: [RemExpr] ... % ... # 2| 0: [VarAccess] it # 2| 1: [IntegerLiteral] 2 # 2| 1: [IntegerLiteral] 0 # 2| -3: [TypeAccess] Function1 # 2| 0: [TypeAccess] Integer # 2| 1: [TypeAccess] Boolean # 4| 1: [LocalVariableDeclStmt] var ...; # 4| 1: [LocalVariableDeclExpr] i0 # 4| 0: [CastExpr] (...)... # 4| 0: [TypeAccess] InterfaceFn1 # 4| 1: [ClassInstanceExpr] new (...) # 4| -4: [AnonymousClass] new InterfaceFn1(...) { ... } # 4| 1: [Constructor] #-----| 4: (Parameters) # 4| 0: [Parameter] # 4| 5: [BlockStmt] { ... } # 4| 0: [SuperConstructorInvocationStmt] super(...) # 4| 1: [ExprStmt] ; # 4| 0: [AssignExpr] ...=... # 4| 0: [VarAccess] this. # 4| -1: [ThisAccess] this # 4| 1: [VarAccess] # 4| 1: [Method] fn1 # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] i # 4| 0: [TypeAccess] int # 4| 1: [Parameter] j # 4| 0: [TypeAccess] int # 4| 5: [BlockStmt] { ... } # 4| 0: [ReturnStmt] return ... # 4| 0: [MethodAccess] invoke(...) # 4| -1: [VarAccess] # 4| 0: [VarAccess] i # 4| 1: [VarAccess] j # 4| 1: [FieldDeclaration] Function2 ; # 4| -1: [TypeAccess] Function2 # 4| 0: [TypeAccess] Integer # 4| 1: [TypeAccess] Integer # 4| 2: [TypeAccess] Unit # 4| -3: [TypeAccess] InterfaceFn1 # 4| 0: [LambdaExpr] ...->... # 4| -4: [AnonymousClass] new Function2(...) { ... } # 4| 1: [Constructor] # 4| 5: [BlockStmt] { ... } # 4| 0: [SuperConstructorInvocationStmt] super(...) # 4| 1: [Method] invoke # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] a # 4| 0: [TypeAccess] int # 4| 1: [Parameter] b # 4| 0: [TypeAccess] int # 4| 5: [BlockStmt] { ... } # 4| 0: [ExprStmt] ; # 4| 0: [VarAccess] INSTANCE # 4| -3: [TypeAccess] Function2 # 4| 0: [TypeAccess] Integer # 4| 1: [TypeAccess] Integer # 4| 2: [TypeAccess] Unit # 5| 2: [LocalVariableDeclStmt] var ...; # 5| 1: [LocalVariableDeclExpr] i1 # 5| 0: [CastExpr] (...)... # 5| 0: [TypeAccess] InterfaceFn1 # 5| 1: [ClassInstanceExpr] new (...) # 5| -4: [AnonymousClass] new InterfaceFn1(...) { ... } # 5| 1: [Constructor] #-----| 4: (Parameters) # 5| 0: [Parameter] # 5| 5: [BlockStmt] { ... } # 5| 0: [SuperConstructorInvocationStmt] super(...) # 5| 1: [ExprStmt] ; # 5| 0: [AssignExpr] ...=... # 5| 0: [VarAccess] this. # 5| -1: [ThisAccess] this # 5| 1: [VarAccess] # 5| 1: [Method] fn1 # 5| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 5| 0: [Parameter] i # 5| 0: [TypeAccess] int # 5| 1: [Parameter] j # 5| 0: [TypeAccess] int # 5| 5: [BlockStmt] { ... } # 5| 0: [ReturnStmt] return ... # 5| 0: [MethodAccess] invoke(...) # 5| -1: [VarAccess] # 5| 0: [VarAccess] i # 5| 1: [VarAccess] j # 5| 1: [FieldDeclaration] Function2 ; # 5| -1: [TypeAccess] Function2 # 5| 0: [TypeAccess] Integer # 5| 1: [TypeAccess] Integer # 5| 2: [TypeAccess] Unit # 5| -3: [TypeAccess] InterfaceFn1 # 5| 0: [MemberRefExpr] ...::... # 5| -4: [AnonymousClass] new Function2(...) { ... } # 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] fn2(...) # 5| -1: [TypeAccess] SamConversionKt # 5| 0: [VarAccess] a0 # 5| 1: [VarAccess] a1 # 5| -3: [TypeAccess] Function2 # 5| 0: [TypeAccess] Integer # 5| 1: [TypeAccess] Integer # 5| 2: [TypeAccess] Unit # 7| 3: [LocalVariableDeclStmt] var ...; # 7| 1: [LocalVariableDeclExpr] i # 7| 0: [CastExpr] (...)... # 7| 0: [TypeAccess] InterfaceFnExt1 # 7| 1: [ClassInstanceExpr] new (...) # 7| -4: [AnonymousClass] new InterfaceFnExt1(...) { ... } # 7| 1: [Constructor] #-----| 4: (Parameters) # 7| 0: [Parameter] # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) # 7| 1: [ExprStmt] ; # 7| 0: [AssignExpr] ...=... # 7| 0: [VarAccess] this. # 7| -1: [ThisAccess] this # 7| 1: [VarAccess] # 7| 1: [ExtensionMethod] ext # 7| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 7| 0: [Parameter] # 7| 0: [TypeAccess] String # 7| 1: [Parameter] i # 7| 0: [TypeAccess] int # 7| 5: [BlockStmt] { ... } # 7| 0: [ReturnStmt] return ... # 7| 0: [MethodAccess] invoke(...) # 7| -1: [VarAccess] # 7| 0: [ExtensionReceiverAccess] this # 7| 1: [VarAccess] i # 7| 1: [FieldDeclaration] Function2 ; # 7| -1: [TypeAccess] Function2 # 7| 0: [TypeAccess] String # 7| 1: [TypeAccess] Integer # 7| 2: [TypeAccess] Boolean # 7| -3: [TypeAccess] InterfaceFnExt1 # 7| 0: [LambdaExpr] ...->... # 7| -4: [AnonymousClass] new Function2(...) { ... } # 7| 1: [Constructor] # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) # 7| 1: [ExtensionMethod] invoke # 7| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 7| 0: [Parameter] $this$InterfaceFnExt1 # 7| 0: [TypeAccess] String # 7| 1: [Parameter] i # 7| 0: [TypeAccess] int # 7| 5: [BlockStmt] { ... } # 7| 0: [ReturnStmt] return ... # 7| 0: [ValueEQExpr] ... (value equals) ... # 7| 0: [ExtensionReceiverAccess] this # 7| 1: [StringLiteral] # 7| -3: [TypeAccess] Function2 # 7| 0: [TypeAccess] String # 7| 1: [TypeAccess] Integer # 7| 2: [TypeAccess] Boolean # 9| 4: [LocalVariableDeclStmt] var ...; # 9| 1: [LocalVariableDeclExpr] x # 9| 0: [CastExpr] (...)... # 9| 0: [TypeAccess] IntPredicate # 9| 1: [ClassInstanceExpr] new (...) # 9| -4: [AnonymousClass] new IntPredicate(...) { ... } # 9| 1: [Constructor] #-----| 4: (Parameters) # 9| 0: [Parameter] # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) # 9| 1: [ExprStmt] ; # 9| 0: [AssignExpr] ...=... # 9| 0: [VarAccess] this. # 9| -1: [ThisAccess] this # 9| 1: [VarAccess] # 9| 1: [Method] accept # 9| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 9| 0: [Parameter] i # 9| 0: [TypeAccess] int # 9| 5: [BlockStmt] { ... } # 9| 0: [ReturnStmt] return ... # 9| 0: [MethodAccess] invoke(...) # 9| -1: [VarAccess] # 9| 0: [VarAccess] i # 9| 1: [FieldDeclaration] Function1 ; # 9| -1: [TypeAccess] Function1 # 9| 0: [TypeAccess] Integer # 9| 1: [TypeAccess] Boolean # 9| -3: [TypeAccess] IntPredicate # 9| 0: [WhenExpr] when ... # 9| 0: [WhenBranch] ... -> ... # 9| 0: [VarAccess] b # 9| 1: [ExprStmt] ; # 9| 0: [LambdaExpr] ...->... # 9| -4: [AnonymousClass] new Function1(...) { ... } # 9| 1: [Constructor] # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) # 9| 1: [Method] invoke # 9| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 10| 0: [Parameter] j # 10| 0: [TypeAccess] int # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [ValueEQExpr] ... (value equals) ... # 10| 0: [RemExpr] ... % ... # 10| 0: [VarAccess] j # 10| 1: [IntegerLiteral] 2 # 10| 1: [IntegerLiteral] 0 # 9| -3: [TypeAccess] Function1 # 9| 0: [TypeAccess] Integer # 9| 1: [TypeAccess] Boolean # 9| 1: [WhenBranch] ... -> ... # 9| 0: [BooleanLiteral] true # 11| 1: [ExprStmt] ; # 11| 0: [LambdaExpr] ...->... # 11| -4: [AnonymousClass] new Function1(...) { ... } # 11| 1: [Constructor] # 11| 5: [BlockStmt] { ... } # 11| 0: [SuperConstructorInvocationStmt] super(...) # 11| 1: [Method] invoke # 11| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 12| 0: [Parameter] j # 12| 0: [TypeAccess] int # 12| 5: [BlockStmt] { ... } # 12| 0: [ReturnStmt] return ... # 12| 0: [ValueEQExpr] ... (value equals) ... # 12| 0: [RemExpr] ... % ... # 12| 0: [VarAccess] j # 12| 1: [IntegerLiteral] 2 # 12| 1: [IntegerLiteral] 1 # 11| -3: [TypeAccess] Function1 # 11| 0: [TypeAccess] Integer # 11| 1: [TypeAccess] Boolean # 20| 2: [Method] fn2 # 20| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 20| 0: [Parameter] i # 20| 0: [TypeAccess] int # 20| 1: [Parameter] j # 20| 0: [TypeAccess] int # 20| 5: [BlockStmt] { ... } # 36| 3: [Method] ff # 36| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 36| 0: [Parameter] i0 # 36| 0: [TypeAccess] int # 36| 1: [Parameter] i1 # 36| 0: [TypeAccess] int # 36| 2: [Parameter] i2 # 36| 0: [TypeAccess] int # 36| 3: [Parameter] i3 # 36| 0: [TypeAccess] int # 36| 4: [Parameter] i4 # 36| 0: [TypeAccess] int # 36| 5: [Parameter] i5 # 36| 0: [TypeAccess] int # 36| 6: [Parameter] i6 # 36| 0: [TypeAccess] int # 36| 7: [Parameter] i7 # 36| 0: [TypeAccess] int # 36| 8: [Parameter] i8 # 36| 0: [TypeAccess] int # 36| 9: [Parameter] i9 # 36| 0: [TypeAccess] int # 37| 10: [Parameter] i10 # 37| 0: [TypeAccess] int # 37| 11: [Parameter] i11 # 37| 0: [TypeAccess] int # 37| 12: [Parameter] i12 # 37| 0: [TypeAccess] int # 37| 13: [Parameter] i13 # 37| 0: [TypeAccess] int # 37| 14: [Parameter] i14 # 37| 0: [TypeAccess] int # 37| 15: [Parameter] i15 # 37| 0: [TypeAccess] int # 37| 16: [Parameter] i16 # 37| 0: [TypeAccess] int # 37| 17: [Parameter] i17 # 37| 0: [TypeAccess] int # 37| 18: [Parameter] i18 # 37| 0: [TypeAccess] int # 37| 19: [Parameter] i19 # 37| 0: [TypeAccess] int # 38| 20: [Parameter] i20 # 38| 0: [TypeAccess] int # 38| 21: [Parameter] i21 # 38| 0: [TypeAccess] int # 38| 22: [Parameter] i22 # 38| 0: [TypeAccess] int # 38| 5: [BlockStmt] { ... } # 38| 0: [ReturnStmt] return ... # 38| 0: [BooleanLiteral] true # 40| 4: [Method] fn # 40| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 40| 0: [Parameter] boo # 40| 0: [TypeAccess] boolean # 40| 5: [BlockStmt] { ... } # 41| 0: [LocalVariableDeclStmt] var ...; # 41| 1: [LocalVariableDeclExpr] a # 41| 0: [MemberRefExpr] ...::... # 41| -4: [AnonymousClass] new FunctionN(...) { ... } # 41| 1: [Constructor] # 41| 5: [BlockStmt] { ... } # 41| 0: [SuperConstructorInvocationStmt] super(...) # 41| 1: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 5: [BlockStmt] { ... } # 41| 0: [ReturnStmt] return ... # 41| 0: [MethodAccess] ff(...) # 41| -1: [TypeAccess] SamConversionKt # 41| 0: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 0 # 41| 1: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 1 # 41| 2: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 2 # 41| 3: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 3 # 41| 4: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 4 # 41| 5: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 5 # 41| 6: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 6 # 41| 7: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 7 # 41| 8: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 8 # 41| 9: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 9 # 41| 10: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 10 # 41| 11: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 11 # 41| 12: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 12 # 41| 13: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 13 # 41| 14: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 14 # 41| 15: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 15 # 41| 16: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 16 # 41| 17: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 17 # 41| 18: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 18 # 41| 19: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 19 # 41| 20: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 20 # 41| 21: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 21 # 41| 22: [CastExpr] (...)... # 41| 0: [TypeAccess] int # 41| 1: [ArrayAccess] ...[...] # 41| 0: [VarAccess] a0 # 41| 1: [IntegerLiteral] 22 # 41| -3: [TypeAccess] FunctionN # 41| 0: [TypeAccess] Boolean # 42| 1: [LocalVariableDeclStmt] var ...; # 42| 1: [LocalVariableDeclExpr] b # 42| 0: [CastExpr] (...)... # 42| 0: [TypeAccess] BigArityPredicate # 42| 1: [ClassInstanceExpr] new (...) # 42| -4: [AnonymousClass] new BigArityPredicate(...) { ... } # 42| 1: [Constructor] #-----| 4: (Parameters) # 42| 0: [Parameter] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) # 42| 1: [ExprStmt] ; # 42| 0: [AssignExpr] ...=... # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] # 42| 1: [Method] accept # 42| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 42| 0: [Parameter] i0 # 42| 0: [TypeAccess] int # 42| 1: [Parameter] i1 # 42| 0: [TypeAccess] int # 42| 2: [Parameter] i2 # 42| 0: [TypeAccess] int # 42| 3: [Parameter] i3 # 42| 0: [TypeAccess] int # 42| 4: [Parameter] i4 # 42| 0: [TypeAccess] int # 42| 5: [Parameter] i5 # 42| 0: [TypeAccess] int # 42| 6: [Parameter] i6 # 42| 0: [TypeAccess] int # 42| 7: [Parameter] i7 # 42| 0: [TypeAccess] int # 42| 8: [Parameter] i8 # 42| 0: [TypeAccess] int # 42| 9: [Parameter] i9 # 42| 0: [TypeAccess] int # 42| 10: [Parameter] i10 # 42| 0: [TypeAccess] int # 42| 11: [Parameter] i11 # 42| 0: [TypeAccess] int # 42| 12: [Parameter] i12 # 42| 0: [TypeAccess] int # 42| 13: [Parameter] i13 # 42| 0: [TypeAccess] int # 42| 14: [Parameter] i14 # 42| 0: [TypeAccess] int # 42| 15: [Parameter] i15 # 42| 0: [TypeAccess] int # 42| 16: [Parameter] i16 # 42| 0: [TypeAccess] int # 42| 17: [Parameter] i17 # 42| 0: [TypeAccess] int # 42| 18: [Parameter] i18 # 42| 0: [TypeAccess] int # 42| 19: [Parameter] i19 # 42| 0: [TypeAccess] int # 42| 20: [Parameter] i20 # 42| 0: [TypeAccess] int # 42| 21: [Parameter] i21 # 42| 0: [TypeAccess] int # 42| 22: [Parameter] i22 # 42| 0: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] invoke(...) # 42| -1: [VarAccess] # 42| 0: [ArrayCreationExpr] new Object[] # 42| -2: [ArrayInit] {...} # 42| 0: [VarAccess] i0 # 42| 1: [VarAccess] i1 # 42| 2: [VarAccess] i2 # 42| 3: [VarAccess] i3 # 42| 4: [VarAccess] i4 # 42| 5: [VarAccess] i5 # 42| 6: [VarAccess] i6 # 42| 7: [VarAccess] i7 # 42| 8: [VarAccess] i8 # 42| 9: [VarAccess] i9 # 42| 10: [VarAccess] i10 # 42| 11: [VarAccess] i11 # 42| 12: [VarAccess] i12 # 42| 13: [VarAccess] i13 # 42| 14: [VarAccess] i14 # 42| 15: [VarAccess] i15 # 42| 16: [VarAccess] i16 # 42| 17: [VarAccess] i17 # 42| 18: [VarAccess] i18 # 42| 19: [VarAccess] i19 # 42| 20: [VarAccess] i20 # 42| 21: [VarAccess] i21 # 42| 22: [VarAccess] i22 # 42| -1: [TypeAccess] Object # 42| 0: [IntegerLiteral] 23 # 42| 1: [FieldDeclaration] FunctionN ; # 42| -1: [TypeAccess] FunctionN # 42| 0: [TypeAccess] Boolean # 42| -3: [TypeAccess] BigArityPredicate # 42| 0: [VarAccess] a # 43| 2: [LocalVariableDeclStmt] var ...; # 43| 1: [LocalVariableDeclExpr] c # 43| 0: [CastExpr] (...)... # 43| 0: [TypeAccess] BigArityPredicate # 43| 1: [ClassInstanceExpr] new (...) # 43| -4: [AnonymousClass] new BigArityPredicate(...) { ... } # 43| 1: [Constructor] #-----| 4: (Parameters) # 43| 0: [Parameter] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) # 43| 1: [ExprStmt] ; # 43| 0: [AssignExpr] ...=... # 43| 0: [VarAccess] this. # 43| -1: [ThisAccess] this # 43| 1: [VarAccess] # 43| 1: [Method] accept # 43| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 43| 0: [Parameter] i0 # 43| 0: [TypeAccess] int # 43| 1: [Parameter] i1 # 43| 0: [TypeAccess] int # 43| 2: [Parameter] i2 # 43| 0: [TypeAccess] int # 43| 3: [Parameter] i3 # 43| 0: [TypeAccess] int # 43| 4: [Parameter] i4 # 43| 0: [TypeAccess] int # 43| 5: [Parameter] i5 # 43| 0: [TypeAccess] int # 43| 6: [Parameter] i6 # 43| 0: [TypeAccess] int # 43| 7: [Parameter] i7 # 43| 0: [TypeAccess] int # 43| 8: [Parameter] i8 # 43| 0: [TypeAccess] int # 43| 9: [Parameter] i9 # 43| 0: [TypeAccess] int # 43| 10: [Parameter] i10 # 43| 0: [TypeAccess] int # 43| 11: [Parameter] i11 # 43| 0: [TypeAccess] int # 43| 12: [Parameter] i12 # 43| 0: [TypeAccess] int # 43| 13: [Parameter] i13 # 43| 0: [TypeAccess] int # 43| 14: [Parameter] i14 # 43| 0: [TypeAccess] int # 43| 15: [Parameter] i15 # 43| 0: [TypeAccess] int # 43| 16: [Parameter] i16 # 43| 0: [TypeAccess] int # 43| 17: [Parameter] i17 # 43| 0: [TypeAccess] int # 43| 18: [Parameter] i18 # 43| 0: [TypeAccess] int # 43| 19: [Parameter] i19 # 43| 0: [TypeAccess] int # 43| 20: [Parameter] i20 # 43| 0: [TypeAccess] int # 43| 21: [Parameter] i21 # 43| 0: [TypeAccess] int # 43| 22: [Parameter] i22 # 43| 0: [TypeAccess] int # 43| 5: [BlockStmt] { ... } # 43| 0: [ReturnStmt] return ... # 43| 0: [MethodAccess] invoke(...) # 43| -1: [VarAccess] # 43| 0: [ArrayCreationExpr] new Object[] # 43| -2: [ArrayInit] {...} # 43| 0: [VarAccess] i0 # 43| 1: [VarAccess] i1 # 43| 2: [VarAccess] i2 # 43| 3: [VarAccess] i3 # 43| 4: [VarAccess] i4 # 43| 5: [VarAccess] i5 # 43| 6: [VarAccess] i6 # 43| 7: [VarAccess] i7 # 43| 8: [VarAccess] i8 # 43| 9: [VarAccess] i9 # 43| 10: [VarAccess] i10 # 43| 11: [VarAccess] i11 # 43| 12: [VarAccess] i12 # 43| 13: [VarAccess] i13 # 43| 14: [VarAccess] i14 # 43| 15: [VarAccess] i15 # 43| 16: [VarAccess] i16 # 43| 17: [VarAccess] i17 # 43| 18: [VarAccess] i18 # 43| 19: [VarAccess] i19 # 43| 20: [VarAccess] i20 # 43| 21: [VarAccess] i21 # 43| 22: [VarAccess] i22 # 43| -1: [TypeAccess] Object # 43| 0: [IntegerLiteral] 23 # 43| 1: [FieldDeclaration] FunctionN ; # 43| -1: [TypeAccess] FunctionN # 43| 0: [TypeAccess] Boolean # 43| -3: [TypeAccess] BigArityPredicate # 43| 0: [LambdaExpr] ...->... # 43| -4: [AnonymousClass] new FunctionN(...) { ... } # 43| 1: [Constructor] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) # 43| 1: [Method] invoke # 43| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 43| 0: [Parameter] i0 # 43| 0: [TypeAccess] int # 43| 1: [Parameter] i1 # 43| 0: [TypeAccess] int # 43| 2: [Parameter] i2 # 43| 0: [TypeAccess] int # 43| 3: [Parameter] i3 # 43| 0: [TypeAccess] int # 43| 4: [Parameter] i4 # 43| 0: [TypeAccess] int # 43| 5: [Parameter] i5 # 43| 0: [TypeAccess] int # 43| 6: [Parameter] i6 # 43| 0: [TypeAccess] int # 43| 7: [Parameter] i7 # 43| 0: [TypeAccess] int # 43| 8: [Parameter] i8 # 43| 0: [TypeAccess] int # 43| 9: [Parameter] i9 # 43| 0: [TypeAccess] int # 44| 10: [Parameter] i10 # 44| 0: [TypeAccess] int # 44| 11: [Parameter] i11 # 44| 0: [TypeAccess] int # 44| 12: [Parameter] i12 # 44| 0: [TypeAccess] int # 44| 13: [Parameter] i13 # 44| 0: [TypeAccess] int # 44| 14: [Parameter] i14 # 44| 0: [TypeAccess] int # 44| 15: [Parameter] i15 # 44| 0: [TypeAccess] int # 44| 16: [Parameter] i16 # 44| 0: [TypeAccess] int # 44| 17: [Parameter] i17 # 44| 0: [TypeAccess] int # 44| 18: [Parameter] i18 # 44| 0: [TypeAccess] int # 44| 19: [Parameter] i19 # 44| 0: [TypeAccess] int # 45| 20: [Parameter] i20 # 45| 0: [TypeAccess] int # 45| 21: [Parameter] i21 # 45| 0: [TypeAccess] int # 45| 22: [Parameter] i22 # 45| 0: [TypeAccess] int # 45| 5: [BlockStmt] { ... } # 45| 0: [ReturnStmt] return ... # 45| 0: [BooleanLiteral] true # 43| 1: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 5: [BlockStmt] { ... } # 43| 0: [ReturnStmt] return ... # 43| 0: [MethodAccess] invoke(...) # 43| -1: [ThisAccess] this # 43| 0: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 0 # 43| 1: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 1 # 43| 2: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 2 # 43| 3: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 3 # 43| 4: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 4 # 43| 5: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 5 # 43| 6: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 6 # 43| 7: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 7 # 43| 8: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 8 # 43| 9: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 9 # 43| 10: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 10 # 43| 11: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 11 # 43| 12: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 12 # 43| 13: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 13 # 43| 14: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 14 # 43| 15: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 15 # 43| 16: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 16 # 43| 17: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 17 # 43| 18: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 18 # 43| 19: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 19 # 43| 20: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 20 # 43| 21: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 21 # 43| 22: [CastExpr] (...)... # 43| 0: [TypeAccess] int # 43| 1: [ArrayAccess] ...[...] # 43| 0: [VarAccess] a0 # 43| 1: [IntegerLiteral] 22 # 43| -3: [TypeAccess] FunctionN # 43| 0: [TypeAccess] Boolean # 46| 3: [LocalVariableDeclStmt] var ...; # 46| 1: [LocalVariableDeclExpr] d # 46| 0: [CastExpr] (...)... # 46| 0: [TypeAccess] SomePredicate # 46| 0: [TypeAccess] Integer # 46| 1: [ClassInstanceExpr] new (...) # 46| -4: [AnonymousClass] new SomePredicate(...) { ... } # 46| 1: [Constructor] #-----| 4: (Parameters) # 46| 0: [Parameter] # 46| 5: [BlockStmt] { ... } # 46| 0: [SuperConstructorInvocationStmt] super(...) # 46| 1: [ExprStmt] ; # 46| 0: [AssignExpr] ...=... # 46| 0: [VarAccess] this. # 46| -1: [ThisAccess] this # 46| 1: [VarAccess] # 46| 1: [Method] fn # 46| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 46| 0: [Parameter] i # 46| 0: [TypeAccess] Integer # 46| 5: [BlockStmt] { ... } # 46| 0: [ReturnStmt] return ... # 46| 0: [MethodAccess] invoke(...) # 46| -1: [VarAccess] # 46| 0: [VarAccess] i # 46| 1: [FieldDeclaration] Function1 ; # 46| -1: [TypeAccess] Function1 # 46| 0: [TypeAccess] Integer # 46| 1: [TypeAccess] Boolean # 46| -3: [TypeAccess] SomePredicate # 46| 0: [TypeAccess] Integer # 46| 0: [LambdaExpr] ...->... # 46| -4: [AnonymousClass] new Function1(...) { ... } # 46| 1: [Constructor] # 46| 5: [BlockStmt] { ... } # 46| 0: [SuperConstructorInvocationStmt] super(...) # 46| 1: [Method] invoke # 46| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 46| 0: [Parameter] a # 46| 0: [TypeAccess] int # 46| 5: [BlockStmt] { ... } # 46| 0: [ReturnStmt] return ... # 46| 0: [BooleanLiteral] true # 46| -3: [TypeAccess] Function1 # 46| 0: [TypeAccess] Integer # 46| 1: [TypeAccess] Boolean # 16| 2: [Interface] IntPredicate # 17| 1: [Method] accept # 17| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 17| 0: [Parameter] i # 17| 0: [TypeAccess] int # 22| 3: [Interface] InterfaceFn1 # 23| 1: [Method] fn1 # 23| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 23| 0: [Parameter] i # 23| 0: [TypeAccess] int # 23| 1: [Parameter] j # 23| 0: [TypeAccess] int # 26| 4: [Interface] InterfaceFnExt1 # 27| 1: [ExtensionMethod] ext # 27| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 27| 0: [Parameter] # 27| 0: [TypeAccess] String # 27| 1: [Parameter] i # 27| 0: [TypeAccess] int # 30| 5: [Interface] BigArityPredicate # 31| 1: [Method] accept # 31| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 31| 0: [Parameter] i0 # 31| 0: [TypeAccess] int # 31| 1: [Parameter] i1 # 31| 0: [TypeAccess] int # 31| 2: [Parameter] i2 # 31| 0: [TypeAccess] int # 31| 3: [Parameter] i3 # 31| 0: [TypeAccess] int # 31| 4: [Parameter] i4 # 31| 0: [TypeAccess] int # 31| 5: [Parameter] i5 # 31| 0: [TypeAccess] int # 31| 6: [Parameter] i6 # 31| 0: [TypeAccess] int # 31| 7: [Parameter] i7 # 31| 0: [TypeAccess] int # 31| 8: [Parameter] i8 # 31| 0: [TypeAccess] int # 31| 9: [Parameter] i9 # 31| 0: [TypeAccess] int # 32| 10: [Parameter] i10 # 32| 0: [TypeAccess] int # 32| 11: [Parameter] i11 # 32| 0: [TypeAccess] int # 32| 12: [Parameter] i12 # 32| 0: [TypeAccess] int # 32| 13: [Parameter] i13 # 32| 0: [TypeAccess] int # 32| 14: [Parameter] i14 # 32| 0: [TypeAccess] int # 32| 15: [Parameter] i15 # 32| 0: [TypeAccess] int # 32| 16: [Parameter] i16 # 32| 0: [TypeAccess] int # 32| 17: [Parameter] i17 # 32| 0: [TypeAccess] int # 32| 18: [Parameter] i18 # 32| 0: [TypeAccess] int # 32| 19: [Parameter] i19 # 32| 0: [TypeAccess] int # 33| 20: [Parameter] i20 # 33| 0: [TypeAccess] int # 33| 21: [Parameter] i21 # 33| 0: [TypeAccess] int # 33| 22: [Parameter] i22 # 33| 0: [TypeAccess] int # 49| 6: [GenericType,Interface,ParameterizedType] SomePredicate #-----| -2: (Generic Parameters) # 49| 0: [TypeVariable] T # 50| 1: [Method] fn # 50| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 50| 0: [Parameter] i # 50| 0: [TypeAccess] T whenExpr.kt: # 0| [CompilationUnit] whenExpr # 0| 1: [Class] WhenExprKt # 1| 1: [Method] testWhen # 1| 3: [TypeAccess] int #-----| 4: (Parameters) # 1| 0: [Parameter] i # 1| 0: [TypeAccess] int # 1| 5: [BlockStmt] { ... } # 2| 0: [ReturnStmt] return ... # 2| 0: [StmtExpr] # 2| 0: [BlockStmt] { ... } # 2| 0: [LocalVariableDeclStmt] var ...; # 2| 1: [LocalVariableDeclExpr] tmp0_subject # 2| 0: [VarAccess] i # 2| 1: [ExprStmt] ; # 2| 0: [WhenExpr] when ... # 3| 0: [WhenBranch] ... -> ... # 3| 0: [ValueEQExpr] ... (value equals) ... # 3| 0: [VarAccess] tmp0_subject # 3| 1: [IntegerLiteral] 0 # 3| 1: [ExprStmt] ; # 3| 0: [IntegerLiteral] 1 # 4| 1: [WhenBranch] ... -> ... # 4| 0: [ValueEQExpr] ... (value equals) ... # 4| 0: [VarAccess] tmp0_subject # 4| 1: [IntegerLiteral] 1 # 4| 1: [ExprStmt] ; # 4| 0: [IntegerLiteral] 2 # 5| 2: [WhenBranch] ... -> ... # 5| 0: [ValueEQExpr] ... (value equals) ... # 5| 0: [VarAccess] tmp0_subject # 5| 1: [IntegerLiteral] 2 # 5| 1: [ReturnStmt] return ... # 5| 0: [IntegerLiteral] 3 # 6| 3: [WhenBranch] ... -> ... # 6| 0: [ValueEQExpr] ... (value equals) ... # 6| 0: [VarAccess] tmp0_subject # 6| 1: [IntegerLiteral] 3 # 6| 1: [ThrowStmt] throw ... # 6| 0: [ClassInstanceExpr] new Exception(...) # 6| -3: [TypeAccess] Exception # 6| 0: [StringLiteral] No threes please # 7| 4: [WhenBranch] ... -> ... # 7| 0: [BooleanLiteral] true # 7| 1: [ExprStmt] ; # 7| 0: [IntegerLiteral] 999