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| 3: [FieldDeclaration] int topLevelInt; # 60| -1: [TypeAccess] int # 60| 0: [IntegerLiteral] 0 # 60| 4: [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] # 87| 5: [FieldDeclaration] KMutableProperty0 extDelegated$delegateMyClass; # 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| 2: [Method] get # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] getTopLevelInt(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 3: [Method] invoke # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] get(...) # 87| -1: [ThisAccess] this # 87| 4: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] setTopLevelInt(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| -3: [TypeAccess] KMutableProperty0 # 87| 0: [TypeAccess] Integer # 87| 6: [ExtensionMethod] getExtDelegated # 87| 3: [TypeAccess] int #-----| 4: (Parameters) # 87| 0: [Parameter] # 87| 0: [TypeAccess] MyClass # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] getValue(...) # 87| -2: [TypeAccess] Integer # 87| -1: [TypeAccess] PropertyReferenceDelegatesKt # 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegateMyClass # 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| 2: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 3: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 # 87| 4: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] 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| 7: [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: [MethodCall] setValue(...) # 87| -2: [TypeAccess] Integer # 87| -1: [TypeAccess] PropertyReferenceDelegatesKt # 87| 0: [VarAccess] DelegatedPropertiesKt.extDelegated$delegateMyClass # 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| 2: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 # 87| 3: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 # 87| 4: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 # 87| 5: [BlockStmt] { ... } # 87| 0: [ReturnStmt] return ... # 87| 0: [MethodCall] 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] # 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: [MethodCall] 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| 2: [Method] invoke # 6| 3: [TypeAccess] int # 7| 5: [BlockStmt] { ... } # 7| 0: [ExprStmt] ; # 7| 0: [MethodCall] 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| 2: [Method] # 6| 3: [TypeAccess] int # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodCall] 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| 2: [Method] get # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodCall] (...) # 6| -1: [ClassInstanceExpr] new (...) # 6| -3: [TypeAccess] Object # 6| 3: [Method] invoke # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodCall] get(...) # 6| -1: [ThisAccess] this # 6| -3: [TypeAccess] KProperty0 # 6| 0: [TypeAccess] Integer # 10| 1: [ExprStmt] ; # 10| 0: [MethodCall] println(...) # 10| -1: [TypeAccess] ConsoleKt # 10| 0: [MethodCall] (...) # 10| -1: [ClassInstanceExpr] new (...) # 10| -3: [TypeAccess] Object # 11| 2: [ExprStmt] ; # 11| 0: [MethodCall] println(...) # 11| -1: [TypeAccess] ConsoleKt # 11| 0: [MethodCall] (...) # 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: [WildcardTypeAccess] ? ... # 18| 0: [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| 2: [Method] # 19| 3: [TypeAccess] int # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] 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| 2: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 3: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] get(...) # 19| -1: [ThisAccess] this # 19| 4: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] (...) # 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| 2: [Method] # 19| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 19| 0: [Parameter] value # 19| 0: [TypeAccess] int # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] 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| 2: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object # 19| 3: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] get(...) # 19| -1: [ThisAccess] this # 19| 4: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodCall] (...) # 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: [MethodCall] println(...) # 20| -1: [TypeAccess] ConsoleKt # 20| 0: [MethodCall] (...) # 20| -1: [ClassInstanceExpr] new (...) # 20| -3: [TypeAccess] Object # 21| 2: [ExprStmt] ; # 21| 0: [MethodCall] (...) # 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| 2: [Method] # 23| 3: [TypeAccess] String # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] 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| 2: [Method] get # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] (...) # 23| -1: [ClassInstanceExpr] new (...) # 23| -3: [TypeAccess] Object # 23| 3: [Method] invoke # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] 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| 2: [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| 3: [FieldDeclaration] int curValue; # 26| -1: [TypeAccess] int # 26| 0: [IntegerLiteral] 0 # 26| 4: [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] # 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| 0: [WildcardTypeAccess] ? ... # 27| 5: [BlockStmt] { ... } # 27| 0: [ReturnStmt] return ... # 27| 0: [MethodCall] 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| 0: [WildcardTypeAccess] ? ... # 28| 2: [Parameter] value # 28| 0: [TypeAccess] int # 28| 5: [BlockStmt] { ... } # 29| 0: [ExprStmt] ; # 29| 0: [MethodCall] 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: [MethodCall] 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| 2: [Method] # 33| 3: [TypeAccess] int # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodCall] 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| 2: [Method] get # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodCall] (...) # 33| -1: [ClassInstanceExpr] new (...) # 33| -3: [TypeAccess] Object # 33| 3: [Method] invoke # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodCall] 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: [MethodCall] 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| 2: [Method] # 34| 3: [TypeAccess] int # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] 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| 2: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 3: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] get(...) # 34| -1: [ThisAccess] this # 34| 4: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] (...) # 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| 2: [Method] # 34| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 34| 0: [Parameter] value # 34| 0: [TypeAccess] int # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] 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| 2: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object # 34| 3: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] get(...) # 34| -1: [ThisAccess] this # 34| 4: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] (...) # 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: [MethodCall] println(...) # 36| -1: [TypeAccess] ConsoleKt # 36| 0: [MethodCall] getVarResource0(...) # 36| -1: [ThisAccess] this # 37| 8: [ExprStmt] ; # 37| 0: [MethodCall] setVarResource0(...) # 37| -1: [ThisAccess] this # 37| 0: [IntegerLiteral] 3 # 39| 9: [BlockStmt] { ... } # 39| 0: [LocalVariableDeclStmt] var ...; # 39| 1: [LocalVariableDeclExpr] varResource2$delegate # 39| 0: [MethodCall] 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| 2: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object # 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] 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| 2: [Method] # 39| 3: [TypeAccess] int # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] 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| 2: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object # 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] get(...) # 39| -1: [ThisAccess] this # 39| -3: [TypeAccess] KProperty0 # 39| 0: [TypeAccess] Integer # 42| 3: [FieldDeclaration] ResourceDelegate varResource0$delegate; # 42| -1: [TypeAccess] ResourceDelegate # 42| 0: [ClassInstanceExpr] new ResourceDelegate(...) # 42| -3: [TypeAccess] ResourceDelegate # 42| 4: [Method] getVarResource0 # 42| 3: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] getVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 # 42| 4: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] setVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 0: [VarAccess] a1 # 42| -3: [TypeAccess] KMutableProperty1 # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer # 42| 5: [Method] setVarResource0 # 42| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 42| 0: [Parameter] # 42| 0: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] getVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 # 42| 4: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] setVarResource0(...) # 42| -1: [VarAccess] a0 # 42| 0: [VarAccess] a1 # 42| -3: [TypeAccess] KMutableProperty1 # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer # 42| 2: [VarAccess] # 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| 0: [WildcardTypeAccess] ? ... # 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| 0: [WildcardTypeAccess] ? ... # 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| 0: [WildcardTypeAccess] ? ... # 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| 3: [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| 3: [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| 3: [FieldDeclaration] int memberInt; # 65| -1: [TypeAccess] int # 65| 0: [VarAccess] memberInt # 65| 4: [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| 5: [FieldDeclaration] ClassWithDelegate anotherClassInstance; # 65| -1: [TypeAccess] ClassWithDelegate # 65| 0: [VarAccess] anotherClassInstance # 65| 6: [Method] getAnotherClassInstance # 65| 3: [TypeAccess] ClassWithDelegate # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [VarAccess] this.anotherClassInstance # 65| -1: [ThisAccess] this # 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| 2: [FieldDeclaration] MyClass ; # 66| -1: [TypeAccess] MyClass # 66| 3: [Method] get # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] getMemberInt(...) # 66| -1: [VarAccess] this. # 66| -1: [ThisAccess] this # 66| 4: [Method] invoke # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] get(...) # 66| -1: [ThisAccess] this # 66| 5: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] 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 # 66| 8: [Method] getDelegatedToMember1 # 66| 3: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 3: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 # 66| 4: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] setDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 0: [VarAccess] a1 # 66| -3: [TypeAccess] KMutableProperty1 # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer # 66| 9: [Method] setDelegatedToMember1 # 66| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 66| 0: [Parameter] # 66| 0: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 3: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 # 66| 4: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodCall] setDelegatedToMember1(...) # 66| -1: [VarAccess] a0 # 66| 0: [VarAccess] a1 # 66| -3: [TypeAccess] KMutableProperty1 # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer # 66| 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| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] getMemberInt(...) # 67| -1: [VarAccess] a0 # 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] setMemberInt(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 11: [Method] getDelegatedToMember2 # 67| 3: [TypeAccess] int # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] setDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 12: [Method] setDelegatedToMember2 # 67| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 67| 0: [Parameter] # 67| 0: [TypeAccess] int # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 # 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodCall] setDelegatedToMember2(...) # 67| -1: [VarAccess] a0 # 67| 0: [VarAccess] a1 # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 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| 2: [FieldDeclaration] MyClass ; # 69| -1: [TypeAccess] MyClass # 69| 3: [Method] get # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] getExtDelegated(...) # 69| -1: [TypeAccess] DelegatedPropertiesKt # 69| 0: [VarAccess] this. # 69| -1: [ThisAccess] this # 69| 4: [Method] invoke # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] get(...) # 69| -1: [ThisAccess] this # 69| 5: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] 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 # 69| 14: [Method] getDelegatedToExtMember1 # 69| 3: [TypeAccess] int # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 3: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 # 69| 4: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] setDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 0: [VarAccess] a1 # 69| -3: [TypeAccess] KMutableProperty1 # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer # 69| 15: [Method] setDelegatedToExtMember1 # 69| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 69| 0: [Parameter] # 69| 0: [TypeAccess] int # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 3: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 # 69| 4: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodCall] setDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 # 69| 0: [VarAccess] a1 # 69| -3: [TypeAccess] KMutableProperty1 # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer # 69| 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| 2: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] getExtDelegated(...) # 70| -1: [TypeAccess] DelegatedPropertiesKt # 70| 0: [VarAccess] a0 # 70| 3: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 4: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] 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 # 70| 17: [Method] getDelegatedToExtMember2 # 70| 3: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 3: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 4: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] setDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 0: [VarAccess] a1 # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 18: [Method] setDelegatedToExtMember2 # 70| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 70| 0: [Parameter] # 70| 0: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 3: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 # 70| 4: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodCall] setDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 # 70| 0: [VarAccess] a1 # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 3: [VarAccess] # 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| 2: [FieldDeclaration] MyClass ; # 72| -1: [TypeAccess] MyClass # 72| 3: [Method] get # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodCall] getBaseClassInt(...) # 72| -1: [VarAccess] this. # 72| -1: [ThisAccess] this # 72| 4: [Method] invoke # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodCall] get(...) # 72| -1: [ThisAccess] this # 72| -3: [TypeAccess] KProperty0 # 72| 0: [TypeAccess] Integer # 72| 0: [ThisAccess] MyClass.this # 72| 0: [TypeAccess] MyClass # 72| 20: [Method] getDelegatedToBaseClass1 # 72| 3: [TypeAccess] int # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 72| 0: [Parameter] a0 # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodCall] getDelegatedToBaseClass1(...) # 72| -1: [VarAccess] a0 # 72| 3: [Method] invoke #-----| 4: (Parameters) # 72| 0: [Parameter] a0 # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodCall] get(...) # 72| -1: [ThisAccess] this # 72| 0: [VarAccess] a0 # 72| -3: [TypeAccess] KProperty1 # 72| 0: [TypeAccess] MyClass # 72| 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| 2: [Method] get #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodCall] getBaseClassInt(...) # 73| -1: [VarAccess] a0 # 73| 3: [Method] invoke #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodCall] get(...) # 73| -1: [ThisAccess] this # 73| 0: [VarAccess] a0 # 73| -3: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] Base # 73| 1: [TypeAccess] Integer # 73| 22: [Method] getDelegatedToBaseClass2 # 73| 3: [TypeAccess] int # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodCall] getDelegatedToBaseClass2(...) # 73| -1: [VarAccess] a0 # 73| 3: [Method] invoke #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodCall] get(...) # 73| -1: [ThisAccess] this # 73| 0: [VarAccess] a0 # 73| -3: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] MyClass # 73| 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| 2: [FieldDeclaration] ClassWithDelegate ; # 75| -1: [TypeAccess] ClassWithDelegate # 75| 3: [Method] get # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] getAnotherClassInt(...) # 75| -1: [VarAccess] this. # 75| -1: [ThisAccess] this # 75| 4: [Method] invoke # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] get(...) # 75| -1: [ThisAccess] this # 75| -3: [TypeAccess] KProperty0 # 75| 0: [TypeAccess] Integer # 75| 0: [MethodCall] getAnotherClassInstance(...) # 75| -1: [ThisAccess] MyClass.this # 75| 0: [TypeAccess] MyClass # 75| 24: [Method] getDelegatedToAnotherClass1 # 75| 3: [TypeAccess] int # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 75| 0: [Parameter] a0 # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] getDelegatedToAnotherClass1(...) # 75| -1: [VarAccess] a0 # 75| 3: [Method] invoke #-----| 4: (Parameters) # 75| 0: [Parameter] a0 # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] get(...) # 75| -1: [ThisAccess] this # 75| 0: [VarAccess] a0 # 75| -3: [TypeAccess] KProperty1 # 75| 0: [TypeAccess] MyClass # 75| 1: [TypeAccess] Integer # 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| 2: [Method] get # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] getTopLevelInt(...) # 77| -1: [TypeAccess] DelegatedPropertiesKt # 77| 3: [Method] invoke # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] get(...) # 77| -1: [ThisAccess] this # 77| 4: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] setTopLevelInt(...) # 77| -1: [TypeAccess] DelegatedPropertiesKt # 77| 0: [VarAccess] a0 # 77| -3: [TypeAccess] KMutableProperty0 # 77| 0: [TypeAccess] Integer # 77| 26: [Method] getDelegatedToTopLevel # 77| 3: [TypeAccess] int # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 3: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 # 77| 4: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] setDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 0: [VarAccess] a1 # 77| -3: [TypeAccess] KMutableProperty1 # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer # 77| 27: [Method] setDelegatedToTopLevel # 77| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 77| 0: [Parameter] # 77| 0: [TypeAccess] int # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 3: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 # 77| 4: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodCall] setDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 # 77| 0: [VarAccess] a1 # 77| -3: [TypeAccess] KMutableProperty1 # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer # 77| 3: [VarAccess] # 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| 2: [Method] get # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [VarAccess] MAX_VALUE # 79| 3: [Method] invoke # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodCall] get(...) # 79| -1: [ThisAccess] this # 79| -3: [TypeAccess] KProperty0 # 79| 0: [TypeAccess] Integer # 79| 29: [Method] getMax # 79| 3: [TypeAccess] int # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodCall] 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| 2: [Method] get #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodCall] getMax(...) # 79| -1: [VarAccess] a0 # 79| 3: [Method] invoke #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodCall] get(...) # 79| -1: [ThisAccess] this # 79| 0: [VarAccess] a0 # 79| -3: [TypeAccess] KProperty1 # 79| 0: [TypeAccess] MyClass # 79| 1: [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| 2: [FieldDeclaration] MyClass ; # 82| -1: [TypeAccess] MyClass # 82| 3: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] getMemberInt(...) # 82| -1: [VarAccess] this. # 82| -1: [ThisAccess] this # 82| 4: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] get(...) # 82| -1: [ThisAccess] this # 82| 5: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] 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| 2: [Method] # 82| 3: [TypeAccess] int # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] 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| 2: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 3: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] get(...) # 82| -1: [ThisAccess] this # 82| 4: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] (...) # 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| 2: [Method] # 82| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 82| 0: [Parameter] value # 82| 0: [TypeAccess] int # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] 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| 2: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object # 82| 3: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] get(...) # 82| -1: [ThisAccess] this # 82| 4: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodCall] (...) # 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: [MethodCall] 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: [LeftShiftExpr] ... << ... # 16| 0: [VarAccess] x # 16| 1: [VarAccess] y # 17| 6: [LocalVariableDeclStmt] var ...; # 17| 1: [LocalVariableDeclExpr] i7 # 17| 0: [RightShiftExpr] ... >> ... # 17| 0: [VarAccess] x # 17| 1: [VarAccess] y # 18| 7: [LocalVariableDeclStmt] var ...; # 18| 1: [LocalVariableDeclExpr] i8 # 18| 0: [UnsignedRightShiftExpr] ... >>> ... # 18| 0: [VarAccess] x # 18| 1: [VarAccess] y # 19| 8: [LocalVariableDeclStmt] var ...; # 19| 1: [LocalVariableDeclExpr] i9 # 19| 0: [AndBitwiseExpr] ... & ... # 19| 0: [VarAccess] x # 19| 1: [VarAccess] y # 20| 9: [LocalVariableDeclStmt] var ...; # 20| 1: [LocalVariableDeclExpr] i10 # 20| 0: [OrBitwiseExpr] ... | ... # 20| 0: [VarAccess] x # 20| 1: [VarAccess] y # 21| 10: [LocalVariableDeclStmt] var ...; # 21| 1: [LocalVariableDeclExpr] i11 # 21| 0: [XorBitwiseExpr] ... ^ ... # 21| 0: [VarAccess] x # 21| 1: [VarAccess] y # 22| 11: [LocalVariableDeclStmt] var ...; # 22| 1: [LocalVariableDeclExpr] i12 # 22| 0: [BitNotExpr] ~... # 22| 0: [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: [MethodCall] contains(...) # 31| -1: [MethodCall] rangeTo(...) # 31| -1: [VarAccess] x # 31| 0: [VarAccess] y # 31| 0: [VarAccess] x # 32| 21: [LocalVariableDeclStmt] var ...; # 32| 1: [LocalVariableDeclExpr] i22 # 32| 0: [LogNotExpr] !... # 32| 0: [MethodCall] contains(...) # 32| -1: [MethodCall] 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: [MethodCall] intValue(...) # 39| -1: [VarAccess] byx # 39| 1: [MethodCall] intValue(...) # 39| -1: [VarAccess] byy # 40| 28: [LocalVariableDeclStmt] var ...; # 40| 1: [LocalVariableDeclExpr] by7 # 40| 0: [ValueNEExpr] ... (value not-equals) ... # 40| 0: [MethodCall] intValue(...) # 40| -1: [VarAccess] byx # 40| 1: [MethodCall] intValue(...) # 40| -1: [VarAccess] byy # 41| 29: [LocalVariableDeclStmt] var ...; # 41| 1: [LocalVariableDeclExpr] by8 # 41| 0: [LTExpr] ... < ... # 41| 0: [MethodCall] intValue(...) # 41| -1: [VarAccess] byx # 41| 1: [MethodCall] intValue(...) # 41| -1: [VarAccess] byy # 42| 30: [LocalVariableDeclStmt] var ...; # 42| 1: [LocalVariableDeclExpr] by9 # 42| 0: [LEExpr] ... <= ... # 42| 0: [MethodCall] intValue(...) # 42| -1: [VarAccess] byx # 42| 1: [MethodCall] intValue(...) # 42| -1: [VarAccess] byy # 43| 31: [LocalVariableDeclStmt] var ...; # 43| 1: [LocalVariableDeclExpr] by10 # 43| 0: [GTExpr] ... > ... # 43| 0: [MethodCall] intValue(...) # 43| -1: [VarAccess] byx # 43| 1: [MethodCall] intValue(...) # 43| -1: [VarAccess] byy # 44| 32: [LocalVariableDeclStmt] var ...; # 44| 1: [LocalVariableDeclExpr] by11 # 44| 0: [GEExpr] ... >= ... # 44| 0: [MethodCall] intValue(...) # 44| -1: [VarAccess] byx # 44| 1: [MethodCall] intValue(...) # 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 # 47| 35: [LocalVariableDeclStmt] var ...; # 47| 1: [LocalVariableDeclExpr] by14 # 47| 0: [OrBitwiseExpr] ... | ... # 47| 0: [VarAccess] byx # 47| 1: [VarAccess] byy # 48| 36: [LocalVariableDeclStmt] var ...; # 48| 1: [LocalVariableDeclExpr] by15 # 48| 0: [AndBitwiseExpr] ... & ... # 48| 0: [VarAccess] byx # 48| 1: [VarAccess] byy # 49| 37: [LocalVariableDeclStmt] var ...; # 49| 1: [LocalVariableDeclExpr] by16 # 49| 0: [XorBitwiseExpr] ... ^ ... # 49| 0: [VarAccess] byx # 49| 1: [VarAccess] byy # 51| 38: [LocalVariableDeclStmt] var ...; # 51| 1: [LocalVariableDeclExpr] s1 # 51| 0: [DoubleLiteral] 1.0 # 52| 39: [LocalVariableDeclStmt] var ...; # 52| 1: [LocalVariableDeclExpr] s2 # 52| 0: [AddExpr] ... + ... # 52| 0: [VarAccess] sx # 52| 1: [VarAccess] sy # 53| 40: [LocalVariableDeclStmt] var ...; # 53| 1: [LocalVariableDeclExpr] s3 # 53| 0: [SubExpr] ... - ... # 53| 0: [VarAccess] sx # 53| 1: [VarAccess] sy # 54| 41: [LocalVariableDeclStmt] var ...; # 54| 1: [LocalVariableDeclExpr] s4 # 54| 0: [DivExpr] ... / ... # 54| 0: [VarAccess] sx # 54| 1: [VarAccess] sy # 55| 42: [LocalVariableDeclStmt] var ...; # 55| 1: [LocalVariableDeclExpr] s5 # 55| 0: [RemExpr] ... % ... # 55| 0: [VarAccess] sx # 55| 1: [VarAccess] sy # 56| 43: [LocalVariableDeclStmt] var ...; # 56| 1: [LocalVariableDeclExpr] s6 # 56| 0: [ValueEQExpr] ... (value equals) ... # 56| 0: [MethodCall] intValue(...) # 56| -1: [VarAccess] sx # 56| 1: [MethodCall] intValue(...) # 56| -1: [VarAccess] sy # 57| 44: [LocalVariableDeclStmt] var ...; # 57| 1: [LocalVariableDeclExpr] s7 # 57| 0: [ValueNEExpr] ... (value not-equals) ... # 57| 0: [MethodCall] intValue(...) # 57| -1: [VarAccess] sx # 57| 1: [MethodCall] intValue(...) # 57| -1: [VarAccess] sy # 58| 45: [LocalVariableDeclStmt] var ...; # 58| 1: [LocalVariableDeclExpr] s8 # 58| 0: [LTExpr] ... < ... # 58| 0: [MethodCall] intValue(...) # 58| -1: [VarAccess] sx # 58| 1: [MethodCall] intValue(...) # 58| -1: [VarAccess] sy # 59| 46: [LocalVariableDeclStmt] var ...; # 59| 1: [LocalVariableDeclExpr] s9 # 59| 0: [LEExpr] ... <= ... # 59| 0: [MethodCall] intValue(...) # 59| -1: [VarAccess] sx # 59| 1: [MethodCall] intValue(...) # 59| -1: [VarAccess] sy # 60| 47: [LocalVariableDeclStmt] var ...; # 60| 1: [LocalVariableDeclExpr] s10 # 60| 0: [GTExpr] ... > ... # 60| 0: [MethodCall] intValue(...) # 60| -1: [VarAccess] sx # 60| 1: [MethodCall] intValue(...) # 60| -1: [VarAccess] sy # 61| 48: [LocalVariableDeclStmt] var ...; # 61| 1: [LocalVariableDeclExpr] s11 # 61| 0: [GEExpr] ... >= ... # 61| 0: [MethodCall] intValue(...) # 61| -1: [VarAccess] sx # 61| 1: [MethodCall] intValue(...) # 61| -1: [VarAccess] sy # 62| 49: [LocalVariableDeclStmt] var ...; # 62| 1: [LocalVariableDeclExpr] s12 # 62| 0: [EQExpr] ... == ... # 62| 0: [VarAccess] sx # 62| 1: [VarAccess] sy # 63| 50: [LocalVariableDeclStmt] var ...; # 63| 1: [LocalVariableDeclExpr] s13 # 63| 0: [NEExpr] ... != ... # 63| 0: [VarAccess] sx # 63| 1: [VarAccess] sy # 64| 51: [LocalVariableDeclStmt] var ...; # 64| 1: [LocalVariableDeclExpr] s14 # 64| 0: [OrBitwiseExpr] ... | ... # 64| 0: [VarAccess] sx # 64| 1: [VarAccess] sy # 65| 52: [LocalVariableDeclStmt] var ...; # 65| 1: [LocalVariableDeclExpr] s15 # 65| 0: [AndBitwiseExpr] ... & ... # 65| 0: [VarAccess] sx # 65| 1: [VarAccess] sy # 66| 53: [LocalVariableDeclStmt] var ...; # 66| 1: [LocalVariableDeclExpr] s16 # 66| 0: [XorBitwiseExpr] ... ^ ... # 66| 0: [VarAccess] sx # 66| 1: [VarAccess] sy # 68| 54: [LocalVariableDeclStmt] var ...; # 68| 1: [LocalVariableDeclExpr] l1 # 68| 0: [DoubleLiteral] 1.0 # 69| 55: [LocalVariableDeclStmt] var ...; # 69| 1: [LocalVariableDeclExpr] l2 # 69| 0: [AddExpr] ... + ... # 69| 0: [VarAccess] lx # 69| 1: [VarAccess] ly # 70| 56: [LocalVariableDeclStmt] var ...; # 70| 1: [LocalVariableDeclExpr] l3 # 70| 0: [SubExpr] ... - ... # 70| 0: [VarAccess] lx # 70| 1: [VarAccess] ly # 71| 57: [LocalVariableDeclStmt] var ...; # 71| 1: [LocalVariableDeclExpr] l4 # 71| 0: [DivExpr] ... / ... # 71| 0: [VarAccess] lx # 71| 1: [VarAccess] ly # 72| 58: [LocalVariableDeclStmt] var ...; # 72| 1: [LocalVariableDeclExpr] l5 # 72| 0: [RemExpr] ... % ... # 72| 0: [VarAccess] lx # 72| 1: [VarAccess] ly # 73| 59: [LocalVariableDeclStmt] var ...; # 73| 1: [LocalVariableDeclExpr] l6 # 73| 0: [LeftShiftExpr] ... << ... # 73| 0: [VarAccess] lx # 73| 1: [VarAccess] y # 74| 60: [LocalVariableDeclStmt] var ...; # 74| 1: [LocalVariableDeclExpr] l7 # 74| 0: [RightShiftExpr] ... >> ... # 74| 0: [VarAccess] lx # 74| 1: [VarAccess] y # 75| 61: [LocalVariableDeclStmt] var ...; # 75| 1: [LocalVariableDeclExpr] l8 # 75| 0: [UnsignedRightShiftExpr] ... >>> ... # 75| 0: [VarAccess] lx # 75| 1: [VarAccess] y # 76| 62: [LocalVariableDeclStmt] var ...; # 76| 1: [LocalVariableDeclExpr] l9 # 76| 0: [AndBitwiseExpr] ... & ... # 76| 0: [VarAccess] lx # 76| 1: [VarAccess] ly # 77| 63: [LocalVariableDeclStmt] var ...; # 77| 1: [LocalVariableDeclExpr] l10 # 77| 0: [OrBitwiseExpr] ... | ... # 77| 0: [VarAccess] lx # 77| 1: [VarAccess] ly # 78| 64: [LocalVariableDeclStmt] var ...; # 78| 1: [LocalVariableDeclExpr] l11 # 78| 0: [XorBitwiseExpr] ... ^ ... # 78| 0: [VarAccess] lx # 78| 1: [VarAccess] ly # 79| 65: [LocalVariableDeclStmt] var ...; # 79| 1: [LocalVariableDeclExpr] l12 # 79| 0: [BitNotExpr] ~... # 79| 0: [VarAccess] lx # 80| 66: [LocalVariableDeclStmt] var ...; # 80| 1: [LocalVariableDeclExpr] l13 # 80| 0: [ValueEQExpr] ... (value equals) ... # 80| 0: [VarAccess] lx # 80| 1: [VarAccess] ly # 81| 67: [LocalVariableDeclStmt] var ...; # 81| 1: [LocalVariableDeclExpr] l14 # 81| 0: [ValueNEExpr] ... (value not-equals) ... # 81| 0: [VarAccess] lx # 81| 1: [VarAccess] ly # 82| 68: [LocalVariableDeclStmt] var ...; # 82| 1: [LocalVariableDeclExpr] l15 # 82| 0: [LTExpr] ... < ... # 82| 0: [VarAccess] lx # 82| 1: [VarAccess] ly # 83| 69: [LocalVariableDeclStmt] var ...; # 83| 1: [LocalVariableDeclExpr] l16 # 83| 0: [LEExpr] ... <= ... # 83| 0: [VarAccess] lx # 83| 1: [VarAccess] ly # 84| 70: [LocalVariableDeclStmt] var ...; # 84| 1: [LocalVariableDeclExpr] l17 # 84| 0: [GTExpr] ... > ... # 84| 0: [VarAccess] lx # 84| 1: [VarAccess] ly # 85| 71: [LocalVariableDeclStmt] var ...; # 85| 1: [LocalVariableDeclExpr] l18 # 85| 0: [GEExpr] ... >= ... # 85| 0: [VarAccess] lx # 85| 1: [VarAccess] ly # 86| 72: [LocalVariableDeclStmt] var ...; # 86| 1: [LocalVariableDeclExpr] l19 # 86| 0: [EQExpr] ... == ... # 86| 0: [VarAccess] lx # 86| 1: [VarAccess] ly # 87| 73: [LocalVariableDeclStmt] var ...; # 87| 1: [LocalVariableDeclExpr] l20 # 87| 0: [NEExpr] ... != ... # 87| 0: [VarAccess] lx # 87| 1: [VarAccess] ly # 89| 74: [LocalVariableDeclStmt] var ...; # 89| 1: [LocalVariableDeclExpr] d1 # 89| 0: [DoubleLiteral] 1.0 # 90| 75: [LocalVariableDeclStmt] var ...; # 90| 1: [LocalVariableDeclExpr] d2 # 90| 0: [AddExpr] ... + ... # 90| 0: [VarAccess] dx # 90| 1: [VarAccess] dy # 91| 76: [LocalVariableDeclStmt] var ...; # 91| 1: [LocalVariableDeclExpr] d3 # 91| 0: [SubExpr] ... - ... # 91| 0: [VarAccess] dx # 91| 1: [VarAccess] dy # 92| 77: [LocalVariableDeclStmt] var ...; # 92| 1: [LocalVariableDeclExpr] d4 # 92| 0: [DivExpr] ... / ... # 92| 0: [VarAccess] dx # 92| 1: [VarAccess] dy # 93| 78: [LocalVariableDeclStmt] var ...; # 93| 1: [LocalVariableDeclExpr] d5 # 93| 0: [RemExpr] ... % ... # 93| 0: [VarAccess] dx # 93| 1: [VarAccess] dy # 94| 79: [LocalVariableDeclStmt] var ...; # 94| 1: [LocalVariableDeclExpr] d6 # 94| 0: [EQExpr] ... == ... # 94| 0: [VarAccess] dx # 94| 1: [VarAccess] dy # 95| 80: [LocalVariableDeclStmt] var ...; # 95| 1: [LocalVariableDeclExpr] d7 # 95| 0: [NEExpr] ... != ... # 95| 0: [VarAccess] dx # 95| 1: [VarAccess] dy # 96| 81: [LocalVariableDeclStmt] var ...; # 96| 1: [LocalVariableDeclExpr] d8 # 96| 0: [LTExpr] ... < ... # 96| 0: [VarAccess] dx # 96| 1: [VarAccess] dy # 97| 82: [LocalVariableDeclStmt] var ...; # 97| 1: [LocalVariableDeclExpr] d9 # 97| 0: [LEExpr] ... <= ... # 97| 0: [VarAccess] dx # 97| 1: [VarAccess] dy # 98| 83: [LocalVariableDeclStmt] var ...; # 98| 1: [LocalVariableDeclExpr] d10 # 98| 0: [GTExpr] ... > ... # 98| 0: [VarAccess] dx # 98| 1: [VarAccess] dy # 99| 84: [LocalVariableDeclStmt] var ...; # 99| 1: [LocalVariableDeclExpr] d11 # 99| 0: [GEExpr] ... >= ... # 99| 0: [VarAccess] dx # 99| 1: [VarAccess] dy # 100| 85: [LocalVariableDeclStmt] var ...; # 100| 1: [LocalVariableDeclExpr] d12 # 100| 0: [EQExpr] ... == ... # 100| 0: [VarAccess] dx # 100| 1: [VarAccess] dy # 101| 86: [LocalVariableDeclStmt] var ...; # 101| 1: [LocalVariableDeclExpr] d13 # 101| 0: [NEExpr] ... != ... # 101| 0: [VarAccess] dx # 101| 1: [VarAccess] dy # 103| 87: [LocalVariableDeclStmt] var ...; # 103| 1: [LocalVariableDeclExpr] f1 # 103| 0: [DoubleLiteral] 1.0 # 104| 88: [LocalVariableDeclStmt] var ...; # 104| 1: [LocalVariableDeclExpr] f2 # 104| 0: [AddExpr] ... + ... # 104| 0: [VarAccess] fx # 104| 1: [VarAccess] fy # 105| 89: [LocalVariableDeclStmt] var ...; # 105| 1: [LocalVariableDeclExpr] f3 # 105| 0: [SubExpr] ... - ... # 105| 0: [VarAccess] fx # 105| 1: [VarAccess] fy # 106| 90: [LocalVariableDeclStmt] var ...; # 106| 1: [LocalVariableDeclExpr] f4 # 106| 0: [DivExpr] ... / ... # 106| 0: [VarAccess] fx # 106| 1: [VarAccess] fy # 107| 91: [LocalVariableDeclStmt] var ...; # 107| 1: [LocalVariableDeclExpr] f5 # 107| 0: [RemExpr] ... % ... # 107| 0: [VarAccess] fx # 107| 1: [VarAccess] fy # 108| 92: [LocalVariableDeclStmt] var ...; # 108| 1: [LocalVariableDeclExpr] f6 # 108| 0: [EQExpr] ... == ... # 108| 0: [VarAccess] fx # 108| 1: [VarAccess] fy # 109| 93: [LocalVariableDeclStmt] var ...; # 109| 1: [LocalVariableDeclExpr] f7 # 109| 0: [NEExpr] ... != ... # 109| 0: [VarAccess] fx # 109| 1: [VarAccess] fy # 110| 94: [LocalVariableDeclStmt] var ...; # 110| 1: [LocalVariableDeclExpr] f8 # 110| 0: [LTExpr] ... < ... # 110| 0: [VarAccess] fx # 110| 1: [VarAccess] fy # 111| 95: [LocalVariableDeclStmt] var ...; # 111| 1: [LocalVariableDeclExpr] f9 # 111| 0: [LEExpr] ... <= ... # 111| 0: [VarAccess] fx # 111| 1: [VarAccess] fy # 112| 96: [LocalVariableDeclStmt] var ...; # 112| 1: [LocalVariableDeclExpr] f10 # 112| 0: [GTExpr] ... > ... # 112| 0: [VarAccess] fx # 112| 1: [VarAccess] fy # 113| 97: [LocalVariableDeclStmt] var ...; # 113| 1: [LocalVariableDeclExpr] f11 # 113| 0: [GEExpr] ... >= ... # 113| 0: [VarAccess] fx # 113| 1: [VarAccess] fy # 114| 98: [LocalVariableDeclStmt] var ...; # 114| 1: [LocalVariableDeclExpr] f12 # 114| 0: [EQExpr] ... == ... # 114| 0: [VarAccess] fx # 114| 1: [VarAccess] fy # 115| 99: [LocalVariableDeclStmt] var ...; # 115| 1: [LocalVariableDeclExpr] f13 # 115| 0: [NEExpr] ... != ... # 115| 0: [VarAccess] fx # 115| 1: [VarAccess] fy # 117| 100: [LocalVariableDeclStmt] var ...; # 117| 1: [LocalVariableDeclExpr] b1 # 117| 0: [BooleanLiteral] true # 118| 101: [LocalVariableDeclStmt] var ...; # 118| 1: [LocalVariableDeclExpr] b2 # 118| 0: [BooleanLiteral] false # 119| 102: [LocalVariableDeclStmt] var ...; # 119| 1: [LocalVariableDeclExpr] b3 # 119| 0: [AndLogicalExpr] ... && ... # 119| 0: [VarAccess] b1 # 119| 1: [VarAccess] b2 # 120| 103: [LocalVariableDeclStmt] var ...; # 120| 1: [LocalVariableDeclExpr] b4 # 120| 0: [OrLogicalExpr] ... || ... # 120| 0: [VarAccess] b1 # 120| 1: [VarAccess] b2 # 121| 104: [LocalVariableDeclStmt] var ...; # 121| 1: [LocalVariableDeclExpr] b5 # 121| 0: [LogNotExpr] !... # 121| 0: [VarAccess] b1 # 123| 105: [LocalVariableDeclStmt] var ...; # 123| 1: [LocalVariableDeclExpr] c # 123| 0: [CharacterLiteral] x # 124| 106: [LocalVariableDeclStmt] var ...; # 124| 1: [LocalVariableDeclExpr] str # 124| 0: [StringLiteral] "string lit" # 125| 107: [LocalVariableDeclStmt] var ...; # 125| 1: [LocalVariableDeclExpr] strWithQuote # 125| 0: [StringLiteral] "string \" lit" # 126| 108: [LocalVariableDeclStmt] var ...; # 126| 1: [LocalVariableDeclExpr] b6 # 126| 0: [InstanceOfExpr] ...instanceof... # 126| 0: [VarAccess] i1 # 126| 1: [TypeAccess] int # 127| 109: [LocalVariableDeclStmt] var ...; # 127| 1: [LocalVariableDeclExpr] b7 # 127| 0: [NotInstanceOfExpr] ... !is ... # 127| 0: [VarAccess] i1 # 127| 1: [TypeAccess] int # 128| 110: [LocalVariableDeclStmt] var ...; # 128| 1: [LocalVariableDeclExpr] b8 # 128| 0: [CastExpr] (...)... # 128| 0: [TypeAccess] boolean # 128| 1: [VarAccess] b7 # 129| 111: [LocalVariableDeclStmt] var ...; # 129| 1: [LocalVariableDeclExpr] str1 # 129| 0: [StringLiteral] "string lit" # 130| 112: [LocalVariableDeclStmt] var ...; # 130| 1: [LocalVariableDeclExpr] str2 # 130| 0: [StringLiteral] "string lit" # 131| 113: [LocalVariableDeclStmt] var ...; # 131| 1: [LocalVariableDeclExpr] str3 # 131| 0: [NullLiteral] null # 132| 114: [LocalVariableDeclStmt] var ...; # 132| 1: [LocalVariableDeclExpr] str4 # 132| 0: [StringTemplateExpr] "..." # 132| 0: [StringLiteral] "foo " # 132| 1: [VarAccess] str1 # 132| 2: [StringLiteral] " bar " # 132| 3: [VarAccess] str2 # 132| 4: [StringLiteral] " baz" # 133| 115: [LocalVariableDeclStmt] var ...; # 133| 1: [LocalVariableDeclExpr] str5 # 133| 0: [StringTemplateExpr] "..." # 133| 0: [StringLiteral] "foo " # 133| 1: [AddExpr] ... + ... # 133| 0: [VarAccess] str1 # 133| 1: [VarAccess] str2 # 133| 2: [StringLiteral] " bar " # 133| 3: [MethodCall] stringPlus(...) # 133| -1: [TypeAccess] Intrinsics # 133| 0: [VarAccess] str2 # 133| 1: [VarAccess] str1 # 133| 4: [StringLiteral] " baz" # 134| 116: [LocalVariableDeclStmt] var ...; # 134| 1: [LocalVariableDeclExpr] str6 # 134| 0: [AddExpr] ... + ... # 134| 0: [VarAccess] str1 # 134| 1: [VarAccess] str2 # 136| 117: [LocalVariableDeclStmt] var ...; # 136| 1: [LocalVariableDeclExpr] variable # 136| 0: [IntegerLiteral] 10 # 137| 118: [WhileStmt] while (...) # 137| 0: [GTExpr] ... > ... # 137| 0: [VarAccess] variable # 137| 1: [IntegerLiteral] 0 # 137| 1: [BlockStmt] { ... } # 138| 0: [ExprStmt] ; # 138| 0: [ImplicitCoercionToUnitExpr] # 138| 0: [TypeAccess] Unit # 138| 1: [StmtExpr] # 138| 0: [BlockStmt] { ... } # 138| 0: [LocalVariableDeclStmt] var ...; # 138| 1: [LocalVariableDeclExpr] tmp0 # 138| 0: [VarAccess] variable # 138| 1: [ExprStmt] ; # 138| 0: [AssignExpr] ...=... # 138| 0: [VarAccess] variable # 138| 1: [MethodCall] dec(...) # 138| -1: [VarAccess] tmp0 # 138| 2: [ExprStmt] ; # 138| 0: [VarAccess] tmp0 # 141| 119: [ReturnStmt] return ... # 141| 0: [AddExpr] ... + ... # 141| 0: [IntegerLiteral] 123 # 141| 1: [IntegerLiteral] 456 # 144| 2: [Method] getClass # 144| 3: [TypeAccess] Unit # 144| 5: [BlockStmt] { ... } # 145| 0: [LocalVariableDeclStmt] var ...; # 145| 1: [LocalVariableDeclExpr] d # 145| 0: [ClassExpr] ::class # 145| 0: [BooleanLiteral] true # 156| 3: [Method] typeTests # 156| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 156| 0: [Parameter] x # 156| 0: [TypeAccess] Root # 156| 1: [Parameter] y # 156| 0: [TypeAccess] Subclass1 # 156| 5: [BlockStmt] { ... } # 157| 0: [ExprStmt] ; # 157| 0: [WhenExpr] when ... # 157| 0: [WhenBranch] ... -> ... # 157| 0: [InstanceOfExpr] ...instanceof... # 157| 0: [VarAccess] x # 157| 1: [TypeAccess] Subclass1 # 157| 1: [BlockStmt] { ... } # 158| 0: [LocalVariableDeclStmt] var ...; # 158| 1: [LocalVariableDeclExpr] x1 # 158| 0: [ImplicitCastExpr] # 158| 0: [TypeAccess] Subclass1 # 158| 1: [VarAccess] x # 160| 1: [LocalVariableDeclStmt] var ...; # 160| 1: [LocalVariableDeclExpr] y1 # 160| 0: [WhenExpr] when ... # 160| 0: [WhenBranch] ... -> ... # 160| 0: [InstanceOfExpr] ...instanceof... # 160| 0: [VarAccess] x # 160| 1: [TypeAccess] Subclass1 # 160| 1: [ExprStmt] ; # 160| 0: [ImplicitCastExpr] # 160| 0: [TypeAccess] Subclass1 # 160| 1: [StmtExpr] # 160| 0: [BlockStmt] { ... } # 160| 0: [ExprStmt] ; # 160| 0: [VarAccess] x # 160| 1: [WhenBranch] ... -> ... # 160| 0: [BooleanLiteral] true # 160| 1: [BlockStmt] { ... } # 160| 0: [ExprStmt] ; # 160| 0: [VarAccess] y # 161| 2: [LocalVariableDeclStmt] var ...; # 161| 1: [LocalVariableDeclExpr] q # 161| 0: [IntegerLiteral] 1 # 162| 3: [ExprStmt] ; # 162| 0: [WhenExpr] when ... # 162| 0: [WhenBranch] ... -> ... # 162| 0: [InstanceOfExpr] ...instanceof... # 162| 0: [VarAccess] x # 162| 1: [TypeAccess] Subclass1 # 162| 1: [BlockStmt] { ... } # 162| 0: [ExprStmt] ; # 162| 0: [AssignExpr] ...=... # 162| 0: [VarAccess] q # 162| 1: [IntegerLiteral] 2 # 162| 1: [WhenBranch] ... -> ... # 162| 0: [BooleanLiteral] true # 162| 1: [BlockStmt] { ... } # 162| 0: [ExprStmt] ; # 162| 0: [AssignExpr] ...=... # 162| 0: [VarAccess] q # 162| 1: [IntegerLiteral] 3 # 165| 4: [Method] foo # 165| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 165| 0: [Parameter] p # 165| 0: [TypeAccess] Polygon # 165| 5: [BlockStmt] { ... } # 166| 0: [LocalVariableDeclStmt] var ...; # 166| 1: [LocalVariableDeclExpr] r # 166| 0: [MethodCall] getBounds(...) # 166| -1: [VarAccess] p # 167| 1: [ExprStmt] ; # 167| 0: [WhenExpr] when ... # 167| 0: [WhenBranch] ... -> ... # 167| 0: [ValueNEExpr] ... (value not-equals) ... # 167| 0: [VarAccess] r # 167| 1: [NullLiteral] null # 167| 1: [BlockStmt] { ... } # 168| 0: [LocalVariableDeclStmt] var ...; # 168| 1: [LocalVariableDeclExpr] r2 # 168| 0: [ImplicitNotNullExpr] # 168| 0: [TypeAccess] Rectangle # 168| 1: [VarAccess] r # 169| 1: [LocalVariableDeclStmt] var ...; # 169| 1: [LocalVariableDeclExpr] height # 169| 0: [VarAccess] r2.height # 169| -1: [VarAccess] r2 # 170| 2: [ExprStmt] ; # 170| 0: [AssignExpr] ...=... # 170| 0: [VarAccess] r2.height # 170| -1: [VarAccess] r2 # 170| 1: [IntegerLiteral] 3 # 184| 5: [Method] enums # 184| 3: [TypeAccess] Unit # 184| 5: [BlockStmt] { ... } # 185| 0: [LocalVariableDeclStmt] var ...; # 185| 1: [LocalVariableDeclExpr] south # 185| 0: [VarAccess] Direction.SOUTH # 185| -1: [TypeAccess] Direction # 186| 1: [LocalVariableDeclStmt] var ...; # 186| 1: [LocalVariableDeclExpr] green # 186| 0: [VarAccess] Color.GREEN # 186| -1: [TypeAccess] Color # 201| 6: [Method] notNullAssertion # 201| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 201| 0: [Parameter] x # 201| 0: [TypeAccess] Object # 201| 5: [BlockStmt] { ... } # 202| 0: [LocalVariableDeclStmt] var ...; # 202| 1: [LocalVariableDeclExpr] y # 202| 0: [NotNullExpr] ...!! # 202| 0: [VarAccess] x # 220| 7: [Method] todo # 220| 3: [TypeAccess] Unit # 220| 5: [BlockStmt] { ... } # 221| 0: [ExprStmt] ; # 221| 0: [MethodCall] TODO(...) # 221| -1: [TypeAccess] StandardKt # 225| 8: [Method] fnClassRef # 225| 3: [TypeAccess] Unit # 225| 5: [BlockStmt] { ... } # 226| 0: [LocalVariableDeclStmt] var ...; # 226| 1: [LocalVariableDeclExpr] x # 226| 0: [TypeLiteral] SomeClass1.class # 226| 0: [TypeAccess] SomeClass1 # 229| 9: [Method] equalityTests # 229| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 229| 0: [Parameter] notNullPrimitive # 229| 0: [TypeAccess] int # 229| 1: [Parameter] nullablePrimitive # 229| 0: [TypeAccess] Integer # 229| 2: [Parameter] notNullReftype # 229| 0: [TypeAccess] String # 229| 3: [Parameter] nullableReftype # 229| 0: [TypeAccess] String # 229| 5: [BlockStmt] { ... } # 230| 0: [LocalVariableDeclStmt] var ...; # 230| 1: [LocalVariableDeclExpr] b1 # 230| 0: [ValueEQExpr] ... (value equals) ... # 230| 0: [VarAccess] notNullPrimitive # 230| 1: [VarAccess] notNullPrimitive # 231| 1: [LocalVariableDeclStmt] var ...; # 231| 1: [LocalVariableDeclExpr] b2 # 231| 0: [ValueEQExpr] ... (value equals) ... # 231| 0: [VarAccess] notNullPrimitive # 231| 1: [VarAccess] nullablePrimitive # 232| 2: [LocalVariableDeclStmt] var ...; # 232| 1: [LocalVariableDeclExpr] b3 # 232| 0: [ValueEQExpr] ... (value equals) ... # 232| 0: [VarAccess] nullablePrimitive # 232| 1: [VarAccess] nullablePrimitive # 233| 3: [LocalVariableDeclStmt] var ...; # 233| 1: [LocalVariableDeclExpr] b4 # 233| 0: [ValueEQExpr] ... (value equals) ... # 233| 0: [VarAccess] notNullReftype # 233| 1: [VarAccess] notNullReftype # 234| 4: [LocalVariableDeclStmt] var ...; # 234| 1: [LocalVariableDeclExpr] b5 # 234| 0: [ValueEQExpr] ... (value equals) ... # 234| 0: [VarAccess] notNullReftype # 234| 1: [VarAccess] nullableReftype # 235| 5: [LocalVariableDeclStmt] var ...; # 235| 1: [LocalVariableDeclExpr] b6 # 235| 0: [ValueEQExpr] ... (value equals) ... # 235| 0: [VarAccess] nullableReftype # 235| 1: [VarAccess] nullableReftype # 236| 6: [LocalVariableDeclStmt] var ...; # 236| 1: [LocalVariableDeclExpr] b7 # 236| 0: [ValueNEExpr] ... (value not-equals) ... # 236| 0: [VarAccess] notNullPrimitive # 236| 1: [VarAccess] notNullPrimitive # 237| 7: [LocalVariableDeclStmt] var ...; # 237| 1: [LocalVariableDeclExpr] b8 # 237| 0: [ValueNEExpr] ... (value not-equals) ... # 237| 0: [VarAccess] notNullPrimitive # 237| 1: [VarAccess] nullablePrimitive # 238| 8: [LocalVariableDeclStmt] var ...; # 238| 1: [LocalVariableDeclExpr] b9 # 238| 0: [ValueNEExpr] ... (value not-equals) ... # 238| 0: [VarAccess] nullablePrimitive # 238| 1: [VarAccess] nullablePrimitive # 239| 9: [LocalVariableDeclStmt] var ...; # 239| 1: [LocalVariableDeclExpr] b10 # 239| 0: [ValueNEExpr] ... (value not-equals) ... # 239| 0: [VarAccess] notNullReftype # 239| 1: [VarAccess] notNullReftype # 240| 10: [LocalVariableDeclStmt] var ...; # 240| 1: [LocalVariableDeclExpr] b11 # 240| 0: [ValueNEExpr] ... (value not-equals) ... # 240| 0: [VarAccess] notNullReftype # 240| 1: [VarAccess] nullableReftype # 241| 11: [LocalVariableDeclStmt] var ...; # 241| 1: [LocalVariableDeclExpr] b12 # 241| 0: [ValueNEExpr] ... (value not-equals) ... # 241| 0: [VarAccess] nullableReftype # 241| 1: [VarAccess] nullableReftype # 242| 12: [LocalVariableDeclStmt] var ...; # 242| 1: [LocalVariableDeclExpr] b13 # 242| 0: [ValueEQExpr] ... (value equals) ... # 242| 0: [VarAccess] notNullPrimitive # 242| 1: [NullLiteral] null # 243| 13: [LocalVariableDeclStmt] var ...; # 243| 1: [LocalVariableDeclExpr] b14 # 243| 0: [ValueEQExpr] ... (value equals) ... # 243| 0: [VarAccess] nullablePrimitive # 243| 1: [NullLiteral] null # 244| 14: [LocalVariableDeclStmt] var ...; # 244| 1: [LocalVariableDeclExpr] b15 # 244| 0: [ValueEQExpr] ... (value equals) ... # 244| 0: [VarAccess] notNullReftype # 244| 1: [NullLiteral] null # 245| 15: [LocalVariableDeclStmt] var ...; # 245| 1: [LocalVariableDeclExpr] b16 # 245| 0: [ValueEQExpr] ... (value equals) ... # 245| 0: [VarAccess] nullableReftype # 245| 1: [NullLiteral] null # 246| 16: [LocalVariableDeclStmt] var ...; # 246| 1: [LocalVariableDeclExpr] b17 # 246| 0: [ValueNEExpr] ... (value not-equals) ... # 246| 0: [VarAccess] notNullPrimitive # 246| 1: [NullLiteral] null # 247| 17: [LocalVariableDeclStmt] var ...; # 247| 1: [LocalVariableDeclExpr] b18 # 247| 0: [ValueNEExpr] ... (value not-equals) ... # 247| 0: [VarAccess] nullablePrimitive # 247| 1: [NullLiteral] null # 248| 18: [LocalVariableDeclStmt] var ...; # 248| 1: [LocalVariableDeclExpr] b19 # 248| 0: [ValueNEExpr] ... (value not-equals) ... # 248| 0: [VarAccess] notNullReftype # 248| 1: [NullLiteral] null # 249| 19: [LocalVariableDeclStmt] var ...; # 249| 1: [LocalVariableDeclExpr] b20 # 249| 0: [ValueNEExpr] ... (value not-equals) ... # 249| 0: [VarAccess] nullableReftype # 249| 1: [NullLiteral] null # 252| 10: [Method] mulOperators # 252| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 252| 0: [Parameter] x # 252| 0: [TypeAccess] int # 252| 1: [Parameter] y # 252| 0: [TypeAccess] int # 253| 2: [Parameter] byx # 253| 0: [TypeAccess] byte # 253| 3: [Parameter] byy # 253| 0: [TypeAccess] byte # 254| 4: [Parameter] sx # 254| 0: [TypeAccess] short # 254| 5: [Parameter] sy # 254| 0: [TypeAccess] short # 255| 6: [Parameter] lx # 255| 0: [TypeAccess] long # 255| 7: [Parameter] ly # 255| 0: [TypeAccess] long # 256| 8: [Parameter] dx # 256| 0: [TypeAccess] double # 256| 9: [Parameter] dy # 256| 0: [TypeAccess] double # 257| 10: [Parameter] fx # 257| 0: [TypeAccess] float # 257| 11: [Parameter] fy # 257| 0: [TypeAccess] float # 257| 5: [BlockStmt] { ... } # 259| 0: [LocalVariableDeclStmt] var ...; # 259| 1: [LocalVariableDeclExpr] i # 259| 0: [MulExpr] ... * ... # 259| 0: [VarAccess] x # 259| 1: [VarAccess] y # 260| 1: [LocalVariableDeclStmt] var ...; # 260| 1: [LocalVariableDeclExpr] b # 260| 0: [MulExpr] ... * ... # 260| 0: [VarAccess] byx # 260| 1: [VarAccess] byy # 261| 2: [LocalVariableDeclStmt] var ...; # 261| 1: [LocalVariableDeclExpr] l # 261| 0: [MulExpr] ... * ... # 261| 0: [VarAccess] lx # 261| 1: [VarAccess] ly # 262| 3: [LocalVariableDeclStmt] var ...; # 262| 1: [LocalVariableDeclExpr] d # 262| 0: [MulExpr] ... * ... # 262| 0: [VarAccess] dx # 262| 1: [VarAccess] dy # 263| 4: [LocalVariableDeclStmt] var ...; # 263| 1: [LocalVariableDeclExpr] f # 263| 0: [MulExpr] ... * ... # 263| 0: [VarAccess] fx # 263| 1: [VarAccess] fy # 267| 11: [Method] inPlaceOperators # 267| 3: [TypeAccess] Unit # 267| 5: [BlockStmt] { ... } # 269| 0: [LocalVariableDeclStmt] var ...; # 269| 1: [LocalVariableDeclExpr] updated # 269| 0: [IntegerLiteral] 0 # 270| 1: [ExprStmt] ; # 270| 0: [AssignAddExpr] ...+=... # 270| 0: [VarAccess] updated # 270| 1: [IntegerLiteral] 1 # 271| 2: [ExprStmt] ; # 271| 0: [AssignSubExpr] ...-=... # 271| 0: [VarAccess] updated # 271| 1: [IntegerLiteral] 1 # 272| 3: [ExprStmt] ; # 272| 0: [AssignMulExpr] ...*=... # 272| 0: [VarAccess] updated # 272| 1: [IntegerLiteral] 1 # 273| 4: [ExprStmt] ; # 273| 0: [AssignDivExpr] .../=... # 273| 0: [VarAccess] updated # 273| 1: [IntegerLiteral] 1 # 274| 5: [ExprStmt] ; # 274| 0: [AssignRemExpr] ...%=... # 274| 0: [VarAccess] updated # 274| 1: [IntegerLiteral] 1 # 278| 12: [Method] getEnumValues #-----| 2: (Generic Parameters) # 278| 0: [TypeVariable] T # 278| 3: [TypeAccess] T[] # 278| 0: [TypeAccess] T # 278| 5: [BlockStmt] { ... } # 278| 0: [ReturnStmt] return ... # 278| 0: [ErrorExpr] # 280| 13: [Method] callToEnumValues # 280| 3: [TypeAccess] Unit # 280| 5: [BlockStmt] { ... } # 281| 0: [ExprStmt] ; # 281| 0: [ImplicitCoercionToUnitExpr] # 281| 0: [TypeAccess] Unit # 281| 1: [MethodCall] values(...) # 281| -1: [TypeAccess] Color # 282| 1: [ExprStmt] ; # 282| 0: [ImplicitCoercionToUnitExpr] # 282| 0: [TypeAccess] Unit # 282| 1: [MethodCall] getEnumValues(...) # 282| -2: [TypeAccess] Color # 282| -1: [TypeAccess] ExprsKt # 285| 14: [Method] unaryExprs # 285| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 285| 0: [Parameter] i # 285| 0: [TypeAccess] int # 285| 1: [Parameter] d # 285| 0: [TypeAccess] double # 285| 2: [Parameter] b # 285| 0: [TypeAccess] byte # 285| 3: [Parameter] s # 285| 0: [TypeAccess] short # 285| 4: [Parameter] l # 285| 0: [TypeAccess] long # 285| 5: [Parameter] f # 285| 0: [TypeAccess] float # 285| 5: [BlockStmt] { ... } # 286| 0: [ExprStmt] ; # 286| 0: [ImplicitCoercionToUnitExpr] # 286| 0: [TypeAccess] Unit # 286| 1: [MinusExpr] -... # 286| 0: [VarAccess] i # 287| 1: [ExprStmt] ; # 287| 0: [ImplicitCoercionToUnitExpr] # 287| 0: [TypeAccess] Unit # 287| 1: [PlusExpr] +... # 287| 0: [VarAccess] i # 288| 2: [ExprStmt] ; # 288| 0: [ImplicitCoercionToUnitExpr] # 288| 0: [TypeAccess] Unit # 288| 1: [MinusExpr] -... # 288| 0: [VarAccess] d # 289| 3: [ExprStmt] ; # 289| 0: [ImplicitCoercionToUnitExpr] # 289| 0: [TypeAccess] Unit # 289| 1: [PlusExpr] +... # 289| 0: [VarAccess] d # 290| 4: [LocalVariableDeclStmt] var ...; # 290| 1: [LocalVariableDeclExpr] i0 # 290| 0: [IntegerLiteral] 1 # 291| 5: [LocalVariableDeclStmt] var ...; # 291| 1: [LocalVariableDeclExpr] i1 # 291| 0: [IntegerLiteral] 1 # 292| 6: [ExprStmt] ; # 292| 0: [ImplicitCoercionToUnitExpr] # 292| 0: [TypeAccess] Unit # 292| 1: [StmtExpr] # 292| 0: [BlockStmt] { ... } # 292| 0: [LocalVariableDeclStmt] var ...; # 292| 1: [LocalVariableDeclExpr] tmp0 # 292| 0: [VarAccess] i0 # 292| 1: [ExprStmt] ; # 292| 0: [AssignExpr] ...=... # 292| 0: [VarAccess] i0 # 292| 1: [MethodCall] inc(...) # 292| -1: [VarAccess] tmp0 # 292| 2: [ExprStmt] ; # 292| 0: [VarAccess] tmp0 # 293| 7: [ExprStmt] ; # 293| 0: [ImplicitCoercionToUnitExpr] # 293| 0: [TypeAccess] Unit # 293| 1: [StmtExpr] # 293| 0: [BlockStmt] { ... } # 293| 0: [ExprStmt] ; # 293| 0: [AssignExpr] ...=... # 293| 0: [VarAccess] i0 # 293| 1: [MethodCall] inc(...) # 293| -1: [VarAccess] i0 # 293| 1: [ExprStmt] ; # 293| 0: [VarAccess] i0 # 294| 8: [ExprStmt] ; # 294| 0: [ImplicitCoercionToUnitExpr] # 294| 0: [TypeAccess] Unit # 294| 1: [StmtExpr] # 294| 0: [BlockStmt] { ... } # 294| 0: [LocalVariableDeclStmt] var ...; # 294| 1: [LocalVariableDeclExpr] tmp1 # 294| 0: [VarAccess] i0 # 294| 1: [ExprStmt] ; # 294| 0: [AssignExpr] ...=... # 294| 0: [VarAccess] i0 # 294| 1: [MethodCall] dec(...) # 294| -1: [VarAccess] tmp1 # 294| 2: [ExprStmt] ; # 294| 0: [VarAccess] tmp1 # 295| 9: [ExprStmt] ; # 295| 0: [ImplicitCoercionToUnitExpr] # 295| 0: [TypeAccess] Unit # 295| 1: [StmtExpr] # 295| 0: [BlockStmt] { ... } # 295| 0: [ExprStmt] ; # 295| 0: [AssignExpr] ...=... # 295| 0: [VarAccess] i0 # 295| 1: [MethodCall] dec(...) # 295| -1: [VarAccess] i0 # 295| 1: [ExprStmt] ; # 295| 0: [VarAccess] i0 # 296| 10: [ExprStmt] ; # 296| 0: [ImplicitCoercionToUnitExpr] # 296| 0: [TypeAccess] Unit # 296| 1: [MethodCall] inc(...) # 296| -1: [VarAccess] i0 # 297| 11: [ExprStmt] ; # 297| 0: [ImplicitCoercionToUnitExpr] # 297| 0: [TypeAccess] Unit # 297| 1: [MethodCall] dec(...) # 297| -1: [VarAccess] i0 # 298| 12: [ExprStmt] ; # 298| 0: [ImplicitCoercionToUnitExpr] # 298| 0: [TypeAccess] Unit # 298| 1: [MethodCall] inc(...) # 298| -1: [VarAccess] i1 # 299| 13: [ExprStmt] ; # 299| 0: [ImplicitCoercionToUnitExpr] # 299| 0: [TypeAccess] Unit # 299| 1: [MethodCall] dec(...) # 299| -1: [VarAccess] i1 # 300| 14: [ExprStmt] ; # 300| 0: [ImplicitCoercionToUnitExpr] # 300| 0: [TypeAccess] Unit # 300| 1: [BitNotExpr] ~... # 300| 0: [VarAccess] i # 302| 15: [ExprStmt] ; # 302| 0: [ImplicitCoercionToUnitExpr] # 302| 0: [TypeAccess] Unit # 302| 1: [MinusExpr] -... # 302| 0: [VarAccess] b # 303| 16: [ExprStmt] ; # 303| 0: [ImplicitCoercionToUnitExpr] # 303| 0: [TypeAccess] Unit # 303| 1: [PlusExpr] +... # 303| 0: [VarAccess] b # 304| 17: [LocalVariableDeclStmt] var ...; # 304| 1: [LocalVariableDeclExpr] b0 # 304| 0: [IntegerLiteral] 1 # 305| 18: [LocalVariableDeclStmt] var ...; # 305| 1: [LocalVariableDeclExpr] b1 # 305| 0: [IntegerLiteral] 1 # 306| 19: [ExprStmt] ; # 306| 0: [ImplicitCoercionToUnitExpr] # 306| 0: [TypeAccess] Unit # 306| 1: [StmtExpr] # 306| 0: [BlockStmt] { ... } # 306| 0: [LocalVariableDeclStmt] var ...; # 306| 1: [LocalVariableDeclExpr] tmp2 # 306| 0: [VarAccess] b0 # 306| 1: [ExprStmt] ; # 306| 0: [AssignExpr] ...=... # 306| 0: [VarAccess] b0 # 306| 1: [MethodCall] inc(...) # 306| -1: [VarAccess] tmp2 # 306| 2: [ExprStmt] ; # 306| 0: [VarAccess] tmp2 # 307| 20: [ExprStmt] ; # 307| 0: [ImplicitCoercionToUnitExpr] # 307| 0: [TypeAccess] Unit # 307| 1: [StmtExpr] # 307| 0: [BlockStmt] { ... } # 307| 0: [ExprStmt] ; # 307| 0: [AssignExpr] ...=... # 307| 0: [VarAccess] b0 # 307| 1: [MethodCall] inc(...) # 307| -1: [VarAccess] b0 # 307| 1: [ExprStmt] ; # 307| 0: [VarAccess] b0 # 308| 21: [ExprStmt] ; # 308| 0: [ImplicitCoercionToUnitExpr] # 308| 0: [TypeAccess] Unit # 308| 1: [StmtExpr] # 308| 0: [BlockStmt] { ... } # 308| 0: [LocalVariableDeclStmt] var ...; # 308| 1: [LocalVariableDeclExpr] tmp3 # 308| 0: [VarAccess] b0 # 308| 1: [ExprStmt] ; # 308| 0: [AssignExpr] ...=... # 308| 0: [VarAccess] b0 # 308| 1: [MethodCall] dec(...) # 308| -1: [VarAccess] tmp3 # 308| 2: [ExprStmt] ; # 308| 0: [VarAccess] tmp3 # 309| 22: [ExprStmt] ; # 309| 0: [ImplicitCoercionToUnitExpr] # 309| 0: [TypeAccess] Unit # 309| 1: [StmtExpr] # 309| 0: [BlockStmt] { ... } # 309| 0: [ExprStmt] ; # 309| 0: [AssignExpr] ...=... # 309| 0: [VarAccess] b0 # 309| 1: [MethodCall] dec(...) # 309| -1: [VarAccess] b0 # 309| 1: [ExprStmt] ; # 309| 0: [VarAccess] b0 # 310| 23: [ExprStmt] ; # 310| 0: [ImplicitCoercionToUnitExpr] # 310| 0: [TypeAccess] Unit # 310| 1: [MethodCall] inc(...) # 310| -1: [VarAccess] b0 # 311| 24: [ExprStmt] ; # 311| 0: [ImplicitCoercionToUnitExpr] # 311| 0: [TypeAccess] Unit # 311| 1: [MethodCall] dec(...) # 311| -1: [VarAccess] b0 # 312| 25: [ExprStmt] ; # 312| 0: [ImplicitCoercionToUnitExpr] # 312| 0: [TypeAccess] Unit # 312| 1: [MethodCall] inc(...) # 312| -1: [VarAccess] b1 # 313| 26: [ExprStmt] ; # 313| 0: [ImplicitCoercionToUnitExpr] # 313| 0: [TypeAccess] Unit # 313| 1: [MethodCall] dec(...) # 313| -1: [VarAccess] b1 # 314| 27: [ExprStmt] ; # 314| 0: [ImplicitCoercionToUnitExpr] # 314| 0: [TypeAccess] Unit # 314| 1: [BitNotExpr] ~... # 314| 0: [VarAccess] b # 316| 28: [ExprStmt] ; # 316| 0: [ImplicitCoercionToUnitExpr] # 316| 0: [TypeAccess] Unit # 316| 1: [MinusExpr] -... # 316| 0: [VarAccess] s # 317| 29: [ExprStmt] ; # 317| 0: [ImplicitCoercionToUnitExpr] # 317| 0: [TypeAccess] Unit # 317| 1: [PlusExpr] +... # 317| 0: [VarAccess] s # 318| 30: [LocalVariableDeclStmt] var ...; # 318| 1: [LocalVariableDeclExpr] s0 # 318| 0: [IntegerLiteral] 1 # 319| 31: [LocalVariableDeclStmt] var ...; # 319| 1: [LocalVariableDeclExpr] s1 # 319| 0: [IntegerLiteral] 1 # 320| 32: [ExprStmt] ; # 320| 0: [ImplicitCoercionToUnitExpr] # 320| 0: [TypeAccess] Unit # 320| 1: [StmtExpr] # 320| 0: [BlockStmt] { ... } # 320| 0: [LocalVariableDeclStmt] var ...; # 320| 1: [LocalVariableDeclExpr] tmp4 # 320| 0: [VarAccess] s0 # 320| 1: [ExprStmt] ; # 320| 0: [AssignExpr] ...=... # 320| 0: [VarAccess] s0 # 320| 1: [MethodCall] inc(...) # 320| -1: [VarAccess] tmp4 # 320| 2: [ExprStmt] ; # 320| 0: [VarAccess] tmp4 # 321| 33: [ExprStmt] ; # 321| 0: [ImplicitCoercionToUnitExpr] # 321| 0: [TypeAccess] Unit # 321| 1: [StmtExpr] # 321| 0: [BlockStmt] { ... } # 321| 0: [ExprStmt] ; # 321| 0: [AssignExpr] ...=... # 321| 0: [VarAccess] s0 # 321| 1: [MethodCall] inc(...) # 321| -1: [VarAccess] s0 # 321| 1: [ExprStmt] ; # 321| 0: [VarAccess] s0 # 322| 34: [ExprStmt] ; # 322| 0: [ImplicitCoercionToUnitExpr] # 322| 0: [TypeAccess] Unit # 322| 1: [StmtExpr] # 322| 0: [BlockStmt] { ... } # 322| 0: [LocalVariableDeclStmt] var ...; # 322| 1: [LocalVariableDeclExpr] tmp5 # 322| 0: [VarAccess] s0 # 322| 1: [ExprStmt] ; # 322| 0: [AssignExpr] ...=... # 322| 0: [VarAccess] s0 # 322| 1: [MethodCall] dec(...) # 322| -1: [VarAccess] tmp5 # 322| 2: [ExprStmt] ; # 322| 0: [VarAccess] tmp5 # 323| 35: [ExprStmt] ; # 323| 0: [ImplicitCoercionToUnitExpr] # 323| 0: [TypeAccess] Unit # 323| 1: [StmtExpr] # 323| 0: [BlockStmt] { ... } # 323| 0: [ExprStmt] ; # 323| 0: [AssignExpr] ...=... # 323| 0: [VarAccess] s0 # 323| 1: [MethodCall] dec(...) # 323| -1: [VarAccess] s0 # 323| 1: [ExprStmt] ; # 323| 0: [VarAccess] s0 # 324| 36: [ExprStmt] ; # 324| 0: [ImplicitCoercionToUnitExpr] # 324| 0: [TypeAccess] Unit # 324| 1: [MethodCall] inc(...) # 324| -1: [VarAccess] s0 # 325| 37: [ExprStmt] ; # 325| 0: [ImplicitCoercionToUnitExpr] # 325| 0: [TypeAccess] Unit # 325| 1: [MethodCall] dec(...) # 325| -1: [VarAccess] s0 # 326| 38: [ExprStmt] ; # 326| 0: [ImplicitCoercionToUnitExpr] # 326| 0: [TypeAccess] Unit # 326| 1: [MethodCall] inc(...) # 326| -1: [VarAccess] s1 # 327| 39: [ExprStmt] ; # 327| 0: [ImplicitCoercionToUnitExpr] # 327| 0: [TypeAccess] Unit # 327| 1: [MethodCall] dec(...) # 327| -1: [VarAccess] s1 # 328| 40: [ExprStmt] ; # 328| 0: [ImplicitCoercionToUnitExpr] # 328| 0: [TypeAccess] Unit # 328| 1: [BitNotExpr] ~... # 328| 0: [VarAccess] s # 330| 41: [ExprStmt] ; # 330| 0: [ImplicitCoercionToUnitExpr] # 330| 0: [TypeAccess] Unit # 330| 1: [MinusExpr] -... # 330| 0: [VarAccess] l # 331| 42: [ExprStmt] ; # 331| 0: [ImplicitCoercionToUnitExpr] # 331| 0: [TypeAccess] Unit # 331| 1: [PlusExpr] +... # 331| 0: [VarAccess] l # 332| 43: [LocalVariableDeclStmt] var ...; # 332| 1: [LocalVariableDeclExpr] l0 # 332| 0: [LongLiteral] 1 # 333| 44: [LocalVariableDeclStmt] var ...; # 333| 1: [LocalVariableDeclExpr] l1 # 333| 0: [LongLiteral] 1 # 334| 45: [ExprStmt] ; # 334| 0: [ImplicitCoercionToUnitExpr] # 334| 0: [TypeAccess] Unit # 334| 1: [StmtExpr] # 334| 0: [BlockStmt] { ... } # 334| 0: [LocalVariableDeclStmt] var ...; # 334| 1: [LocalVariableDeclExpr] tmp6 # 334| 0: [VarAccess] l0 # 334| 1: [ExprStmt] ; # 334| 0: [AssignExpr] ...=... # 334| 0: [VarAccess] l0 # 334| 1: [MethodCall] inc(...) # 334| -1: [VarAccess] tmp6 # 334| 2: [ExprStmt] ; # 334| 0: [VarAccess] tmp6 # 335| 46: [ExprStmt] ; # 335| 0: [ImplicitCoercionToUnitExpr] # 335| 0: [TypeAccess] Unit # 335| 1: [StmtExpr] # 335| 0: [BlockStmt] { ... } # 335| 0: [ExprStmt] ; # 335| 0: [AssignExpr] ...=... # 335| 0: [VarAccess] l0 # 335| 1: [MethodCall] inc(...) # 335| -1: [VarAccess] l0 # 335| 1: [ExprStmt] ; # 335| 0: [VarAccess] l0 # 336| 47: [ExprStmt] ; # 336| 0: [ImplicitCoercionToUnitExpr] # 336| 0: [TypeAccess] Unit # 336| 1: [StmtExpr] # 336| 0: [BlockStmt] { ... } # 336| 0: [LocalVariableDeclStmt] var ...; # 336| 1: [LocalVariableDeclExpr] tmp7 # 336| 0: [VarAccess] l0 # 336| 1: [ExprStmt] ; # 336| 0: [AssignExpr] ...=... # 336| 0: [VarAccess] l0 # 336| 1: [MethodCall] dec(...) # 336| -1: [VarAccess] tmp7 # 336| 2: [ExprStmt] ; # 336| 0: [VarAccess] tmp7 # 337| 48: [ExprStmt] ; # 337| 0: [ImplicitCoercionToUnitExpr] # 337| 0: [TypeAccess] Unit # 337| 1: [StmtExpr] # 337| 0: [BlockStmt] { ... } # 337| 0: [ExprStmt] ; # 337| 0: [AssignExpr] ...=... # 337| 0: [VarAccess] l0 # 337| 1: [MethodCall] dec(...) # 337| -1: [VarAccess] l0 # 337| 1: [ExprStmt] ; # 337| 0: [VarAccess] l0 # 338| 49: [ExprStmt] ; # 338| 0: [ImplicitCoercionToUnitExpr] # 338| 0: [TypeAccess] Unit # 338| 1: [MethodCall] inc(...) # 338| -1: [VarAccess] l0 # 339| 50: [ExprStmt] ; # 339| 0: [ImplicitCoercionToUnitExpr] # 339| 0: [TypeAccess] Unit # 339| 1: [MethodCall] dec(...) # 339| -1: [VarAccess] l0 # 340| 51: [ExprStmt] ; # 340| 0: [ImplicitCoercionToUnitExpr] # 340| 0: [TypeAccess] Unit # 340| 1: [MethodCall] inc(...) # 340| -1: [VarAccess] l1 # 341| 52: [ExprStmt] ; # 341| 0: [ImplicitCoercionToUnitExpr] # 341| 0: [TypeAccess] Unit # 341| 1: [MethodCall] dec(...) # 341| -1: [VarAccess] l1 # 342| 53: [ExprStmt] ; # 342| 0: [ImplicitCoercionToUnitExpr] # 342| 0: [TypeAccess] Unit # 342| 1: [BitNotExpr] ~... # 342| 0: [VarAccess] l # 344| 54: [ExprStmt] ; # 344| 0: [ImplicitCoercionToUnitExpr] # 344| 0: [TypeAccess] Unit # 344| 1: [PlusExpr] +... # 344| 0: [VarAccess] f # 345| 55: [ExprStmt] ; # 345| 0: [ImplicitCoercionToUnitExpr] # 345| 0: [TypeAccess] Unit # 345| 1: [MinusExpr] -... # 345| 0: [VarAccess] f # 148| 2: [Class] C # 148| 1: [Constructor] C #-----| 4: (Parameters) # 148| 0: [Parameter] n # 148| 0: [TypeAccess] int # 148| 5: [BlockStmt] { ... } # 148| 0: [SuperConstructorInvocationStmt] super(...) # 148| 1: [BlockStmt] { ... } # 148| 0: [ExprStmt] ; # 148| 0: [KtInitializerAssignExpr] ...=... # 148| 0: [VarAccess] n # 148| 2: [Method] getN # 148| 3: [TypeAccess] int # 148| 5: [BlockStmt] { ... } # 148| 0: [ReturnStmt] return ... # 148| 0: [VarAccess] this.n # 148| -1: [ThisAccess] this # 148| 3: [FieldDeclaration] int n; # 148| -1: [TypeAccess] int # 148| 0: [VarAccess] n # 149| 4: [Method] foo # 149| 3: [TypeAccess] C # 149| 5: [BlockStmt] { ... } # 149| 0: [ReturnStmt] return ... # 149| 0: [ClassInstanceExpr] new C(...) # 149| -3: [TypeAccess] C # 149| 0: [IntegerLiteral] 42 # 152| 3: [Class] Root # 152| 1: [Constructor] Root # 152| 5: [BlockStmt] { ... } # 152| 0: [SuperConstructorInvocationStmt] super(...) # 152| 1: [BlockStmt] { ... } # 153| 4: [Class] Subclass1 # 153| 1: [Constructor] Subclass1 # 153| 5: [BlockStmt] { ... } # 153| 0: [SuperConstructorInvocationStmt] super(...) # 153| 1: [BlockStmt] { ... } # 154| 5: [Class] Subclass2 # 154| 1: [Constructor] Subclass2 # 154| 5: [BlockStmt] { ... } # 154| 0: [SuperConstructorInvocationStmt] super(...) # 154| 1: [BlockStmt] { ... } # 174| 6: [Class] Direction # 0| 2: [Method] getEntries # 0| 3: [TypeAccess] EnumEntries # 0| 0: [TypeAccess] Direction # 0| 3: [Method] valueOf # 0| 3: [TypeAccess] Direction #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String # 0| 4: [Method] values # 0| 3: [TypeAccess] Direction[] # 0| 0: [TypeAccess] Direction # 174| 5: [Constructor] Direction # 174| 5: [BlockStmt] { ... } # 174| 0: [ExprStmt] ; # 174| 0: [ClassInstanceExpr] new Enum(...) # 174| -3: [TypeAccess] Enum # 174| 0: [TypeAccess] Direction # 174| 0: [NullLiteral] null # 174| 1: [IntegerLiteral] 0 # 174| 1: [BlockStmt] { ... } # 175| 6: [FieldDeclaration] Direction NORTH; # 175| -1: [TypeAccess] Direction # 175| 0: [ClassInstanceExpr] new Direction(...) # 175| -3: [TypeAccess] Direction # 175| 7: [FieldDeclaration] Direction SOUTH; # 175| -1: [TypeAccess] Direction # 175| 0: [ClassInstanceExpr] new Direction(...) # 175| -3: [TypeAccess] Direction # 175| 8: [FieldDeclaration] Direction WEST; # 175| -1: [TypeAccess] Direction # 175| 0: [ClassInstanceExpr] new Direction(...) # 175| -3: [TypeAccess] Direction # 175| 9: [FieldDeclaration] Direction EAST; # 175| -1: [TypeAccess] Direction # 175| 0: [ClassInstanceExpr] new Direction(...) # 175| -3: [TypeAccess] Direction # 178| 7: [Class] Color # 0| 2: [Method] getEntries # 0| 3: [TypeAccess] EnumEntries # 0| 0: [TypeAccess] Color # 0| 3: [Method] valueOf # 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String # 0| 4: [Method] values # 0| 3: [TypeAccess] Color[] # 0| 0: [TypeAccess] Color # 178| 5: [Constructor] Color #-----| 4: (Parameters) # 178| 0: [Parameter] rgb # 178| 0: [TypeAccess] int # 178| 5: [BlockStmt] { ... } # 178| 0: [ExprStmt] ; # 178| 0: [ClassInstanceExpr] new Enum(...) # 178| -3: [TypeAccess] Enum # 178| 0: [TypeAccess] Color # 178| 0: [NullLiteral] null # 178| 1: [IntegerLiteral] 0 # 178| 1: [BlockStmt] { ... } # 178| 0: [ExprStmt] ; # 178| 0: [KtInitializerAssignExpr] ...=... # 178| 0: [VarAccess] rgb # 178| 6: [Method] getRgb # 178| 3: [TypeAccess] int # 178| 5: [BlockStmt] { ... } # 178| 0: [ReturnStmt] return ... # 178| 0: [VarAccess] this.rgb # 178| -1: [ThisAccess] this # 178| 7: [FieldDeclaration] int rgb; # 178| -1: [TypeAccess] int # 178| 0: [VarAccess] rgb # 179| 8: [FieldDeclaration] Color RED; # 179| -1: [TypeAccess] Color # 179| 0: [ClassInstanceExpr] new Color(...) # 179| -3: [TypeAccess] Color # 179| 0: [IntegerLiteral] 16711680 # 180| 9: [FieldDeclaration] Color GREEN; # 180| -1: [TypeAccess] Color # 180| 0: [ClassInstanceExpr] new Color(...) # 180| -3: [TypeAccess] Color # 180| 0: [IntegerLiteral] 65280 # 181| 10: [FieldDeclaration] Color BLUE; # 181| -1: [TypeAccess] Color # 181| 0: [ClassInstanceExpr] new Color(...) # 181| -3: [TypeAccess] Color # 181| 0: [IntegerLiteral] 255 # 189| 8: [Interface] Interface1 # 191| 9: [Class] Class1 # 191| 1: [Constructor] Class1 # 191| 5: [BlockStmt] { ... } # 191| 0: [SuperConstructorInvocationStmt] super(...) # 191| 1: [BlockStmt] { ... } # 192| 0: [ExprStmt] ; # 192| 0: [KtInitializerAssignExpr] ...=... # 192| 0: [VarAccess] a1 # 192| 2: [Method] getA1 # 192| 3: [TypeAccess] int # 192| 5: [BlockStmt] { ... } # 192| 0: [ReturnStmt] return ... # 192| 0: [VarAccess] this.a1 # 192| -1: [ThisAccess] this # 192| 3: [FieldDeclaration] int a1; # 192| -1: [TypeAccess] int # 192| 0: [IntegerLiteral] 1 # 193| 4: [Method] getObject # 193| 3: [TypeAccess] Object # 193| 5: [BlockStmt] { ... } # 194| 0: [LocalVariableDeclStmt] var ...; # 194| 1: [LocalVariableDeclExpr] a2 # 194| 0: [IntegerLiteral] 2 # 195| 1: [ReturnStmt] return ... # 195| 0: [StmtExpr] # 195| 0: [BlockStmt] { ... } # 195| 0: [LocalTypeDeclStmt] class ... # 195| 0: [AnonymousClass,LocalClass] new Interface1(...) { ... } # 195| 1: [Constructor] # 195| 5: [BlockStmt] { ... } # 195| 0: [SuperConstructorInvocationStmt] super(...) # 195| 1: [BlockStmt] { ... } # 196| 0: [ExprStmt] ; # 196| 0: [KtInitializerAssignExpr] ...=... # 196| 0: [VarAccess] a3 # 196| 2: [FieldDeclaration] String a3; # 196| -1: [TypeAccess] String # 196| 0: [MethodCall] toString(...) # 196| -1: [AddExpr] ... + ... # 196| 0: [MethodCall] getA1(...) # 196| -1: [ThisAccess] this # 196| 1: [VarAccess] a2 # 196| 3: [Method] getA3 # 196| 3: [TypeAccess] String # 196| 5: [BlockStmt] { ... } # 196| 0: [ReturnStmt] return ... # 196| 0: [VarAccess] this.a3 # 196| -1: [ThisAccess] this # 195| 1: [ExprStmt] ; # 195| 0: [ClassInstanceExpr] new (...) # 195| -3: [TypeAccess] Interface1 # 205| 10: [Class] Class2 # 205| 1: [Constructor] Class2 # 205| 5: [BlockStmt] { ... } # 205| 0: [SuperConstructorInvocationStmt] super(...) # 205| 1: [BlockStmt] { ... } # 206| 2: [Method] x # 206| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 206| 0: [Parameter] aa # 206| 0: [TypeAccess] Object # 206| 1: [Parameter] s # 206| 0: [TypeAccess] String # 206| 5: [BlockStmt] { ... } # 208| 0: [LocalVariableDeclStmt] var ...; # 208| 1: [LocalVariableDeclExpr] a # 208| 0: [MethodCall] valueOf(...) # 208| -1: [TypeAccess] String # 208| 0: [VarAccess] aa # 209| 1: [LocalVariableDeclStmt] var ...; # 209| 1: [LocalVariableDeclExpr] b0 # 209| 0: [MethodCall] stringPlus(...) # 209| -1: [TypeAccess] Intrinsics # 209| 0: [VarAccess] s # 209| 1: [IntegerLiteral] 5 # 210| 2: [LocalVariableDeclStmt] var ...; # 210| 1: [LocalVariableDeclExpr] b1 # 210| 0: [MethodCall] stringPlus(...) # 210| -1: [TypeAccess] Intrinsics # 210| 0: [VarAccess] s # 210| 1: [IntegerLiteral] 5 # 211| 3: [LocalVariableDeclStmt] var ...; # 211| 1: [LocalVariableDeclExpr] b2 # 211| 0: [AddExpr] ... + ... # 211| 0: [NotNullExpr] ...!! # 211| 0: [VarAccess] s # 211| 1: [IntegerLiteral] 5 # 212| 4: [LocalVariableDeclStmt] var ...; # 212| 1: [LocalVariableDeclExpr] b3 # 212| 0: [AddExpr] ... + ... # 212| 0: [NotNullExpr] ...!! # 212| 0: [VarAccess] s # 212| 1: [IntegerLiteral] 5 # 213| 5: [LocalVariableDeclStmt] var ...; # 213| 1: [LocalVariableDeclExpr] c0 # 213| 0: [MethodCall] values(...) # 213| -1: [TypeAccess] Color # 214| 6: [LocalVariableDeclStmt] var ...; # 214| 1: [LocalVariableDeclExpr] c1 # 214| 0: [MethodCall] values(...) # 214| -1: [TypeAccess] Color # 215| 7: [LocalVariableDeclStmt] var ...; # 215| 1: [LocalVariableDeclExpr] d0 # 215| 0: [MethodCall] valueOf(...) # 215| -1: [TypeAccess] Color # 215| 0: [StringLiteral] "GREEN" # 216| 8: [LocalVariableDeclStmt] var ...; # 216| 1: [LocalVariableDeclExpr] d1 # 216| 0: [MethodCall] valueOf(...) # 216| -1: [TypeAccess] Color # 216| 0: [StringLiteral] "GREEN" # 224| 11: [Class] SomeClass1 # 224| 1: [Constructor] SomeClass1 # 224| 5: [BlockStmt] { ... } # 224| 0: [SuperConstructorInvocationStmt] super(...) # 224| 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: [MethodCall] 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: [WildcardTypeAccess] ? ... # 2| 0: [TypeAccess] Object # 2| 5: [BlockStmt] { ... } # 2| 0: [ExprStmt] ; # 2| 0: [ImplicitCoercionToUnitExpr] # 2| 0: [TypeAccess] Unit # 2| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 3| 0: [TypeAccess] Object # 3| 5: [BlockStmt] { ... } # 3| 0: [ExprStmt] ; # 3| 0: [ImplicitCoercionToUnitExpr] # 3| 0: [TypeAccess] Unit # 3| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 4| 1: [TypeAccess] Integer # 4| 1: [TypeAccess] Integer # 4| 5: [BlockStmt] { ... } # 4| 0: [ExprStmt] ; # 4| 0: [ImplicitCoercionToUnitExpr] # 4| 0: [TypeAccess] Unit # 4| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 5| 0: [TypeAccess] Object # 5| 5: [BlockStmt] { ... } # 5| 0: [ExprStmt] ; # 5| 0: [ImplicitCoercionToUnitExpr] # 5| 0: [TypeAccess] Unit # 5| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 6| 1: [TypeAccess] FuncRef # 6| 1: [WildcardTypeAccess] ? ... # 6| 1: [TypeAccess] Integer # 6| 2: [TypeAccess] Integer # 6| 5: [BlockStmt] { ... } # 6| 0: [ExprStmt] ; # 6| 0: [ImplicitCoercionToUnitExpr] # 6| 0: [TypeAccess] Unit # 6| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 7| 1: [TypeAccess] Integer # 7| 1: [WildcardTypeAccess] ? ... # 7| 1: [TypeAccess] Integer # 7| 2: [TypeAccess] Integer # 7| 5: [BlockStmt] { ... } # 7| 0: [ExprStmt] ; # 7| 0: [ImplicitCoercionToUnitExpr] # 7| 0: [TypeAccess] Unit # 7| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 8| 1: [TypeAccess] Integer # 8| 1: [WildcardTypeAccess] ? ... # 8| 1: [TypeAccess] Integer # 8| 2: [TypeAccess] Integer # 8| 5: [BlockStmt] { ... } # 8| 0: [ExprStmt] ; # 8| 0: [ImplicitCoercionToUnitExpr] # 8| 0: [TypeAccess] Unit # 8| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 9| 1: [TypeAccess] Integer # 9| 1: [WildcardTypeAccess] ? ... # 9| 0: [TypeAccess] Function1 # 9| 0: [WildcardTypeAccess] ? ... # 9| 1: [TypeAccess] Integer # 9| 1: [TypeAccess] Double # 9| 5: [BlockStmt] { ... } # 9| 0: [ExprStmt] ; # 9| 0: [ImplicitCoercionToUnitExpr] # 9| 0: [TypeAccess] Unit # 9| 1: [MethodCall] invoke(...) # 9| -1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 1: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 2: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 3: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 4: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 5: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 6: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 7: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 8: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 9: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 10: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 11: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 12: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 13: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 14: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 15: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 16: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 17: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 18: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 19: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 20: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 21: [WildcardTypeAccess] ? ... # 11| 1: [TypeAccess] Integer # 11| 22: [TypeAccess] Unit # 11| 5: [BlockStmt] { ... } # 12| 0: [ExprStmt] ; # 12| 0: [MethodCall] 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: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 1: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 2: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 3: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 4: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 5: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 6: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 7: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 8: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 9: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 10: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 11: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 12: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 13: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 14: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 15: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 16: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 17: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 18: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 19: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 20: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 21: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 22: [WildcardTypeAccess] ? ... # 14| 1: [TypeAccess] Integer # 14| 23: [TypeAccess] String # 14| 5: [BlockStmt] { ... } # 15| 0: [ExprStmt] ; # 15| 0: [ImplicitCoercionToUnitExpr] # 15| 0: [TypeAccess] Unit # 15| 1: [MethodCall] 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: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] FuncRef # 17| 1: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 2: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 3: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 4: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 5: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 6: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 7: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 8: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 9: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 10: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 11: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 12: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 13: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 14: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 15: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 16: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 17: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 18: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 19: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 20: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 21: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 22: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 23: [WildcardTypeAccess] ? ... # 17| 1: [TypeAccess] Integer # 17| 24: [TypeAccess] String # 17| 5: [BlockStmt] { ... } # 18| 0: [ExprStmt] ; # 18| 0: [ImplicitCoercionToUnitExpr] # 18| 0: [TypeAccess] Unit # 18| 1: [MethodCall] 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: [MethodCall] functionExpression0a(...) # 22| -1: [TypeAccess] FuncExprsKt # 22| 0: [LambdaExpr] ...->... # 22| -4: [AnonymousClass] new Function0(...) { ... } # 22| 1: [Constructor] # 22| 5: [BlockStmt] { ... } # 22| 0: [SuperConstructorInvocationStmt] super(...) # 22| 2: [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: [MethodCall] functionExpression0b(...) # 23| -1: [TypeAccess] FuncExprsKt # 23| 0: [LambdaExpr] ...->... # 23| -4: [AnonymousClass] new Function0(...) { ... } # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) # 23| 2: [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: [MethodCall] functionExpression0c(...) # 24| -1: [TypeAccess] FuncExprsKt # 24| 0: [LambdaExpr] ...->... # 24| -4: [AnonymousClass] new Function0(...) { ... } # 24| 1: [Constructor] # 24| 5: [BlockStmt] { ... } # 24| 0: [SuperConstructorInvocationStmt] super(...) # 24| 2: [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: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [Method] invoke # 27| 3: [TypeAccess] int #-----| 4: (Parameters) # 27| 0: [Parameter] p0 # 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: [MethodCall] functionExpression1a(...) # 28| -1: [TypeAccess] FuncExprsKt # 28| 0: [IntegerLiteral] 5 # 28| 1: [ClassInstanceExpr] new MyLambda(...) # 28| -3: [TypeAccess] MyLambda # 29| 7: [ExprStmt] ; # 29| 0: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [Method] invoke # 30| 3: [TypeAccess] int #-----| 4: (Parameters) # 30| 0: [Parameter] p0 # 30| 0: [TypeAccess] int # 30| 1: [Parameter] p1 # 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: [MethodCall] 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| 2: [Method] invoke # 31| 3: [TypeAccess] int #-----| 4: (Parameters) # 31| 0: [Parameter] p0 # 31| 0: [TypeAccess] int # 31| 1: [Parameter] p1 # 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: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [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| 2: [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: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [Method] invoke #-----| 4: (Parameters) # 36| 0: [Parameter] a0 # 36| 5: [BlockStmt] { ... } # 36| 0: [ReturnStmt] return ... # 36| 0: [MethodCall] 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: [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| -3: [TypeAccess] FunctionN # 36| 0: [TypeAccess] String # 38| 14: [ExprStmt] ; # 38| 0: [MethodCall] 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| 0: [IntegerLiteral] 0 # 38| 1: [ExprStmt] ; # 38| 0: [AssignExpr] ...=... # 38| 0: [VarAccess] this. # 38| -1: [ThisAccess] this # 38| 1: [VarAccess] # 38| 2: [FieldDeclaration] FuncRef ; # 38| -1: [TypeAccess] FuncRef # 38| 3: [Method] invoke # 38| 5: [BlockStmt] { ... } # 38| 0: [ReturnStmt] return ... # 38| 0: [MethodCall] f0(...) # 38| -1: [VarAccess] this. # 38| -1: [ThisAccess] this # 38| -3: [TypeAccess] Function0 # 38| 0: [TypeAccess] Integer # 38| 0: [ClassInstanceExpr] new FuncRef(...) # 38| -3: [TypeAccess] FuncRef # 39| 15: [ExprStmt] ; # 39| 0: [MethodCall] 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| 0: [IntegerLiteral] 0 # 39| 1: [ExprStmt] ; # 39| 0: [AssignExpr] ...=... # 39| 0: [VarAccess] this. # 39| -1: [ThisAccess] this # 39| 1: [VarAccess] # 39| 2: [FieldDeclaration] Companion ; # 39| -1: [TypeAccess] Companion # 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodCall] f0(...) # 39| -1: [VarAccess] this. # 39| -1: [ThisAccess] this # 39| -3: [TypeAccess] Function0 # 39| 0: [TypeAccess] Integer # 39| 0: [VarAccess] Companion # 40| 16: [ExprStmt] ; # 40| 0: [MethodCall] 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| 0: [IntegerLiteral] 1 # 40| 1: [ExprStmt] ; # 40| 0: [AssignExpr] ...=... # 40| 0: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 1: [VarAccess] # 40| 2: [FieldDeclaration] FuncRef ; # 40| -1: [TypeAccess] FuncRef # 40| 3: [Method] invoke #-----| 4: (Parameters) # 40| 0: [Parameter] a0 # 40| 5: [BlockStmt] { ... } # 40| 0: [ReturnStmt] return ... # 40| 0: [MethodCall] f1(...) # 40| -1: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 0: [VarAccess] a0 # 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: [MethodCall] 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| 0: [IntegerLiteral] 2 # 41| 2: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 1: [Parameter] a1 # 41| 5: [BlockStmt] { ... } # 41| 0: [ReturnStmt] return ... # 41| 0: [MethodCall] 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: [MethodCall] 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| 0: [IntegerLiteral] 1 # 42| 1: [ExprStmt] ; # 42| 0: [AssignExpr] ...=... # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] # 42| 2: [FieldDeclaration] int ; # 42| -1: [TypeAccess] int # 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodCall] f3(...) # 42| -1: [TypeAccess] FuncExprsKt # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] a0 # 42| -3: [TypeAccess] Function1 # 42| 0: [TypeAccess] Integer # 42| 1: [TypeAccess] Integer # 42| 0: [IntegerLiteral] 3 # 43| 19: [ExprStmt] ; # 43| 0: [MethodCall] 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| 0: [IntegerLiteral] 2 # 43| 2: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 1: [Parameter] a1 # 43| 5: [BlockStmt] { ... } # 43| 0: [ReturnStmt] return ... # 43| 0: [MethodCall] 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: [MethodCall] 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| 0: [IntegerLiteral] 22 # 44| 1: [ExprStmt] ; # 44| 0: [AssignExpr] ...=... # 44| 0: [VarAccess] this. # 44| -1: [ThisAccess] this # 44| 1: [VarAccess] # 44| 2: [FieldDeclaration] FuncRef ; # 44| -1: [TypeAccess] FuncRef # 44| 3: [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: [MethodCall] 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| -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: [MethodCall] 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| 0: [IntegerLiteral] 23 # 45| 1: [ExprStmt] ; # 45| 0: [AssignExpr] ...=... # 45| 0: [VarAccess] this. # 45| -1: [ThisAccess] this # 45| 1: [VarAccess] # 45| 2: [FieldDeclaration] FuncRef ; # 45| -1: [TypeAccess] FuncRef # 45| 3: [Method] invoke #-----| 4: (Parameters) # 45| 0: [Parameter] a0 # 45| 5: [BlockStmt] { ... } # 45| 0: [ReturnStmt] return ... # 45| 0: [MethodCall] 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| -3: [TypeAccess] FunctionN # 45| 0: [TypeAccess] String # 45| 0: [ClassInstanceExpr] new FuncRef(...) # 45| -3: [TypeAccess] FuncRef # 46| 22: [ExprStmt] ; # 46| 0: [MethodCall] 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| 0: [IntegerLiteral] 24 # 46| 2: [Method] invoke #-----| 4: (Parameters) # 46| 0: [Parameter] a0 # 46| 5: [BlockStmt] { ... } # 46| 0: [ReturnStmt] return ... # 46| 0: [MethodCall] 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| 2: [Method] local # 48| 3: [TypeAccess] int # 48| 5: [BlockStmt] { ... } # 48| 0: [ReturnStmt] return ... # 48| 0: [IntegerLiteral] 5 # 49| 24: [ExprStmt] ; # 49| 0: [MethodCall] functionExpression0a(...) # 49| -1: [TypeAccess] FuncExprsKt # 49| 0: [MemberRefExpr] ...::... # 49| -4: [AnonymousClass] new Function0(...) { ... } # 49| 1: [Constructor] # 49| 5: [BlockStmt] { ... } # 49| 0: [SuperConstructorInvocationStmt] super(...) # 49| 0: [IntegerLiteral] 0 # 49| 2: [Method] invoke # 49| 5: [BlockStmt] { ... } # 49| 0: [ReturnStmt] return ... # 49| 0: [MethodCall] local(...) # 49| -1: [ClassInstanceExpr] new (...) # 49| -3: [TypeAccess] Object # 49| -3: [TypeAccess] Function0 # 49| 0: [TypeAccess] Integer # 51| 25: [ExprStmt] ; # 51| 0: [MethodCall] 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| 0: [IntegerLiteral] 0 # 51| 2: [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: [WildcardTypeAccess] ? ... # 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 # 82| 16: [Method] fn # 82| 3: [TypeAccess] Unit # 82| 5: [BlockStmt] { ... } # 83| 0: [LocalVariableDeclStmt] var ...; # 83| 1: [LocalVariableDeclExpr] l1 # 83| 0: [LambdaExpr] ...->... # 83| -4: [AnonymousClass] new Function1(...) { ... } # 83| 1: [Constructor] # 83| 5: [BlockStmt] { ... } # 83| 0: [SuperConstructorInvocationStmt] super(...) # 83| 2: [Method] invoke # 83| 3: [TypeAccess] String #-----| 4: (Parameters) # 83| 0: [Parameter] i # 83| 0: [TypeAccess] int # 83| 5: [BlockStmt] { ... } # 83| 0: [ReturnStmt] return ... # 83| 0: [MethodCall] toString(...) # 83| -1: [VarAccess] i # 83| -3: [TypeAccess] Function1 # 83| 0: [TypeAccess] Integer # 83| 1: [TypeAccess] String # 84| 1: [ExprStmt] ; # 84| 0: [ImplicitCoercionToUnitExpr] # 84| 0: [TypeAccess] Unit # 84| 1: [MethodCall] invoke(...) # 84| -1: [VarAccess] l1 # 84| 0: [IntegerLiteral] 5 # 86| 2: [LocalVariableDeclStmt] var ...; # 86| 1: [LocalVariableDeclExpr] l2 # 86| 0: [LambdaExpr] ...->... # 86| -4: [AnonymousClass] new Function1(...) { ... } # 86| 1: [Constructor] # 86| 5: [BlockStmt] { ... } # 86| 0: [SuperConstructorInvocationStmt] super(...) # 86| 2: [Method] invoke # 86| 3: [TypeAccess] String #-----| 4: (Parameters) # 86| 0: [Parameter] i # 86| 0: [TypeAccess] int # 86| 5: [BlockStmt] { ... } # 86| 0: [ReturnStmt] return ... # 86| 0: [MethodCall] toString(...) # 86| -1: [VarAccess] i # 86| -3: [TypeAccess] Function1 # 86| 0: [TypeAccess] Integer # 86| 1: [TypeAccess] String # 87| 3: [ExprStmt] ; # 87| 0: [ImplicitCoercionToUnitExpr] # 87| 0: [TypeAccess] Unit # 87| 1: [MethodCall] invoke(...) # 87| -1: [VarAccess] l2 # 87| 0: [IntegerLiteral] 5 # 89| 4: [LocalVariableDeclStmt] var ...; # 89| 1: [LocalVariableDeclExpr] l3 # 90| 0: [LambdaExpr] ...->... # 90| -4: [AnonymousClass] new FunctionN(...) { ... } # 90| 1: [Constructor] # 90| 5: [BlockStmt] { ... } # 90| 0: [SuperConstructorInvocationStmt] super(...) # 90| 2: [Method] invoke #-----| 4: (Parameters) # 90| 0: [Parameter] a0 # 90| 5: [BlockStmt] { ... } # 90| 0: [ReturnStmt] return ... # 90| 0: [MethodCall] invoke(...) # 90| -1: [ThisAccess] this # 90| 0: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 0 # 90| 1: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 1 # 90| 2: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 2 # 90| 3: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 3 # 90| 4: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 4 # 90| 5: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 5 # 90| 6: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 6 # 90| 7: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 7 # 90| 8: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 8 # 90| 9: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 9 # 90| 10: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 10 # 90| 11: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 11 # 90| 12: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 12 # 90| 13: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 13 # 90| 14: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 14 # 90| 15: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 15 # 90| 16: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 16 # 90| 17: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 17 # 90| 18: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 18 # 90| 19: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 19 # 90| 20: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 20 # 90| 21: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 21 # 90| 22: [CastExpr] (...)... # 90| 0: [TypeAccess] int # 90| 1: [ArrayAccess] ...[...] # 90| 0: [VarAccess] a0 # 90| 1: [IntegerLiteral] 22 # 90| 3: [Method] invoke # 90| 3: [TypeAccess] String #-----| 4: (Parameters) # 90| 0: [Parameter] p0 # 90| 0: [TypeAccess] int # 90| 1: [Parameter] p1 # 90| 0: [TypeAccess] int # 90| 2: [Parameter] p2 # 90| 0: [TypeAccess] int # 90| 3: [Parameter] p3 # 90| 0: [TypeAccess] int # 90| 4: [Parameter] p4 # 90| 0: [TypeAccess] int # 90| 5: [Parameter] p5 # 90| 0: [TypeAccess] int # 90| 6: [Parameter] p6 # 90| 0: [TypeAccess] int # 90| 7: [Parameter] p7 # 90| 0: [TypeAccess] int # 90| 8: [Parameter] p8 # 90| 0: [TypeAccess] int # 90| 9: [Parameter] p9 # 90| 0: [TypeAccess] int # 90| 10: [Parameter] p10 # 90| 0: [TypeAccess] int # 90| 11: [Parameter] p11 # 90| 0: [TypeAccess] int # 90| 12: [Parameter] p12 # 90| 0: [TypeAccess] int # 90| 13: [Parameter] p13 # 90| 0: [TypeAccess] int # 90| 14: [Parameter] p14 # 90| 0: [TypeAccess] int # 90| 15: [Parameter] p15 # 90| 0: [TypeAccess] int # 90| 16: [Parameter] p16 # 90| 0: [TypeAccess] int # 90| 17: [Parameter] p17 # 90| 0: [TypeAccess] int # 90| 18: [Parameter] p18 # 90| 0: [TypeAccess] int # 90| 19: [Parameter] p19 # 90| 0: [TypeAccess] int # 90| 20: [Parameter] p20 # 90| 0: [TypeAccess] int # 90| 21: [Parameter] p21 # 90| 0: [TypeAccess] int # 90| 22: [Parameter] p22 # 90| 0: [TypeAccess] int # 90| 5: [BlockStmt] { ... } # 90| 0: [ReturnStmt] return ... # 90| 0: [StringLiteral] "" # 90| -3: [TypeAccess] FunctionN # 90| 0: [TypeAccess] String # 91| 5: [ExprStmt] ; # 91| 0: [ImplicitCoercionToUnitExpr] # 91| 0: [TypeAccess] Unit # 91| 1: [MethodCall] invoke(...) # 91| -1: [VarAccess] l3 # 91| 0: [ArrayCreationExpr] new Object[] # 91| -2: [ArrayInit] {...} # 91| 0: [IntegerLiteral] 1 # 91| 1: [IntegerLiteral] 2 # 91| 2: [IntegerLiteral] 3 # 91| 3: [IntegerLiteral] 4 # 91| 4: [IntegerLiteral] 5 # 91| 5: [IntegerLiteral] 6 # 91| 6: [IntegerLiteral] 7 # 91| 7: [IntegerLiteral] 8 # 91| 8: [IntegerLiteral] 9 # 91| 9: [IntegerLiteral] 0 # 91| 10: [IntegerLiteral] 1 # 91| 11: [IntegerLiteral] 2 # 91| 12: [IntegerLiteral] 3 # 91| 13: [IntegerLiteral] 4 # 91| 14: [IntegerLiteral] 5 # 91| 15: [IntegerLiteral] 6 # 91| 16: [IntegerLiteral] 7 # 91| 17: [IntegerLiteral] 8 # 91| 18: [IntegerLiteral] 9 # 91| 19: [IntegerLiteral] 0 # 91| 20: [IntegerLiteral] 1 # 91| 21: [IntegerLiteral] 2 # 91| 22: [IntegerLiteral] 3 # 91| -1: [TypeAccess] Object # 91| 0: [IntegerLiteral] 23 # 93| 6: [LocalVariableDeclStmt] var ...; # 93| 1: [LocalVariableDeclExpr] l4 # 94| 0: [LambdaExpr] ...->... # 94| -4: [AnonymousClass] new Function22(...) { ... } # 94| 1: [Constructor] # 94| 5: [BlockStmt] { ... } # 94| 0: [SuperConstructorInvocationStmt] super(...) # 94| 2: [Method] invoke # 94| 3: [TypeAccess] String #-----| 4: (Parameters) # 94| 0: [Parameter] p0 # 94| 0: [TypeAccess] int # 94| 1: [Parameter] p1 # 94| 0: [TypeAccess] int # 94| 2: [Parameter] p2 # 94| 0: [TypeAccess] int # 94| 3: [Parameter] p3 # 94| 0: [TypeAccess] int # 94| 4: [Parameter] p4 # 94| 0: [TypeAccess] int # 94| 5: [Parameter] p5 # 94| 0: [TypeAccess] int # 94| 6: [Parameter] p6 # 94| 0: [TypeAccess] int # 94| 7: [Parameter] p7 # 94| 0: [TypeAccess] int # 94| 8: [Parameter] p8 # 94| 0: [TypeAccess] int # 94| 9: [Parameter] p9 # 94| 0: [TypeAccess] int # 94| 10: [Parameter] p10 # 94| 0: [TypeAccess] int # 94| 11: [Parameter] p11 # 94| 0: [TypeAccess] int # 94| 12: [Parameter] p12 # 94| 0: [TypeAccess] int # 94| 13: [Parameter] p13 # 94| 0: [TypeAccess] int # 94| 14: [Parameter] p14 # 94| 0: [TypeAccess] int # 94| 15: [Parameter] p15 # 94| 0: [TypeAccess] int # 94| 16: [Parameter] p16 # 94| 0: [TypeAccess] int # 94| 17: [Parameter] p17 # 94| 0: [TypeAccess] int # 94| 18: [Parameter] p18 # 94| 0: [TypeAccess] int # 94| 19: [Parameter] p19 # 94| 0: [TypeAccess] int # 94| 20: [Parameter] p20 # 94| 0: [TypeAccess] int # 94| 21: [Parameter] p21 # 94| 0: [TypeAccess] int # 94| 5: [BlockStmt] { ... } # 94| 0: [ReturnStmt] return ... # 94| 0: [StringLiteral] "" # 94| -3: [TypeAccess] Function22 # 94| 0: [TypeAccess] Integer # 94| 1: [TypeAccess] Integer # 94| 2: [TypeAccess] Integer # 94| 3: [TypeAccess] Integer # 94| 4: [TypeAccess] Integer # 94| 5: [TypeAccess] Integer # 94| 6: [TypeAccess] Integer # 94| 7: [TypeAccess] Integer # 94| 8: [TypeAccess] Integer # 94| 9: [TypeAccess] Integer # 94| 10: [TypeAccess] Integer # 94| 11: [TypeAccess] Integer # 94| 12: [TypeAccess] Integer # 94| 13: [TypeAccess] Integer # 94| 14: [TypeAccess] Integer # 94| 15: [TypeAccess] Integer # 94| 16: [TypeAccess] Integer # 94| 17: [TypeAccess] Integer # 94| 18: [TypeAccess] Integer # 94| 19: [TypeAccess] Integer # 94| 20: [TypeAccess] Integer # 94| 21: [TypeAccess] Integer # 94| 22: [TypeAccess] String # 95| 7: [ExprStmt] ; # 95| 0: [ImplicitCoercionToUnitExpr] # 95| 0: [TypeAccess] Unit # 95| 1: [MethodCall] invoke(...) # 95| -1: [VarAccess] l4 # 95| 0: [IntegerLiteral] 1 # 95| 1: [IntegerLiteral] 2 # 95| 2: [IntegerLiteral] 3 # 95| 3: [IntegerLiteral] 4 # 95| 4: [IntegerLiteral] 5 # 95| 5: [IntegerLiteral] 6 # 95| 6: [IntegerLiteral] 7 # 95| 7: [IntegerLiteral] 8 # 95| 8: [IntegerLiteral] 9 # 95| 9: [IntegerLiteral] 0 # 95| 10: [IntegerLiteral] 1 # 95| 11: [IntegerLiteral] 2 # 95| 12: [IntegerLiteral] 3 # 95| 13: [IntegerLiteral] 4 # 95| 14: [IntegerLiteral] 5 # 95| 15: [IntegerLiteral] 6 # 95| 16: [IntegerLiteral] 7 # 95| 17: [IntegerLiteral] 8 # 95| 18: [IntegerLiteral] 9 # 95| 19: [IntegerLiteral] 0 # 95| 20: [IntegerLiteral] 1 # 95| 21: [IntegerLiteral] 2 # 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: [MethodCall] 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| 2: [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: [WildcardTypeAccess] ? ... # 77| 1: [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| 0: [IntegerLiteral] 1 # 8| 1: [ExprStmt] ; # 8| 0: [AssignExpr] ...=... # 8| 0: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 1: [VarAccess] # 8| 2: [FieldDeclaration] A ; # 8| -1: [TypeAccess] A # 8| 3: [Method] invoke #-----| 4: (Parameters) # 8| 0: [Parameter] a0 # 8| 5: [BlockStmt] { ... } # 8| 0: [ReturnStmt] return ... # 8| 0: [MethodCall] f(...) # 8| -1: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 0: [VarAccess] a0 # 8| -3: [TypeAccess] Function1 # 8| 0: [TypeAccess] String # 8| 1: [TypeAccess] Unit # 8| 0: [VarAccess] a # 9| 1: [ExprStmt] ; # 9| 0: [MethodCall] 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| 2: [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: [MethodCall] 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| 2: [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: [MethodCall] 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: [MethodCall] 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| 2: [FieldDeclaration] Function1 ; # 2| -1: [TypeAccess] Function1 # 2| 0: [TypeAccess] Integer # 2| 1: [TypeAccess] Boolean # 2| 3: [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: [MethodCall] invoke(...) # 2| -1: [VarAccess] # 2| 0: [VarAccess] i # 2| -3: [TypeAccess] IntPredicate # 2| 0: [LambdaExpr] ...->... # 2| -4: [AnonymousClass] new Function1(...) { ... } # 2| 1: [Constructor] # 2| 5: [BlockStmt] { ... } # 2| 0: [SuperConstructorInvocationStmt] super(...) # 2| 2: [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| 2: [FieldDeclaration] Function2 ; # 4| -1: [TypeAccess] Function2 # 4| 0: [TypeAccess] Integer # 4| 1: [TypeAccess] Integer # 4| 2: [TypeAccess] Unit # 4| 3: [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: [MethodCall] invoke(...) # 4| -1: [VarAccess] # 4| 0: [VarAccess] i # 4| 1: [VarAccess] j # 4| -3: [TypeAccess] InterfaceFn1 # 4| 0: [LambdaExpr] ...->... # 4| -4: [AnonymousClass] new Function2(...) { ... } # 4| 1: [Constructor] # 4| 5: [BlockStmt] { ... } # 4| 0: [SuperConstructorInvocationStmt] super(...) # 4| 2: [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| 2: [FieldDeclaration] Function2 ; # 5| -1: [TypeAccess] Function2 # 5| 0: [TypeAccess] Integer # 5| 1: [TypeAccess] Integer # 5| 2: [TypeAccess] Unit # 5| 3: [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: [MethodCall] invoke(...) # 5| -1: [VarAccess] # 5| 0: [VarAccess] i # 5| 1: [VarAccess] j # 5| -3: [TypeAccess] InterfaceFn1 # 5| 0: [MemberRefExpr] ...::... # 5| -4: [AnonymousClass] new Function2(...) { ... } # 5| 1: [Constructor] # 5| 5: [BlockStmt] { ... } # 5| 0: [SuperConstructorInvocationStmt] super(...) # 5| 0: [IntegerLiteral] 2 # 5| 2: [Method] invoke #-----| 4: (Parameters) # 5| 0: [Parameter] a0 # 5| 1: [Parameter] a1 # 5| 5: [BlockStmt] { ... } # 5| 0: [ReturnStmt] return ... # 5| 0: [MethodCall] 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| 2: [FieldDeclaration] Function2 ; # 7| -1: [TypeAccess] Function2 # 7| 0: [TypeAccess] String # 7| 1: [TypeAccess] Integer # 7| 2: [TypeAccess] Boolean # 7| 3: [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: [MethodCall] invoke(...) # 7| -1: [VarAccess] # 7| 0: [ExtensionReceiverAccess] this # 7| 1: [VarAccess] i # 7| -3: [TypeAccess] InterfaceFnExt1 # 7| 0: [LambdaExpr] ...->... # 7| -4: [AnonymousClass] new Function2(...) { ... } # 7| 1: [Constructor] # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) # 7| 2: [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| 2: [FieldDeclaration] Function1 ; # 9| -1: [TypeAccess] Function1 # 9| 0: [TypeAccess] Integer # 9| 1: [TypeAccess] Boolean # 9| 3: [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: [MethodCall] invoke(...) # 9| -1: [VarAccess] # 9| 0: [VarAccess] i # 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| 2: [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| 2: [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| 0: [IntegerLiteral] 23 # 41| 2: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 5: [BlockStmt] { ... } # 41| 0: [ReturnStmt] return ... # 41| 0: [MethodCall] 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| 2: [FieldDeclaration] FunctionN ; # 42| -1: [TypeAccess] FunctionN # 42| 0: [TypeAccess] Boolean # 42| 3: [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: [MethodCall] 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| -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| 2: [FieldDeclaration] FunctionN ; # 43| -1: [TypeAccess] FunctionN # 43| 0: [TypeAccess] Boolean # 43| 3: [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: [MethodCall] 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| -3: [TypeAccess] BigArityPredicate # 43| 0: [LambdaExpr] ...->... # 43| -4: [AnonymousClass] new FunctionN(...) { ... } # 43| 1: [Constructor] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) # 43| 2: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 5: [BlockStmt] { ... } # 43| 0: [ReturnStmt] return ... # 43| 0: [MethodCall] 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: [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| -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| 2: [FieldDeclaration] Function1 ; # 46| -1: [TypeAccess] Function1 # 46| 0: [TypeAccess] Integer # 46| 1: [TypeAccess] Boolean # 46| 3: [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: [MethodCall] invoke(...) # 46| -1: [VarAccess] # 46| 0: [VarAccess] i # 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| 2: [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 # 57| 5: [Method] test # 57| 3: [TypeAccess] Unit # 57| 5: [BlockStmt] { ... } # 58| 0: [LocalVariableDeclStmt] var ...; # 58| 1: [LocalVariableDeclExpr] i0 # 58| 0: [CastExpr] (...)... # 58| 0: [TypeAccess] InterfaceFn1Sus # 58| 1: [ClassInstanceExpr] new (...) # 58| -4: [AnonymousClass] new InterfaceFn1Sus(...) { ... } # 58| 1: [Constructor] #-----| 4: (Parameters) # 58| 0: [Parameter] # 58| 5: [BlockStmt] { ... } # 58| 0: [SuperConstructorInvocationStmt] super(...) # 58| 1: [ExprStmt] ; # 58| 0: [AssignExpr] ...=... # 58| 0: [VarAccess] this. # 58| -1: [ThisAccess] this # 58| 1: [VarAccess] # 58| 2: [FieldDeclaration] Function2 ; # 58| -1: [TypeAccess] Function2 # 58| 0: [TypeAccess] Integer # 58| 1: [TypeAccess] Integer # 58| 2: [TypeAccess] Unit # 58| 3: [Method] fn1 # 58| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 58| 0: [Parameter] i # 58| 0: [TypeAccess] int # 58| 1: [Parameter] j # 58| 0: [TypeAccess] int # 58| 5: [BlockStmt] { ... } # 58| 0: [ReturnStmt] return ... # 58| 0: [MethodCall] invoke(...) # 58| -1: [VarAccess] # 58| 0: [VarAccess] i # 58| 1: [VarAccess] j # 58| -3: [TypeAccess] InterfaceFn1Sus # 58| 0: [LambdaExpr] ...->... # 58| -4: [AnonymousClass] new Function2(...) { ... } # 58| 1: [Constructor] # 58| 5: [BlockStmt] { ... } # 58| 0: [SuperConstructorInvocationStmt] super(...) # 58| 2: [Method] invoke # 58| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 58| 0: [Parameter] a # 58| 0: [TypeAccess] int # 58| 1: [Parameter] b # 58| 0: [TypeAccess] int # 58| 5: [BlockStmt] { ... } # 58| 0: [ExprStmt] ; # 58| 0: [VarAccess] INSTANCE # 58| -3: [TypeAccess] Function2 # 58| 0: [TypeAccess] Integer # 58| 1: [TypeAccess] Integer # 58| 2: [TypeAccess] Unit # 59| 1: [ExprStmt] ; # 59| 0: [MethodCall] fn1(...) # 59| -1: [VarAccess] i0 # 59| 0: [IntegerLiteral] 1 # 59| 1: [IntegerLiteral] 2 # 74| 6: [Method] propertyRefsTest # 74| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 74| 0: [Parameter] prt # 74| 0: [TypeAccess] PropertyRefsTest # 74| 5: [BlockStmt] { ... } # 75| 0: [LocalVariableDeclStmt] var ...; # 75| 1: [LocalVariableDeclExpr] test1 # 75| 0: [CastExpr] (...)... # 75| 0: [TypeAccess] IntGetter # 75| 1: [ClassInstanceExpr] new (...) # 75| -4: [AnonymousClass] new IntGetter(...) { ... } # 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| 2: [FieldDeclaration] Function0 ; # 75| -1: [TypeAccess] Function0 # 75| 0: [TypeAccess] Integer # 75| 3: [Method] f # 75| 3: [TypeAccess] int # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] invoke(...) # 75| -1: [VarAccess] # 75| -3: [TypeAccess] IntGetter # 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| 2: [FieldDeclaration] PropertyRefsTest ; # 75| -1: [TypeAccess] PropertyRefsTest # 75| 3: [Method] get # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] getX(...) # 75| -1: [VarAccess] this. # 75| -1: [ThisAccess] this # 75| 4: [Method] invoke # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodCall] get(...) # 75| -1: [ThisAccess] this # 75| -3: [TypeAccess] KProperty0 # 75| 0: [TypeAccess] Integer # 75| 0: [VarAccess] prt # 76| 1: [LocalVariableDeclStmt] var ...; # 76| 1: [LocalVariableDeclExpr] test2 # 76| 0: [CastExpr] (...)... # 76| 0: [TypeAccess] PropertyRefsGetter # 76| 1: [ClassInstanceExpr] new (...) # 76| -4: [AnonymousClass] new PropertyRefsGetter(...) { ... } # 76| 1: [Constructor] #-----| 4: (Parameters) # 76| 0: [Parameter] # 76| 5: [BlockStmt] { ... } # 76| 0: [SuperConstructorInvocationStmt] super(...) # 76| 1: [ExprStmt] ; # 76| 0: [AssignExpr] ...=... # 76| 0: [VarAccess] this. # 76| -1: [ThisAccess] this # 76| 1: [VarAccess] # 76| 2: [FieldDeclaration] Function1 ; # 76| -1: [TypeAccess] Function1 # 76| 0: [TypeAccess] PropertyRefsTest # 76| 1: [TypeAccess] Integer # 76| 3: [Method] f # 76| 3: [TypeAccess] int #-----| 4: (Parameters) # 76| 0: [Parameter] prt # 76| 0: [TypeAccess] PropertyRefsTest # 76| 5: [BlockStmt] { ... } # 76| 0: [ReturnStmt] return ... # 76| 0: [MethodCall] invoke(...) # 76| -1: [VarAccess] # 76| 0: [VarAccess] prt # 76| -3: [TypeAccess] PropertyRefsGetter # 76| 0: [PropertyRefExpr] ...::... # 76| -4: [AnonymousClass] new KProperty1(...) { ... } # 76| 1: [Constructor] # 76| 5: [BlockStmt] { ... } # 76| 0: [SuperConstructorInvocationStmt] super(...) # 76| 2: [Method] get #-----| 4: (Parameters) # 76| 0: [Parameter] a0 # 76| 5: [BlockStmt] { ... } # 76| 0: [ReturnStmt] return ... # 76| 0: [MethodCall] getX(...) # 76| -1: [VarAccess] a0 # 76| 3: [Method] invoke #-----| 4: (Parameters) # 76| 0: [Parameter] a0 # 76| 5: [BlockStmt] { ... } # 76| 0: [ReturnStmt] return ... # 76| 0: [MethodCall] get(...) # 76| -1: [ThisAccess] this # 76| 0: [VarAccess] a0 # 76| -3: [TypeAccess] KProperty1 # 76| 0: [TypeAccess] PropertyRefsTest # 76| 1: [TypeAccess] Integer # 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 # 53| 7: [Interface] InterfaceFn1Sus # 54| 1: [Method] fn1 # 54| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 54| 0: [Parameter] i # 54| 0: [TypeAccess] int # 54| 1: [Parameter] j # 54| 0: [TypeAccess] int # 62| 8: [Class] PropertyRefsTest # 62| 1: [Constructor] PropertyRefsTest # 62| 5: [BlockStmt] { ... } # 62| 0: [SuperConstructorInvocationStmt] super(...) # 62| 1: [BlockStmt] { ... } # 63| 0: [ExprStmt] ; # 63| 0: [KtInitializerAssignExpr] ...=... # 63| 0: [VarAccess] x # 63| 2: [Method] getX # 63| 3: [TypeAccess] int # 63| 5: [BlockStmt] { ... } # 63| 0: [ReturnStmt] return ... # 63| 0: [VarAccess] this.x # 63| -1: [ThisAccess] this # 63| 3: [FieldDeclaration] int x; # 63| -1: [TypeAccess] int # 63| 0: [IntegerLiteral] 1 # 66| 9: [Interface] PropertyRefsGetter # 67| 1: [Method] f # 67| 3: [TypeAccess] int #-----| 4: (Parameters) # 67| 0: [Parameter] prt # 67| 0: [TypeAccess] PropertyRefsTest # 70| 10: [Interface] IntGetter # 71| 1: [Method] f # 71| 3: [TypeAccess] int 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