test.kt: # 0| [CompilationUnit] test # 0| 1: [Class] TestKt # 1| 1: [Method] getString # 1| 3: [TypeAccess] String # 1| 5: [BlockStmt] { ... } # 1| 0: [ReturnStmt] return ... # 1| 0: [StringLiteral] "Hello world" # 44| 2: [ExtensionMethod] testExtensionFunction # 44| 3: [TypeAccess] int #-----| 4: (Parameters) # 45| 0: [Parameter] # 45| 0: [TypeAccess] Test # 45| 1: [Parameter] a # 45| 0: [TypeAccess] int # 45| 2: [Parameter] b # 45| 0: [TypeAccess] String # 45| 3: [Parameter] c # 45| 0: [TypeAccess] double # 45| 4: [Parameter] e # 45| 0: [TypeAccess] boolean # 44| 5: [BlockStmt] { ... } # 44| 0: [ReturnStmt] return ... # 44| 0: [MethodCall] testExtensionFunction$default(...) # 44| -1: [TypeAccess] TestKt # 0| 0: [ExtensionReceiverAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 23 # 1| 7: [NullLiteral] null # 44| 3: [ExtensionMethod] testExtensionFunction #-----| 1: (Annotations) # 44| 1: [Annotation] JvmOverloads # 44| 3: [TypeAccess] int #-----| 4: (Parameters) # 45| 0: [Parameter] # 45| 0: [TypeAccess] Test # 45| 1: [Parameter] a # 45| 0: [TypeAccess] int # 45| 2: [Parameter] b # 45| 0: [TypeAccess] String # 45| 3: [Parameter] c # 45| 0: [TypeAccess] double # 45| 4: [Parameter] d # 45| 0: [TypeAccess] float # 45| 5: [Parameter] e # 45| 0: [TypeAccess] boolean # 45| 5: [BlockStmt] { ... } # 45| 0: [ReturnStmt] return ... # 45| 0: [VarAccess] a # 44| 4: [ExtensionMethod] testExtensionFunction # 44| 3: [TypeAccess] int #-----| 4: (Parameters) # 45| 0: [Parameter] # 45| 0: [TypeAccess] Test # 45| 1: [Parameter] a # 45| 0: [TypeAccess] int # 45| 2: [Parameter] c # 45| 0: [TypeAccess] double # 45| 3: [Parameter] e # 45| 0: [TypeAccess] boolean # 44| 5: [BlockStmt] { ... } # 44| 0: [ReturnStmt] return ... # 44| 0: [MethodCall] testExtensionFunction$default(...) # 44| -1: [TypeAccess] TestKt # 0| 0: [ExtensionReceiverAccess] this # 0| 1: [VarAccess] a # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 21 # 1| 7: [NullLiteral] null # 44| 5: [ExtensionMethod] testExtensionFunction$default # 44| 3: [TypeAccess] int #-----| 4: (Parameters) # 44| 0: [Parameter] p0 # 44| 0: [TypeAccess] Test # 44| 1: [Parameter] p1 # 44| 0: [TypeAccess] int # 44| 2: [Parameter] p2 # 44| 0: [TypeAccess] String # 44| 3: [Parameter] p3 # 44| 0: [TypeAccess] double # 44| 4: [Parameter] p4 # 44| 0: [TypeAccess] float # 44| 5: [Parameter] p5 # 44| 0: [TypeAccess] boolean # 44| 6: [Parameter] p6 # 44| 0: [TypeAccess] int # 44| 7: [Parameter] p7 # 44| 0: [TypeAccess] Object # 44| 5: [BlockStmt] { ... } # 44| 0: [IfStmt] if (...) # 44| 0: [EQExpr] ... == ... # 44| 0: [AndBitwiseExpr] ... & ... # 44| 0: [IntegerLiteral] 2 # 44| 1: [VarAccess] p6 # 44| 1: [IntegerLiteral] 0 # 44| 1: [ExprStmt] ; # 44| 0: [AssignExpr] ...=... # 44| 0: [VarAccess] p2 # 45| 1: [MethodCall] getString(...) # 45| -1: [TypeAccess] TestKt # 44| 1: [IfStmt] if (...) # 44| 0: [EQExpr] ... == ... # 44| 0: [AndBitwiseExpr] ... & ... # 44| 0: [IntegerLiteral] 8 # 44| 1: [VarAccess] p6 # 44| 1: [IntegerLiteral] 0 # 44| 1: [ExprStmt] ; # 44| 0: [AssignExpr] ...=... # 44| 0: [VarAccess] p4 # 45| 1: [FloatLiteral] 1.0 # 44| 2: [ReturnStmt] return ... # 44| 0: [MethodCall] testExtensionFunction(...) # 44| -1: [TypeAccess] TestKt # 44| 0: [ExtensionReceiverAccess] this # 44| 1: [VarAccess] p1 # 44| 2: [VarAccess] p2 # 44| 3: [VarAccess] p3 # 44| 4: [VarAccess] p4 # 44| 5: [VarAccess] p5 # 3| 2: [Class] Test # 3| 1: [Constructor] Test # 3| 5: [BlockStmt] { ... } # 3| 0: [SuperConstructorInvocationStmt] super(...) # 3| 1: [BlockStmt] { ... } # 5| 2: [Method] testStaticFunction # 5| 3: [TypeAccess] int #-----| 4: (Parameters) # 6| 0: [Parameter] a # 6| 0: [TypeAccess] int # 6| 1: [Parameter] b # 6| 0: [TypeAccess] String # 6| 2: [Parameter] c # 6| 0: [TypeAccess] double # 6| 3: [Parameter] e # 6| 0: [TypeAccess] boolean # 5| 5: [BlockStmt] { ... } # 5| 0: [ReturnStmt] return ... # 5| 0: [MethodCall] testStaticFunction$default(...) # 5| -1: [TypeAccess] Test # 0| 0: [VarAccess] a # 0| 1: [VarAccess] b # 0| 2: [VarAccess] c # 1| 3: [FloatLiteral] 0.0 # 0| 4: [VarAccess] e # 1| 5: [IntegerLiteral] 23 # 1| 6: [NullLiteral] null # 5| 3: [Method] testStaticFunction #-----| 1: (Annotations) # 5| 1: [Annotation] JvmOverloads # 5| 2: [Annotation] JvmStatic # 5| 3: [TypeAccess] int #-----| 4: (Parameters) # 6| 0: [Parameter] a # 6| 0: [TypeAccess] int # 6| 1: [Parameter] b # 6| 0: [TypeAccess] String # 6| 2: [Parameter] c # 6| 0: [TypeAccess] double # 6| 3: [Parameter] d # 6| 0: [TypeAccess] float # 6| 4: [Parameter] e # 6| 0: [TypeAccess] boolean # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [VarAccess] a # 5| 4: [Method] testStaticFunction # 5| 3: [TypeAccess] int #-----| 4: (Parameters) # 6| 0: [Parameter] a # 6| 0: [TypeAccess] int # 6| 1: [Parameter] c # 6| 0: [TypeAccess] double # 6| 2: [Parameter] e # 6| 0: [TypeAccess] boolean # 5| 5: [BlockStmt] { ... } # 5| 0: [ReturnStmt] return ... # 5| 0: [MethodCall] testStaticFunction$default(...) # 5| -1: [TypeAccess] Test # 0| 0: [VarAccess] a # 1| 1: [NullLiteral] null # 0| 2: [VarAccess] c # 1| 3: [FloatLiteral] 0.0 # 0| 4: [VarAccess] e # 1| 5: [IntegerLiteral] 21 # 1| 6: [NullLiteral] null # 5| 5: [Method] testStaticFunction$default # 5| 3: [TypeAccess] int #-----| 4: (Parameters) # 5| 0: [Parameter] p0 # 5| 0: [TypeAccess] int # 5| 1: [Parameter] p1 # 5| 0: [TypeAccess] String # 5| 2: [Parameter] p2 # 5| 0: [TypeAccess] double # 5| 3: [Parameter] p3 # 5| 0: [TypeAccess] float # 5| 4: [Parameter] p4 # 5| 0: [TypeAccess] boolean # 5| 5: [Parameter] p5 # 5| 0: [TypeAccess] int # 5| 6: [Parameter] p6 # 5| 0: [TypeAccess] Object # 5| 5: [BlockStmt] { ... } # 5| 0: [IfStmt] if (...) # 5| 0: [EQExpr] ... == ... # 5| 0: [AndBitwiseExpr] ... & ... # 5| 0: [IntegerLiteral] 2 # 5| 1: [VarAccess] p5 # 5| 1: [IntegerLiteral] 0 # 5| 1: [ExprStmt] ; # 5| 0: [AssignExpr] ...=... # 5| 0: [VarAccess] p1 # 6| 1: [MethodCall] getString(...) # 6| -1: [TypeAccess] TestKt # 5| 1: [IfStmt] if (...) # 5| 0: [EQExpr] ... == ... # 5| 0: [AndBitwiseExpr] ... & ... # 5| 0: [IntegerLiteral] 8 # 5| 1: [VarAccess] p5 # 5| 1: [IntegerLiteral] 0 # 5| 1: [ExprStmt] ; # 5| 0: [AssignExpr] ...=... # 5| 0: [VarAccess] p3 # 6| 1: [FloatLiteral] 1.0 # 5| 2: [ReturnStmt] return ... # 5| 0: [MethodCall] testStaticFunction(...) # 5| -1: [TypeAccess] Test # 5| 0: [VarAccess] p0 # 5| 1: [VarAccess] p1 # 5| 2: [VarAccess] p2 # 5| 3: [VarAccess] p3 # 5| 4: [VarAccess] p4 # 8| 6: [Method] testMemberFunction # 8| 3: [TypeAccess] int #-----| 4: (Parameters) # 9| 0: [Parameter] a # 9| 0: [TypeAccess] int # 9| 1: [Parameter] b # 9| 0: [TypeAccess] String # 9| 2: [Parameter] c # 9| 0: [TypeAccess] double # 9| 3: [Parameter] e # 9| 0: [TypeAccess] boolean # 8| 5: [BlockStmt] { ... } # 8| 0: [ReturnStmt] return ... # 8| 0: [MethodCall] testMemberFunction$default(...) # 8| -1: [TypeAccess] Test # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 23 # 1| 7: [NullLiteral] null # 8| 7: [Method] testMemberFunction #-----| 1: (Annotations) # 8| 1: [Annotation] JvmOverloads # 8| 3: [TypeAccess] int #-----| 4: (Parameters) # 9| 0: [Parameter] a # 9| 0: [TypeAccess] int # 9| 1: [Parameter] b # 9| 0: [TypeAccess] String # 9| 2: [Parameter] c # 9| 0: [TypeAccess] double # 9| 3: [Parameter] d # 9| 0: [TypeAccess] float # 9| 4: [Parameter] e # 9| 0: [TypeAccess] boolean # 9| 5: [BlockStmt] { ... } # 9| 0: [ReturnStmt] return ... # 9| 0: [VarAccess] a # 8| 8: [Method] testMemberFunction # 8| 3: [TypeAccess] int #-----| 4: (Parameters) # 9| 0: [Parameter] a # 9| 0: [TypeAccess] int # 9| 1: [Parameter] c # 9| 0: [TypeAccess] double # 9| 2: [Parameter] e # 9| 0: [TypeAccess] boolean # 8| 5: [BlockStmt] { ... } # 8| 0: [ReturnStmt] return ... # 8| 0: [MethodCall] testMemberFunction$default(...) # 8| -1: [TypeAccess] Test # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 21 # 1| 7: [NullLiteral] null # 8| 9: [Method] testMemberFunction$default # 8| 3: [TypeAccess] int #-----| 4: (Parameters) # 8| 0: [Parameter] p0 # 8| 0: [TypeAccess] Test # 8| 1: [Parameter] p1 # 8| 0: [TypeAccess] int # 8| 2: [Parameter] p2 # 8| 0: [TypeAccess] String # 8| 3: [Parameter] p3 # 8| 0: [TypeAccess] double # 8| 4: [Parameter] p4 # 8| 0: [TypeAccess] float # 8| 5: [Parameter] p5 # 8| 0: [TypeAccess] boolean # 8| 6: [Parameter] p6 # 8| 0: [TypeAccess] int # 8| 7: [Parameter] p7 # 8| 0: [TypeAccess] Object # 8| 5: [BlockStmt] { ... } # 8| 0: [IfStmt] if (...) # 8| 0: [EQExpr] ... == ... # 8| 0: [AndBitwiseExpr] ... & ... # 8| 0: [IntegerLiteral] 2 # 8| 1: [VarAccess] p6 # 8| 1: [IntegerLiteral] 0 # 8| 1: [ExprStmt] ; # 8| 0: [AssignExpr] ...=... # 8| 0: [VarAccess] p2 # 9| 1: [MethodCall] getString(...) # 9| -1: [TypeAccess] TestKt # 8| 1: [IfStmt] if (...) # 8| 0: [EQExpr] ... == ... # 8| 0: [AndBitwiseExpr] ... & ... # 8| 0: [IntegerLiteral] 8 # 8| 1: [VarAccess] p6 # 8| 1: [IntegerLiteral] 0 # 8| 1: [ExprStmt] ; # 8| 0: [AssignExpr] ...=... # 8| 0: [VarAccess] p4 # 9| 1: [FloatLiteral] 1.0 # 8| 2: [ReturnStmt] return ... # 8| 0: [MethodCall] testMemberFunction(...) # 8| -1: [VarAccess] p0 # 8| 0: [VarAccess] p1 # 8| 1: [VarAccess] p2 # 8| 2: [VarAccess] p3 # 8| 3: [VarAccess] p4 # 8| 4: [VarAccess] p5 # 11| 10: [ExtensionMethod] testMemberExtensionFunction # 11| 3: [TypeAccess] int #-----| 4: (Parameters) # 12| 0: [Parameter] # 12| 0: [TypeAccess] Test2 # 12| 1: [Parameter] a # 12| 0: [TypeAccess] int # 12| 2: [Parameter] b # 12| 0: [TypeAccess] String # 12| 3: [Parameter] c # 12| 0: [TypeAccess] double # 12| 4: [Parameter] e # 12| 0: [TypeAccess] boolean # 11| 5: [BlockStmt] { ... } # 11| 0: [ReturnStmt] return ... # 11| 0: [MethodCall] testMemberExtensionFunction$default(...) # 11| -1: [TypeAccess] Test # 0| 0: [ThisAccess] Test.this # 0| 0: [TypeAccess] Test # 0| 1: [ExtensionReceiverAccess] this # 0| 2: [VarAccess] a # 0| 3: [VarAccess] b # 0| 4: [VarAccess] c # 1| 5: [FloatLiteral] 0.0 # 0| 6: [VarAccess] e # 1| 7: [IntegerLiteral] 23 # 1| 8: [NullLiteral] null # 11| 11: [ExtensionMethod] testMemberExtensionFunction #-----| 1: (Annotations) # 11| 1: [Annotation] JvmOverloads # 11| 3: [TypeAccess] int #-----| 4: (Parameters) # 12| 0: [Parameter] # 12| 0: [TypeAccess] Test2 # 12| 1: [Parameter] a # 12| 0: [TypeAccess] int # 12| 2: [Parameter] b # 12| 0: [TypeAccess] String # 12| 3: [Parameter] c # 12| 0: [TypeAccess] double # 12| 4: [Parameter] d # 12| 0: [TypeAccess] float # 12| 5: [Parameter] e # 12| 0: [TypeAccess] boolean # 12| 5: [BlockStmt] { ... } # 12| 0: [ReturnStmt] return ... # 12| 0: [VarAccess] a # 11| 12: [ExtensionMethod] testMemberExtensionFunction # 11| 3: [TypeAccess] int #-----| 4: (Parameters) # 12| 0: [Parameter] # 12| 0: [TypeAccess] Test2 # 12| 1: [Parameter] a # 12| 0: [TypeAccess] int # 12| 2: [Parameter] c # 12| 0: [TypeAccess] double # 12| 3: [Parameter] e # 12| 0: [TypeAccess] boolean # 11| 5: [BlockStmt] { ... } # 11| 0: [ReturnStmt] return ... # 11| 0: [MethodCall] testMemberExtensionFunction$default(...) # 11| -1: [TypeAccess] Test # 0| 0: [ThisAccess] Test.this # 0| 0: [TypeAccess] Test # 0| 1: [ExtensionReceiverAccess] this # 0| 2: [VarAccess] a # 1| 3: [NullLiteral] null # 0| 4: [VarAccess] c # 1| 5: [FloatLiteral] 0.0 # 0| 6: [VarAccess] e # 1| 7: [IntegerLiteral] 21 # 1| 8: [NullLiteral] null # 11| 13: [ExtensionMethod] testMemberExtensionFunction$default # 11| 3: [TypeAccess] int #-----| 4: (Parameters) # 11| 0: [Parameter] p0 # 11| 0: [TypeAccess] Test # 11| 1: [Parameter] p1 # 11| 0: [TypeAccess] Test2 # 11| 2: [Parameter] p2 # 11| 0: [TypeAccess] int # 11| 3: [Parameter] p3 # 11| 0: [TypeAccess] String # 11| 4: [Parameter] p4 # 11| 0: [TypeAccess] double # 11| 5: [Parameter] p5 # 11| 0: [TypeAccess] float # 11| 6: [Parameter] p6 # 11| 0: [TypeAccess] boolean # 11| 7: [Parameter] p7 # 11| 0: [TypeAccess] int # 11| 8: [Parameter] p8 # 11| 0: [TypeAccess] Object # 11| 5: [BlockStmt] { ... } # 11| 0: [IfStmt] if (...) # 11| 0: [EQExpr] ... == ... # 11| 0: [AndBitwiseExpr] ... & ... # 11| 0: [IntegerLiteral] 2 # 11| 1: [VarAccess] p7 # 11| 1: [IntegerLiteral] 0 # 11| 1: [ExprStmt] ; # 11| 0: [AssignExpr] ...=... # 11| 0: [VarAccess] p3 # 12| 1: [MethodCall] getString(...) # 12| -1: [TypeAccess] TestKt # 11| 1: [IfStmt] if (...) # 11| 0: [EQExpr] ... == ... # 11| 0: [AndBitwiseExpr] ... & ... # 11| 0: [IntegerLiteral] 8 # 11| 1: [VarAccess] p7 # 11| 1: [IntegerLiteral] 0 # 11| 1: [ExprStmt] ; # 11| 0: [AssignExpr] ...=... # 11| 0: [VarAccess] p5 # 12| 1: [FloatLiteral] 1.0 # 11| 2: [ReturnStmt] return ... # 11| 0: [MethodCall] testMemberExtensionFunction(...) # 11| -1: [VarAccess] p0 # 11| 0: [ExtensionReceiverAccess] this # 11| 1: [VarAccess] p2 # 11| 2: [VarAccess] p3 # 11| 3: [VarAccess] p4 # 11| 4: [VarAccess] p5 # 11| 5: [VarAccess] p6 # 16| 3: [Class] Test2 # 16| 1: [Constructor] Test2 #-----| 4: (Parameters) # 16| 0: [Parameter] a # 16| 0: [TypeAccess] int # 16| 1: [Parameter] b # 16| 0: [TypeAccess] String # 16| 2: [Parameter] c # 16| 0: [TypeAccess] double # 16| 3: [Parameter] e # 16| 0: [TypeAccess] boolean # 16| 5: [BlockStmt] { ... } # 16| 0: [ThisConstructorInvocationStmt] this(...) # 0| 0: [VarAccess] a # 0| 1: [VarAccess] b # 0| 2: [VarAccess] c # 1| 3: [FloatLiteral] 0.0 # 0| 4: [VarAccess] e # 1| 5: [IntegerLiteral] 23 # 1| 6: [NullLiteral] null # 16| 2: [Constructor] Test2 #-----| 1: (Annotations) # 16| 1: [Annotation] JvmOverloads #-----| 4: (Parameters) # 16| 0: [Parameter] a # 16| 0: [TypeAccess] int # 16| 1: [Parameter] b # 16| 0: [TypeAccess] String # 16| 2: [Parameter] c # 16| 0: [TypeAccess] double # 16| 3: [Parameter] d # 16| 0: [TypeAccess] float # 16| 4: [Parameter] e # 16| 0: [TypeAccess] boolean # 16| 5: [BlockStmt] { ... } # 16| 0: [SuperConstructorInvocationStmt] super(...) # 16| 1: [BlockStmt] { ... } # 16| 3: [Constructor] Test2 #-----| 4: (Parameters) # 16| 0: [Parameter] p0 # 16| 0: [TypeAccess] int # 16| 1: [Parameter] p1 # 16| 0: [TypeAccess] String # 16| 2: [Parameter] p2 # 16| 0: [TypeAccess] double # 16| 3: [Parameter] p3 # 16| 0: [TypeAccess] float # 16| 4: [Parameter] p4 # 16| 0: [TypeAccess] boolean # 16| 5: [Parameter] p5 # 16| 0: [TypeAccess] int # 16| 6: [Parameter] p6 # 16| 0: [TypeAccess] DefaultConstructorMarker # 16| 5: [BlockStmt] { ... } # 16| 0: [IfStmt] if (...) # 16| 0: [EQExpr] ... == ... # 16| 0: [AndBitwiseExpr] ... & ... # 16| 0: [IntegerLiteral] 2 # 16| 1: [VarAccess] p5 # 16| 1: [IntegerLiteral] 0 # 16| 1: [ExprStmt] ; # 16| 0: [AssignExpr] ...=... # 16| 0: [VarAccess] p1 # 16| 1: [MethodCall] getString(...) # 16| -1: [TypeAccess] TestKt # 16| 1: [IfStmt] if (...) # 16| 0: [EQExpr] ... == ... # 16| 0: [AndBitwiseExpr] ... & ... # 16| 0: [IntegerLiteral] 8 # 16| 1: [VarAccess] p5 # 16| 1: [IntegerLiteral] 0 # 16| 1: [ExprStmt] ; # 16| 0: [AssignExpr] ...=... # 16| 0: [VarAccess] p3 # 16| 1: [FloatLiteral] 1.0 # 16| 2: [ThisConstructorInvocationStmt] this(...) # 16| 0: [VarAccess] p0 # 16| 1: [VarAccess] p1 # 16| 2: [VarAccess] p2 # 16| 3: [VarAccess] p3 # 16| 4: [VarAccess] p4 # 16| 4: [Constructor] Test2 #-----| 4: (Parameters) # 16| 0: [Parameter] a # 16| 0: [TypeAccess] int # 16| 1: [Parameter] c # 16| 0: [TypeAccess] double # 16| 2: [Parameter] e # 16| 0: [TypeAccess] boolean # 16| 5: [BlockStmt] { ... } # 16| 0: [ThisConstructorInvocationStmt] this(...) # 0| 0: [VarAccess] a # 1| 1: [NullLiteral] null # 0| 2: [VarAccess] c # 1| 3: [FloatLiteral] 0.0 # 0| 4: [VarAccess] e # 1| 5: [IntegerLiteral] 21 # 1| 6: [NullLiteral] null # 18| 5: [Class] Companion # 18| 1: [Constructor] Companion # 18| 5: [BlockStmt] { ... } # 18| 0: [SuperConstructorInvocationStmt] super(...) # 18| 1: [BlockStmt] { ... } # 20| 2: [Method] testCompanionFunction # 20| 3: [TypeAccess] int #-----| 4: (Parameters) # 21| 0: [Parameter] a # 21| 0: [TypeAccess] int # 21| 1: [Parameter] b # 21| 0: [TypeAccess] String # 21| 2: [Parameter] c # 21| 0: [TypeAccess] double # 21| 3: [Parameter] e # 21| 0: [TypeAccess] boolean # 20| 5: [BlockStmt] { ... } # 20| 0: [ReturnStmt] return ... # 20| 0: [MethodCall] testCompanionFunction$default(...) # 20| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 23 # 1| 7: [NullLiteral] null # 20| 3: [Method] testCompanionFunction #-----| 1: (Annotations) # 20| 1: [Annotation] JvmOverloads # 20| 3: [TypeAccess] int #-----| 4: (Parameters) # 21| 0: [Parameter] a # 21| 0: [TypeAccess] int # 21| 1: [Parameter] b # 21| 0: [TypeAccess] String # 21| 2: [Parameter] c # 21| 0: [TypeAccess] double # 21| 3: [Parameter] d # 21| 0: [TypeAccess] float # 21| 4: [Parameter] e # 21| 0: [TypeAccess] boolean # 21| 5: [BlockStmt] { ... } # 21| 0: [ReturnStmt] return ... # 21| 0: [VarAccess] a # 20| 4: [Method] testCompanionFunction # 20| 3: [TypeAccess] int #-----| 4: (Parameters) # 21| 0: [Parameter] a # 21| 0: [TypeAccess] int # 21| 1: [Parameter] c # 21| 0: [TypeAccess] double # 21| 2: [Parameter] e # 21| 0: [TypeAccess] boolean # 20| 5: [BlockStmt] { ... } # 20| 0: [ReturnStmt] return ... # 20| 0: [MethodCall] testCompanionFunction$default(...) # 20| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 21 # 1| 7: [NullLiteral] null # 20| 5: [Method] testCompanionFunction$default # 20| 3: [TypeAccess] int #-----| 4: (Parameters) # 20| 0: [Parameter] p0 # 20| 0: [TypeAccess] Companion # 20| 1: [Parameter] p1 # 20| 0: [TypeAccess] int # 20| 2: [Parameter] p2 # 20| 0: [TypeAccess] String # 20| 3: [Parameter] p3 # 20| 0: [TypeAccess] double # 20| 4: [Parameter] p4 # 20| 0: [TypeAccess] float # 20| 5: [Parameter] p5 # 20| 0: [TypeAccess] boolean # 20| 6: [Parameter] p6 # 20| 0: [TypeAccess] int # 20| 7: [Parameter] p7 # 20| 0: [TypeAccess] Object # 20| 5: [BlockStmt] { ... } # 20| 0: [IfStmt] if (...) # 20| 0: [EQExpr] ... == ... # 20| 0: [AndBitwiseExpr] ... & ... # 20| 0: [IntegerLiteral] 2 # 20| 1: [VarAccess] p6 # 20| 1: [IntegerLiteral] 0 # 20| 1: [ExprStmt] ; # 20| 0: [AssignExpr] ...=... # 20| 0: [VarAccess] p2 # 21| 1: [MethodCall] getString(...) # 21| -1: [TypeAccess] TestKt # 20| 1: [IfStmt] if (...) # 20| 0: [EQExpr] ... == ... # 20| 0: [AndBitwiseExpr] ... & ... # 20| 0: [IntegerLiteral] 8 # 20| 1: [VarAccess] p6 # 20| 1: [IntegerLiteral] 0 # 20| 1: [ExprStmt] ; # 20| 0: [AssignExpr] ...=... # 20| 0: [VarAccess] p4 # 21| 1: [FloatLiteral] 1.0 # 20| 2: [ReturnStmt] return ... # 20| 0: [MethodCall] testCompanionFunction(...) # 20| -1: [VarAccess] p0 # 20| 0: [VarAccess] p1 # 20| 1: [VarAccess] p2 # 20| 2: [VarAccess] p3 # 20| 3: [VarAccess] p4 # 20| 4: [VarAccess] p5 # 23| 6: [Method] testStaticCompanionFunction # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] b # 24| 0: [TypeAccess] String # 24| 2: [Parameter] c # 24| 0: [TypeAccess] double # 24| 3: [Parameter] e # 24| 0: [TypeAccess] boolean # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction$default(...) # 23| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 23 # 1| 7: [NullLiteral] null # 23| 7: [Method] testStaticCompanionFunction #-----| 1: (Annotations) # 23| 1: [Annotation] JvmOverloads # 23| 2: [Annotation] JvmStatic # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] b # 24| 0: [TypeAccess] String # 24| 2: [Parameter] c # 24| 0: [TypeAccess] double # 24| 3: [Parameter] d # 24| 0: [TypeAccess] float # 24| 4: [Parameter] e # 24| 0: [TypeAccess] boolean # 24| 5: [BlockStmt] { ... } # 24| 0: [ReturnStmt] return ... # 24| 0: [VarAccess] a # 23| 8: [Method] testStaticCompanionFunction # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] c # 24| 0: [TypeAccess] double # 24| 2: [Parameter] e # 24| 0: [TypeAccess] boolean # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction$default(...) # 23| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 21 # 1| 7: [NullLiteral] null # 23| 9: [Method] testStaticCompanionFunction$default # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 23| 0: [Parameter] p0 # 23| 0: [TypeAccess] Companion # 23| 1: [Parameter] p1 # 23| 0: [TypeAccess] int # 23| 2: [Parameter] p2 # 23| 0: [TypeAccess] String # 23| 3: [Parameter] p3 # 23| 0: [TypeAccess] double # 23| 4: [Parameter] p4 # 23| 0: [TypeAccess] float # 23| 5: [Parameter] p5 # 23| 0: [TypeAccess] boolean # 23| 6: [Parameter] p6 # 23| 0: [TypeAccess] int # 23| 7: [Parameter] p7 # 23| 0: [TypeAccess] Object # 23| 5: [BlockStmt] { ... } # 23| 0: [IfStmt] if (...) # 23| 0: [EQExpr] ... == ... # 23| 0: [AndBitwiseExpr] ... & ... # 23| 0: [IntegerLiteral] 2 # 23| 1: [VarAccess] p6 # 23| 1: [IntegerLiteral] 0 # 23| 1: [ExprStmt] ; # 23| 0: [AssignExpr] ...=... # 23| 0: [VarAccess] p2 # 24| 1: [MethodCall] getString(...) # 24| -1: [TypeAccess] TestKt # 23| 1: [IfStmt] if (...) # 23| 0: [EQExpr] ... == ... # 23| 0: [AndBitwiseExpr] ... & ... # 23| 0: [IntegerLiteral] 8 # 23| 1: [VarAccess] p6 # 23| 1: [IntegerLiteral] 0 # 23| 1: [ExprStmt] ; # 23| 0: [AssignExpr] ...=... # 23| 0: [VarAccess] p4 # 24| 1: [FloatLiteral] 1.0 # 23| 2: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction(...) # 23| -1: [VarAccess] p0 # 23| 0: [VarAccess] p1 # 23| 1: [VarAccess] p2 # 23| 2: [VarAccess] p3 # 23| 3: [VarAccess] p4 # 23| 4: [VarAccess] p5 # 23| 6: [Method] testStaticCompanionFunction # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] b # 24| 0: [TypeAccess] String # 24| 2: [Parameter] c # 24| 0: [TypeAccess] double # 24| 3: [Parameter] e # 24| 0: [TypeAccess] boolean # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction$default(...) # 23| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 23 # 1| 7: [NullLiteral] null # 23| 7: [Method] testStaticCompanionFunction # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] b # 24| 0: [TypeAccess] String # 24| 2: [Parameter] c # 24| 0: [TypeAccess] double # 24| 3: [Parameter] d # 24| 0: [TypeAccess] float # 24| 4: [Parameter] e # 24| 0: [TypeAccess] boolean # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction(...) # 23| -1: [VarAccess] Test2.Companion # 23| -1: [TypeAccess] Test2 # 23| 0: [VarAccess] a # 23| 1: [VarAccess] b # 23| 2: [VarAccess] c # 23| 3: [VarAccess] d # 23| 4: [VarAccess] e # 23| 8: [Method] testStaticCompanionFunction # 23| 3: [TypeAccess] int #-----| 4: (Parameters) # 24| 0: [Parameter] a # 24| 0: [TypeAccess] int # 24| 1: [Parameter] c # 24| 0: [TypeAccess] double # 24| 2: [Parameter] e # 24| 0: [TypeAccess] boolean # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodCall] testStaticCompanionFunction$default(...) # 23| -1: [TypeAccess] Companion # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] c # 1| 4: [FloatLiteral] 0.0 # 0| 5: [VarAccess] e # 1| 6: [IntegerLiteral] 21 # 1| 7: [NullLiteral] null # 30| 4: [Class,GenericType,ParameterizedType] GenericTest #-----| -2: (Generic Parameters) # 30| 0: [TypeVariable] T # 30| 1: [Constructor] GenericTest #-----| 4: (Parameters) # 30| 0: [Parameter] b # 30| 0: [TypeAccess] T # 30| 1: [Parameter] d # 30| 0: [TypeAccess] T # 30| 5: [BlockStmt] { ... } # 30| 0: [ThisConstructorInvocationStmt] this(...) # 1| 0: [IntegerLiteral] 0 # 0| 1: [VarAccess] b # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] d # 1| 4: [IntegerLiteral] 10 # 1| 5: [NullLiteral] null # 30| 2: [Constructor] GenericTest #-----| 4: (Parameters) # 30| 0: [Parameter] p0 # 30| 0: [TypeAccess] int # 30| 1: [Parameter] p1 # 30| 0: [TypeAccess] Object # 30| 2: [Parameter] p2 # 30| 0: [TypeAccess] String # 30| 3: [Parameter] p3 # 30| 0: [TypeAccess] Object # 30| 4: [Parameter] p4 # 30| 0: [TypeAccess] int # 30| 5: [Parameter] p5 # 30| 0: [TypeAccess] DefaultConstructorMarker # 30| 5: [BlockStmt] { ... } # 30| 0: [IfStmt] if (...) # 30| 0: [EQExpr] ... == ... # 30| 0: [AndBitwiseExpr] ... & ... # 30| 0: [IntegerLiteral] 1 # 30| 1: [VarAccess] p4 # 30| 1: [IntegerLiteral] 0 # 30| 1: [ExprStmt] ; # 30| 0: [AssignExpr] ...=... # 30| 0: [VarAccess] p0 # 30| 1: [IntegerLiteral] 1 # 30| 1: [IfStmt] if (...) # 30| 0: [EQExpr] ... == ... # 30| 0: [AndBitwiseExpr] ... & ... # 30| 0: [IntegerLiteral] 4 # 30| 1: [VarAccess] p4 # 30| 1: [IntegerLiteral] 0 # 30| 1: [ExprStmt] ; # 30| 0: [AssignExpr] ...=... # 30| 0: [VarAccess] p2 # 30| 1: [StringLiteral] "Hello world" # 30| 2: [ThisConstructorInvocationStmt] this(...) # 30| 0: [VarAccess] p0 # 30| 1: [VarAccess] p1 # 30| 2: [VarAccess] p2 # 30| 3: [VarAccess] p3 # 30| 3: [Constructor] GenericTest #-----| 1: (Annotations) # 30| 1: [Annotation] JvmOverloads #-----| 4: (Parameters) # 30| 0: [Parameter] a # 30| 0: [TypeAccess] int # 30| 1: [Parameter] b # 30| 0: [TypeAccess] T # 30| 2: [Parameter] c # 30| 0: [TypeAccess] String # 30| 3: [Parameter] d # 30| 0: [TypeAccess] T # 30| 5: [BlockStmt] { ... } # 30| 0: [SuperConstructorInvocationStmt] super(...) # 30| 1: [BlockStmt] { ... } # 30| 4: [Constructor] GenericTest #-----| 4: (Parameters) # 30| 0: [Parameter] a # 30| 0: [TypeAccess] int # 30| 1: [Parameter] b # 30| 0: [TypeAccess] T # 30| 2: [Parameter] d # 30| 0: [TypeAccess] T # 30| 5: [BlockStmt] { ... } # 30| 0: [ThisConstructorInvocationStmt] this(...) # 0| 0: [VarAccess] a # 0| 1: [VarAccess] b # 1| 2: [NullLiteral] null # 0| 3: [VarAccess] d # 1| 4: [IntegerLiteral] 11 # 1| 5: [NullLiteral] null # 32| 5: [Method] testMemberFunction # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 33| 0: [Parameter] b # 33| 0: [TypeAccess] T # 33| 1: [Parameter] d # 33| 0: [TypeAccess] T # 32| 5: [BlockStmt] { ... } # 32| 0: [ReturnStmt] return ... # 32| 0: [MethodCall] testMemberFunction$default(...) # 32| -1: [TypeAccess] GenericTest<> # 0| 0: [ThisAccess] this # 1| 1: [IntegerLiteral] 0 # 0| 2: [VarAccess] b # 1| 3: [NullLiteral] null # 0| 4: [VarAccess] d # 1| 5: [IntegerLiteral] 10 # 1| 6: [NullLiteral] null # 32| 6: [Method] testMemberFunction #-----| 1: (Annotations) # 32| 1: [Annotation] JvmOverloads # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 33| 0: [Parameter] a # 33| 0: [TypeAccess] int # 33| 1: [Parameter] b # 33| 0: [TypeAccess] T # 33| 2: [Parameter] c # 33| 0: [TypeAccess] String # 33| 3: [Parameter] d # 33| 0: [TypeAccess] T # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [VarAccess] a # 32| 7: [Method] testMemberFunction # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 33| 0: [Parameter] a # 33| 0: [TypeAccess] int # 33| 1: [Parameter] b # 33| 0: [TypeAccess] T # 33| 2: [Parameter] d # 33| 0: [TypeAccess] T # 32| 5: [BlockStmt] { ... } # 32| 0: [ReturnStmt] return ... # 32| 0: [MethodCall] testMemberFunction$default(...) # 32| -1: [TypeAccess] GenericTest<> # 0| 0: [ThisAccess] this # 0| 1: [VarAccess] a # 0| 2: [VarAccess] b # 1| 3: [NullLiteral] null # 0| 4: [VarAccess] d # 1| 5: [IntegerLiteral] 11 # 1| 6: [NullLiteral] null # 32| 8: [Method] testMemberFunction$default # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 32| 0: [Parameter] p0 # 32| 0: [TypeAccess] GenericTest<> # 32| 1: [Parameter] p1 # 32| 0: [TypeAccess] int # 32| 2: [Parameter] p2 # 32| 0: [TypeAccess] Object # 32| 3: [Parameter] p3 # 32| 0: [TypeAccess] String # 32| 4: [Parameter] p4 # 32| 0: [TypeAccess] Object # 32| 5: [Parameter] p5 # 32| 0: [TypeAccess] int # 32| 6: [Parameter] p6 # 32| 0: [TypeAccess] Object # 32| 5: [BlockStmt] { ... } # 32| 0: [IfStmt] if (...) # 32| 0: [EQExpr] ... == ... # 32| 0: [AndBitwiseExpr] ... & ... # 32| 0: [IntegerLiteral] 1 # 32| 1: [VarAccess] p5 # 32| 1: [IntegerLiteral] 0 # 32| 1: [ExprStmt] ; # 32| 0: [AssignExpr] ...=... # 32| 0: [VarAccess] p1 # 33| 1: [IntegerLiteral] 1 # 32| 1: [IfStmt] if (...) # 32| 0: [EQExpr] ... == ... # 32| 0: [AndBitwiseExpr] ... & ... # 32| 0: [IntegerLiteral] 4 # 32| 1: [VarAccess] p5 # 32| 1: [IntegerLiteral] 0 # 32| 1: [ExprStmt] ; # 32| 0: [AssignExpr] ...=... # 32| 0: [VarAccess] p3 # 33| 1: [StringLiteral] "Hello world" # 32| 2: [ReturnStmt] return ... # 32| 0: [MethodCall] testMemberFunction(...) # 32| -1: [VarAccess] p0 # 32| 0: [VarAccess] p1 # 32| 1: [VarAccess] p2 # 32| 2: [VarAccess] p3 # 32| 3: [VarAccess] p4 # 35| 9: [Method] useSpecialised # 35| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 35| 0: [Parameter] spec1 # 35| 0: [TypeAccess] GenericTest # 35| 0: [TypeAccess] Float # 35| 1: [Parameter] spec2 # 35| 0: [TypeAccess] GenericTest # 35| 0: [TypeAccess] Double # 35| 5: [BlockStmt] { ... } # 37| 0: [ExprStmt] ; # 37| 0: [ImplicitCoercionToUnitExpr] # 37| 0: [TypeAccess] Unit # 37| 1: [MethodCall] testMemberFunction(...) # 37| -1: [VarAccess] spec1 # 37| 0: [IntegerLiteral] 1 # 37| 1: [FloatLiteral] 1.0 # 37| 2: [StringLiteral] "Hello world" # 37| 3: [FloatLiteral] 2.0 # 38| 1: [ExprStmt] ; # 38| 0: [ImplicitCoercionToUnitExpr] # 38| 0: [TypeAccess] Unit # 38| 1: [MethodCall] testMemberFunction(...) # 38| -1: [VarAccess] spec2 # 38| 0: [IntegerLiteral] 1 # 38| 1: [DoubleLiteral] 1.0 # 38| 2: [StringLiteral] "Hello world" # 38| 3: [DoubleLiteral] 2.0