LazyJavaClassDescriptor@0['J'] { defaultType = JetTypeImpl@1['J'] enumEntryIndex = LinkedHashMap@2 // through LazyJavaClassMemberScope@3 functionTypeForSamInterface = null functions('Foo': Name@4) = EmptyList@5[empty] // through LazyJavaClassMemberScope@3 functions('Foo': Name@4) = EmptyList@5[empty] // through LazyJavaStaticClassScope@6 memberIndex = computeMemberIndex$1@7 // through LazyJavaClassMemberScope@3 memberIndex = computeMemberIndex$1@8 // through LazyJavaStaticClassScope@6 nestedClassIndex = LinkedHashMap@9 // through LazyJavaClassMemberScope@3 nestedClasses('Foo': Name@4) = null // through LazyJavaClassMemberScope@3 nestedClasses('Sub': Name@10) = LazyJavaClassDescriptor@11['Sub'] // through LazyJavaClassMemberScope@3 nestedClasses('Super': Name@12) = LazyJavaClassDescriptor@13['Super'] // through LazyJavaClassMemberScope@3 properties('Foo': Name@4) = EmptyList@5[empty] // through LazyJavaClassMemberScope@3 properties('Foo': Name@4) = EmptyList@5[empty] // through LazyJavaStaticClassScope@6 typeConstructor = LazyJavaClassTypeConstructor@14['J'] } LazyJavaClassDescriptor@11['Sub'] { allDescriptors = ArrayList@15[3] { DeserializedSimpleFunctionDescriptor@16['hashCode'], DeserializedSimpleFunctionDescriptor@17['toString'], DeserializedSimpleFunctionDescriptor@18['equals'] } // through LazyJavaClassMemberScope@19 constructors = stdlib_emptyListClass@20[empty] // through LazyJavaClassMemberScope@19 defaultType = JetTypeImpl@21['Sub<1>'] enumEntryIndex = LinkedHashMap@22 // through LazyJavaClassMemberScope@19 functions('clone': Name@23) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 functions('equals': Name@24) = ArrayList@25[1] { DeserializedSimpleFunctionDescriptor@18['equals'] } // through LazyJavaClassMemberScope@19 functions('finalize': Name@26) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 functions('getClass': Name@27) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 functions('hashCode': Name@28) = ArrayList@29[1] { DeserializedSimpleFunctionDescriptor@16['hashCode'] } // through LazyJavaClassMemberScope@19 functions('notify': Name@30) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 functions('notifyAll': Name@31) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 functions('toString': Name@32) = ArrayList@33[1] { DeserializedSimpleFunctionDescriptor@17['toString'] } // through LazyJavaClassMemberScope@19 functions('wait': Name@34) = EmptyList@5[empty] // through LazyJavaClassMemberScope@19 memberIndex = computeMemberIndex$1@35 // through LazyJavaClassMemberScope@19 nestedClassIndex = LinkedHashMap@36 // through LazyJavaClassMemberScope@19 typeConstructor = LazyJavaClassTypeConstructor@37['Sub'] } LazyJavaClassDescriptor@13['Super'] { defaultType = JetTypeImpl@38['Super<1>'] functions('clone': Name@23) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 functions('equals': Name@24) = ArrayList@40[1] { DeserializedSimpleFunctionDescriptor@41['equals'] } // through LazyJavaClassMemberScope@39 functions('finalize': Name@26) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 functions('getClass': Name@27) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 functions('hashCode': Name@28) = ArrayList@42[1] { DeserializedSimpleFunctionDescriptor@43['hashCode'] } // through LazyJavaClassMemberScope@39 functions('notify': Name@30) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 functions('notifyAll': Name@31) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 functions('toString': Name@32) = ArrayList@44[1] { DeserializedSimpleFunctionDescriptor@45['toString'] } // through LazyJavaClassMemberScope@39 functions('wait': Name@34) = EmptyList@5[empty] // through LazyJavaClassMemberScope@39 memberIndex = computeMemberIndex$1@46 // through LazyJavaClassMemberScope@39 typeConstructor = LazyJavaClassTypeConstructor@47['Super'] } LazyJavaClassTypeConstructor@14['J'] { parameters = ArrayList@48[empty] supertypes = ArrayList@49[1] { JetTypeImpl@50['Any'] } } LazyJavaClassTypeConstructor@37['Sub'] { parameters = ArrayList@51[1] { LazyJavaTypeParameterDescriptor@52['T'] } supertypes = ArrayList@53[1] { LazyJavaClassifierType@54['Super'] } } LazyJavaClassTypeConstructor@47['Super'] { parameters = ArrayList@55[1] { LazyJavaTypeParameterDescriptor@56['T'] } supertypes = ArrayList@57[1] { JetTypeImpl@50['Any'] } } LazyJavaClassifierType@58['Object'] { classifier = JavaClassImpl@59['Object'] typeConstructor = DeserializedClassTypeConstructor@60 } LazyJavaClassifierType@61['Object'] { classifier = JavaClassImpl@62['Object'] typeConstructor = DeserializedClassTypeConstructor@60 } LazyJavaClassifierType@54['Super'] { arguments = ArrayList@63[1] { TypeProjectionImpl@64 } classifier = JavaClassImpl@65['Super'] memberScope = SubstitutingScope@66 nullable = 'false': Boolean@67 typeConstructor = LazyJavaClassTypeConstructor@47['Super'] } LazyJavaClassifierType@68['T'] { arguments = ArrayList@69[empty] classifier = JavaTypeParameterImpl@70['T'] nullable = 'false': Boolean@67 typeConstructor = AbstractLazyTypeParameterDescriptor$1@71 } LazyJavaClassifierType@72['T'] { arguments = ArrayList@73[empty] classifier = JavaTypeParameterImpl@70['T'] nullable = 'true': Boolean@74 typeConstructor = AbstractLazyTypeParameterDescriptor$1@71 } LazyJavaPackageFragmentProvider@75 { packageFragments('': FqName@76) = LazyJavaPackageFragment@77[''] packageFragments('Foo': FqName@78) = null packageFragments('Sub': FqName@79) = null packageFragments('Super': FqName@80) = null packageFragments('T': FqName@81) = null packageFragments('java': FqName@82) = LazyJavaPackageFragment@83['java'] packageFragments('java.lang': FqName@84) = LazyJavaPackageFragment@85['lang'] packageFragments('java.lang.Sub': FqName@86) = null packageFragments('java.lang.Super': FqName@87) = null packageFragments('java.lang.T': FqName@88) = null packageFragments('kotlin': FqName@89) = null packageFragments('kotlin.Sub': FqName@90) = null packageFragments('kotlin.Super': FqName@91) = null packageFragments('kotlin.T': FqName@92) = null packageFragments('kotlin.io': FqName@93) = null packageFragments('kotlin.jvm': FqName@94) = null packageFragments('p': FqName@95) = LazyJavaPackageFragment@96['p'] packageFragments('p.J': FqName@97) = null topLevelClasses(JavaClassImpl@98['J']) = LazyJavaClassDescriptor@0['J'] } LazyJavaPackageFragment@77[''] { classes('Foo': Name@4) = null // through LazyPackageFragmentScopeForJavaPackage@99 classes('Sub': Name@10) = null // through LazyPackageFragmentScopeForJavaPackage@99 classes('Super': Name@100) = null // through LazyPackageFragmentScopeForJavaPackage@99 classes('p': Name@101) = null // through LazyPackageFragmentScopeForJavaPackage@99 deserializedPackageScope = Empty@102 // through LazyPackageFragmentScopeForJavaPackage@99 functions('Foo': Name@4) = EmptyList@5[empty] // through LazyPackageFragmentScopeForJavaPackage@99 functions('p': Name@103) = EmptyList@5[empty] // through LazyPackageFragmentScopeForJavaPackage@99 memberIndex = computeMemberIndex$1@104 // through LazyPackageFragmentScopeForJavaPackage@99 } LazyJavaPackageFragment@83['java'] { classes('lang': Name@105) = null // through LazyPackageFragmentScopeForJavaPackage@106 deserializedPackageScope = Empty@102 // through LazyPackageFragmentScopeForJavaPackage@106 functions('lang': Name@107) = EmptyList@5[empty] // through LazyPackageFragmentScopeForJavaPackage@106 memberIndex = computeMemberIndex$1@108 // through LazyPackageFragmentScopeForJavaPackage@106 } LazyJavaPackageFragment@85['lang'] { classes('Foo': Name@4) = null // through LazyPackageFragmentScopeForJavaPackage@109 deserializedPackageScope = Empty@102 // through LazyPackageFragmentScopeForJavaPackage@109 functions('Foo': Name@4) = EmptyList@5[empty] // through LazyPackageFragmentScopeForJavaPackage@109 memberIndex = computeMemberIndex$1@110 // through LazyPackageFragmentScopeForJavaPackage@109 } LazyJavaPackageFragment@96['p'] { classes('J': Name@111) = LazyJavaClassDescriptor@0['J'] // through LazyPackageFragmentScopeForJavaPackage@112 deserializedPackageScope = Empty@102 // through LazyPackageFragmentScopeForJavaPackage@112 functions('J': Name@113) = EmptyList@5[empty] // through LazyPackageFragmentScopeForJavaPackage@112 memberIndex = computeMemberIndex$1@114 // through LazyPackageFragmentScopeForJavaPackage@112 } LazyJavaTypeParameterDescriptor@56['T'] { defaultType = JetTypeImpl@115['T'] typeConstructor = AbstractLazyTypeParameterDescriptor$1@116 upperBounds = LinkedHashSet@117[1] { NullableType@118 } } LazyJavaTypeParameterDescriptor@52['T'] { defaultType = JetTypeImpl@119['T'] typeConstructor = AbstractLazyTypeParameterDescriptor$1@71 upperBounds = LinkedHashSet@120[1] { NullableType@121 } } LazyJavaTypeParameterResolver@122 { resolve(JavaTypeParameterImpl@123['T']) = LazyJavaTypeParameterDescriptor@52['T'] } LazyJavaTypeParameterResolver@124 { resolve(JavaTypeParameterImpl@125['T']) = LazyJavaTypeParameterDescriptor@56['T'] }