JavaUser.java: # 0| [CompilationUnit] JavaUser # 1| 1: [Class] JavaUser # 3| 2: [Method] test # 3| 3: [TypeAccess] void # 3| 5: [BlockStmt] { ... } # 5| 0: [ExprStmt] ; # 5| 0: [MethodCall] staticMethod(...) # 5| -1: [TypeAccess] HasCompanion # 5| 0: [StringLiteral] "1" # 6| 1: [ExprStmt] ; # 6| 0: [MethodCall] nonStaticMethod(...) # 6| -1: [VarAccess] HasCompanion.Companion # 6| -1: [TypeAccess] HasCompanion # 6| 0: [StringLiteral] "2" # 7| 2: [ExprStmt] ; # 7| 0: [MethodCall] setStaticProp(...) # 7| -1: [TypeAccess] HasCompanion # 7| 0: [MethodCall] getNonStaticProp(...) # 7| -1: [VarAccess] HasCompanion.Companion # 7| -1: [TypeAccess] HasCompanion # 8| 3: [ExprStmt] ; # 8| 0: [MethodCall] setNonStaticProp(...) # 8| -1: [VarAccess] HasCompanion.Companion # 8| -1: [TypeAccess] HasCompanion # 8| 0: [MethodCall] getStaticProp(...) # 8| -1: [TypeAccess] HasCompanion # 9| 4: [ExprStmt] ; # 9| 0: [MethodCall] setPropWithStaticGetter(...) # 9| -1: [VarAccess] HasCompanion.Companion # 9| -1: [TypeAccess] HasCompanion # 9| 0: [MethodCall] getPropWithStaticSetter(...) # 9| -1: [VarAccess] HasCompanion.Companion # 9| -1: [TypeAccess] HasCompanion # 10| 5: [ExprStmt] ; # 10| 0: [MethodCall] setPropWithStaticSetter(...) # 10| -1: [TypeAccess] HasCompanion # 10| 0: [MethodCall] getPropWithStaticGetter(...) # 10| -1: [TypeAccess] HasCompanion # 13| 6: [ExprStmt] ; # 13| 0: [MethodCall] staticMethod(...) # 13| -1: [TypeAccess] NonCompanion # 13| 0: [StringLiteral] "1" # 14| 7: [ExprStmt] ; # 14| 0: [MethodCall] nonStaticMethod(...) # 14| -1: [VarAccess] NonCompanion.INSTANCE # 14| -1: [TypeAccess] NonCompanion # 14| 0: [StringLiteral] "2" # 15| 8: [ExprStmt] ; # 15| 0: [MethodCall] setStaticProp(...) # 15| -1: [TypeAccess] NonCompanion # 15| 0: [MethodCall] getNonStaticProp(...) # 15| -1: [VarAccess] NonCompanion.INSTANCE # 15| -1: [TypeAccess] NonCompanion # 16| 9: [ExprStmt] ; # 16| 0: [MethodCall] setNonStaticProp(...) # 16| -1: [VarAccess] NonCompanion.INSTANCE # 16| -1: [TypeAccess] NonCompanion # 16| 0: [MethodCall] getStaticProp(...) # 16| -1: [TypeAccess] NonCompanion # 17| 10: [ExprStmt] ; # 17| 0: [MethodCall] setPropWithStaticGetter(...) # 17| -1: [VarAccess] NonCompanion.INSTANCE # 17| -1: [TypeAccess] NonCompanion # 17| 0: [MethodCall] getPropWithStaticSetter(...) # 17| -1: [VarAccess] NonCompanion.INSTANCE # 17| -1: [TypeAccess] NonCompanion # 18| 11: [ExprStmt] ; # 18| 0: [MethodCall] setPropWithStaticSetter(...) # 18| -1: [TypeAccess] NonCompanion # 18| 0: [MethodCall] getPropWithStaticGetter(...) # 18| -1: [TypeAccess] NonCompanion test.kt: # 0| [CompilationUnit] test # 0| 1: [Class] TestKt # 49| 1: [Method] externalUser # 49| 3: [TypeAccess] Unit # 49| 5: [BlockStmt] { ... } # 52| 0: [ExprStmt] ; # 52| 0: [ImplicitCoercionToUnitExpr] # 52| 0: [TypeAccess] Unit # 52| 1: [MethodCall] staticMethod(...) # 52| -1: [VarAccess] Companion # 52| 0: [StringLiteral] "1" # 53| 1: [ExprStmt] ; # 53| 0: [ImplicitCoercionToUnitExpr] # 53| 0: [TypeAccess] Unit # 53| 1: [MethodCall] nonStaticMethod(...) # 53| -1: [VarAccess] Companion # 53| 0: [StringLiteral] "2" # 54| 2: [ExprStmt] ; # 54| 0: [MethodCall] setStaticProp(...) # 54| -1: [VarAccess] Companion # 54| 0: [MethodCall] getNonStaticProp(...) # 54| -1: [VarAccess] Companion # 55| 3: [ExprStmt] ; # 55| 0: [MethodCall] setNonStaticProp(...) # 55| -1: [VarAccess] Companion # 55| 0: [MethodCall] getStaticProp(...) # 55| -1: [VarAccess] Companion # 56| 4: [ExprStmt] ; # 56| 0: [MethodCall] setPropWithStaticGetter(...) # 56| -1: [VarAccess] Companion # 56| 0: [MethodCall] getPropWithStaticSetter(...) # 56| -1: [VarAccess] Companion # 57| 5: [ExprStmt] ; # 57| 0: [MethodCall] setPropWithStaticSetter(...) # 57| -1: [VarAccess] Companion # 57| 0: [MethodCall] getPropWithStaticGetter(...) # 57| -1: [VarAccess] Companion # 60| 6: [ExprStmt] ; # 60| 0: [ImplicitCoercionToUnitExpr] # 60| 0: [TypeAccess] Unit # 60| 1: [MethodCall] staticMethod(...) # 60| -1: [TypeAccess] NonCompanion # 60| 0: [StringLiteral] "1" # 61| 7: [ExprStmt] ; # 61| 0: [ImplicitCoercionToUnitExpr] # 61| 0: [TypeAccess] Unit # 61| 1: [MethodCall] nonStaticMethod(...) # 61| -1: [VarAccess] INSTANCE # 61| 0: [StringLiteral] "2" # 62| 8: [ExprStmt] ; # 62| 0: [MethodCall] setStaticProp(...) # 62| -1: [TypeAccess] NonCompanion # 62| 0: [MethodCall] getNonStaticProp(...) # 62| -1: [VarAccess] INSTANCE # 63| 9: [ExprStmt] ; # 63| 0: [MethodCall] setNonStaticProp(...) # 63| -1: [VarAccess] INSTANCE # 63| 0: [MethodCall] getStaticProp(...) # 63| -1: [TypeAccess] NonCompanion # 64| 10: [ExprStmt] ; # 64| 0: [MethodCall] setPropWithStaticGetter(...) # 64| -1: [VarAccess] INSTANCE # 64| 0: [MethodCall] getPropWithStaticSetter(...) # 64| -1: [VarAccess] INSTANCE # 65| 11: [ExprStmt] ; # 65| 0: [MethodCall] setPropWithStaticSetter(...) # 65| -1: [TypeAccess] NonCompanion # 65| 0: [MethodCall] getPropWithStaticGetter(...) # 65| -1: [TypeAccess] NonCompanion # 9| 2: [Class] HasCompanion # 9| 1: [Constructor] HasCompanion # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) # 9| 1: [BlockStmt] { ... } # 11| 2: [Class] Companion # 11| 1: [Constructor] Companion # 11| 5: [BlockStmt] { ... } # 11| 0: [SuperConstructorInvocationStmt] super(...) # 11| 1: [BlockStmt] { ... } # 16| 0: [ExprStmt] ; # 16| 0: [KtInitializerAssignExpr] ...=... # 16| 0: [VarAccess] staticProp # 17| 1: [ExprStmt] ; # 17| 0: [KtInitializerAssignExpr] ...=... # 17| 0: [VarAccess] nonStaticProp # 13| 2: [Method] staticMethod #-----| 1: (Annotations) # 13| 1: [Annotation] JvmStatic # 13| 3: [TypeAccess] String #-----| 4: (Parameters) # 13| 0: [Parameter] s # 13| 0: [TypeAccess] String # 13| 5: [BlockStmt] { ... } # 13| 0: [ReturnStmt] return ... # 13| 0: [MethodCall] nonStaticMethod(...) # 13| -1: [ThisAccess] this # 13| 0: [VarAccess] s # 14| 3: [Method] nonStaticMethod # 14| 3: [TypeAccess] String #-----| 4: (Parameters) # 14| 0: [Parameter] s # 14| 0: [TypeAccess] String # 14| 5: [BlockStmt] { ... } # 14| 0: [ReturnStmt] return ... # 14| 0: [MethodCall] staticMethod(...) # 14| -1: [ThisAccess] this # 14| 0: [VarAccess] s # 16| 4: [FieldDeclaration] String staticProp; # 16| -1: [TypeAccess] String # 16| 0: [StringLiteral] "a" # 16| 5: [Method] getStaticProp # 16| 3: [TypeAccess] String # 16| 5: [BlockStmt] { ... } # 16| 0: [ReturnStmt] return ... # 16| 0: [VarAccess] this.staticProp # 16| -1: [ThisAccess] this # 16| 6: [Method] setStaticProp # 16| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 16| 0: [Parameter] # 16| 0: [TypeAccess] String # 16| 5: [BlockStmt] { ... } # 16| 0: [ExprStmt] ; # 16| 0: [AssignExpr] ...=... # 16| 0: [VarAccess] this.staticProp # 16| -1: [ThisAccess] this # 16| 1: [VarAccess] # 17| 7: [FieldDeclaration] String nonStaticProp; # 17| -1: [TypeAccess] String # 17| 0: [StringLiteral] "b" # 17| 8: [Method] getNonStaticProp # 17| 3: [TypeAccess] String # 17| 5: [BlockStmt] { ... } # 17| 0: [ReturnStmt] return ... # 17| 0: [VarAccess] this.nonStaticProp # 17| -1: [ThisAccess] this # 17| 9: [Method] setNonStaticProp # 17| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 17| 0: [Parameter] # 17| 0: [TypeAccess] String # 17| 5: [BlockStmt] { ... } # 17| 0: [ExprStmt] ; # 17| 0: [AssignExpr] ...=... # 17| 0: [VarAccess] this.nonStaticProp # 17| -1: [ThisAccess] this # 17| 1: [VarAccess] # 20| 10: [Method] getPropWithStaticGetter #-----| 1: (Annotations) # 20| 1: [Annotation] JvmStatic # 20| 3: [TypeAccess] String # 20| 5: [BlockStmt] { ... } # 20| 0: [ReturnStmt] return ... # 20| 0: [MethodCall] getPropWithStaticSetter(...) # 20| -1: [ThisAccess] this # 21| 11: [Method] setPropWithStaticGetter # 21| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 21| 0: [Parameter] s # 21| 0: [TypeAccess] String # 21| 5: [BlockStmt] { ... } # 21| 0: [ExprStmt] ; # 21| 0: [MethodCall] setPropWithStaticSetter(...) # 21| -1: [ThisAccess] this # 21| 0: [VarAccess] s # 24| 12: [Method] getPropWithStaticSetter # 24| 3: [TypeAccess] String # 24| 5: [BlockStmt] { ... } # 24| 0: [ReturnStmt] return ... # 24| 0: [MethodCall] getPropWithStaticGetter(...) # 24| -1: [ThisAccess] this # 25| 13: [Method] setPropWithStaticSetter #-----| 1: (Annotations) # 25| 1: [Annotation] JvmStatic # 25| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 25| 0: [Parameter] s # 25| 0: [TypeAccess] String # 25| 5: [BlockStmt] { ... } # 25| 0: [ExprStmt] ; # 25| 0: [MethodCall] setPropWithStaticGetter(...) # 25| -1: [ThisAccess] this # 25| 0: [VarAccess] s # 13| 3: [Method] staticMethod # 13| 3: [TypeAccess] String #-----| 4: (Parameters) # 13| 0: [Parameter] s # 13| 0: [TypeAccess] String # 13| 5: [BlockStmt] { ... } # 13| 0: [ReturnStmt] return ... # 13| 0: [MethodCall] staticMethod(...) # 13| -1: [VarAccess] HasCompanion.Companion # 13| -1: [TypeAccess] HasCompanion # 13| 0: [VarAccess] s # 16| 4: [Method] getStaticProp # 16| 3: [TypeAccess] String # 16| 5: [BlockStmt] { ... } # 16| 0: [ReturnStmt] return ... # 16| 0: [MethodCall] getStaticProp(...) # 16| -1: [VarAccess] HasCompanion.Companion # 16| -1: [TypeAccess] HasCompanion # 16| 5: [Method] setStaticProp # 16| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 16| 0: [Parameter] # 16| 0: [TypeAccess] String # 16| 5: [BlockStmt] { ... } # 16| 0: [ReturnStmt] return ... # 16| 0: [MethodCall] setStaticProp(...) # 16| -1: [VarAccess] HasCompanion.Companion # 16| -1: [TypeAccess] HasCompanion # 16| 0: [VarAccess] # 20| 6: [Method] getPropWithStaticGetter # 20| 3: [TypeAccess] String # 20| 5: [BlockStmt] { ... } # 20| 0: [ReturnStmt] return ... # 20| 0: [MethodCall] getPropWithStaticGetter(...) # 20| -1: [VarAccess] HasCompanion.Companion # 20| -1: [TypeAccess] HasCompanion # 25| 7: [Method] setPropWithStaticSetter # 25| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 25| 0: [Parameter] s # 25| 0: [TypeAccess] String # 25| 5: [BlockStmt] { ... } # 25| 0: [ReturnStmt] return ... # 25| 0: [MethodCall] setPropWithStaticSetter(...) # 25| -1: [VarAccess] HasCompanion.Companion # 25| -1: [TypeAccess] HasCompanion # 25| 0: [VarAccess] s # 31| 3: [Class] NonCompanion # 31| 1: [Constructor] NonCompanion # 31| 5: [BlockStmt] { ... } # 31| 0: [SuperConstructorInvocationStmt] super(...) # 31| 1: [BlockStmt] { ... } # 36| 0: [ExprStmt] ; # 36| 0: [KtInitializerAssignExpr] ...=... # 36| 0: [VarAccess] staticProp # 37| 1: [ExprStmt] ; # 37| 0: [KtInitializerAssignExpr] ...=... # 37| 0: [VarAccess] nonStaticProp # 33| 2: [Method] staticMethod #-----| 1: (Annotations) # 33| 1: [Annotation] JvmStatic # 33| 3: [TypeAccess] String #-----| 4: (Parameters) # 33| 0: [Parameter] s # 33| 0: [TypeAccess] String # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodCall] nonStaticMethod(...) # 33| -1: [VarAccess] NonCompanion.INSTANCE # 33| -1: [TypeAccess] NonCompanion # 33| 0: [VarAccess] s # 34| 3: [Method] nonStaticMethod # 34| 3: [TypeAccess] String #-----| 4: (Parameters) # 34| 0: [Parameter] s # 34| 0: [TypeAccess] String # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodCall] staticMethod(...) # 34| -1: [TypeAccess] NonCompanion # 34| 0: [VarAccess] s # 36| 4: [FieldDeclaration] String staticProp; # 36| -1: [TypeAccess] String # 36| 0: [StringLiteral] "a" # 36| 5: [Method] getStaticProp # 36| 3: [TypeAccess] String # 36| 5: [BlockStmt] { ... } # 36| 0: [ReturnStmt] return ... # 36| 0: [VarAccess] NonCompanion.INSTANCE.staticProp # 36| -1: [VarAccess] NonCompanion.INSTANCE # 36| -1: [TypeAccess] NonCompanion # 36| 6: [Method] setStaticProp # 36| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 36| 0: [Parameter] # 36| 0: [TypeAccess] String # 36| 5: [BlockStmt] { ... } # 36| 0: [ExprStmt] ; # 36| 0: [AssignExpr] ...=... # 36| 0: [VarAccess] NonCompanion.INSTANCE.staticProp # 36| -1: [VarAccess] NonCompanion.INSTANCE # 36| -1: [TypeAccess] NonCompanion # 36| 1: [VarAccess] # 37| 7: [FieldDeclaration] String nonStaticProp; # 37| -1: [TypeAccess] String # 37| 0: [StringLiteral] "b" # 37| 8: [Method] getNonStaticProp # 37| 3: [TypeAccess] String # 37| 5: [BlockStmt] { ... } # 37| 0: [ReturnStmt] return ... # 37| 0: [VarAccess] this.nonStaticProp # 37| -1: [ThisAccess] this # 37| 9: [Method] setNonStaticProp # 37| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 37| 0: [Parameter] # 37| 0: [TypeAccess] String # 37| 5: [BlockStmt] { ... } # 37| 0: [ExprStmt] ; # 37| 0: [AssignExpr] ...=... # 37| 0: [VarAccess] this.nonStaticProp # 37| -1: [ThisAccess] this # 37| 1: [VarAccess] # 40| 10: [Method] getPropWithStaticGetter #-----| 1: (Annotations) # 40| 1: [Annotation] JvmStatic # 40| 3: [TypeAccess] String # 40| 5: [BlockStmt] { ... } # 40| 0: [ReturnStmt] return ... # 40| 0: [MethodCall] getPropWithStaticSetter(...) # 40| -1: [VarAccess] NonCompanion.INSTANCE # 40| -1: [TypeAccess] NonCompanion # 41| 11: [Method] setPropWithStaticGetter # 41| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 41| 0: [Parameter] s # 41| 0: [TypeAccess] String # 41| 5: [BlockStmt] { ... } # 41| 0: [ExprStmt] ; # 41| 0: [MethodCall] setPropWithStaticSetter(...) # 41| -1: [TypeAccess] NonCompanion # 41| 0: [VarAccess] s # 44| 12: [Method] getPropWithStaticSetter # 44| 3: [TypeAccess] String # 44| 5: [BlockStmt] { ... } # 44| 0: [ReturnStmt] return ... # 44| 0: [MethodCall] getPropWithStaticGetter(...) # 44| -1: [TypeAccess] NonCompanion # 45| 13: [Method] setPropWithStaticSetter #-----| 1: (Annotations) # 45| 1: [Annotation] JvmStatic # 45| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 45| 0: [Parameter] s # 45| 0: [TypeAccess] String # 45| 5: [BlockStmt] { ... } # 45| 0: [ExprStmt] ; # 45| 0: [MethodCall] setPropWithStaticGetter(...) # 45| -1: [VarAccess] NonCompanion.INSTANCE # 45| -1: [TypeAccess] NonCompanion # 45| 0: [VarAccess] s