Frontend changes for reified type parameters

Allowing reified only for inline functions and Intrinsics
This commit is contained in:
Denis Zharkov
2014-10-20 14:19:42 +04:00
committed by Andrey Breslav
parent 79c6f2b91b
commit b3691b7358
28 changed files with 822 additions and 414 deletions
@@ -1,325 +1,332 @@
ClassDeserializer@0 {
classes(ClassKey@1) = DeserializedClassDescriptor@2['Intrinsic']
classes(ClassKey@3) = DeserializedClassDescriptor@4['inline']
}
DescriptorLoadersStorage@3 {
storage(VirtualFileKotlinClass@4) = Storage@5
DescriptorLoadersStorage@5 {
storage(VirtualFileKotlinClass@6) = Storage@7
}
DescriptorResolver@6 {
<name not found> = IntValue@7
<name not found> = IntValue@8
DescriptorResolver@8 {
<name not found> = IntValue@9
<name not found> = IntValue@10
<name not found> = JetTypeImpl@11['Int']
<name not found> = JetTypeImpl@11['Int']
<name not found> = JetTypeImpl@11['Int']
<name not found> = JetTypeImpl@11['Int']
<name not found> = JetTypeImpl@12['Int']
<name not found> = JetTypeImpl@11['Int']
<name not found> = IntValue@11
<name not found> = IntValue@12
<name not found> = JetTypeImpl@13['Int']
<name not found> = JetTypeImpl@13['Int']
<name not found> = JetTypeImpl@13['Int']
<name not found> = JetTypeImpl@13['Int']
<name not found> = JetTypeImpl@14['Int']
<name not found> = JetTypeImpl@13['Int']
<name not found> = null
}
DeserializedClassDescriptor@2['Intrinsic'] {
containingDeclaration = LazyJavaPackageFragment@13['internal']
defaultType = JetTypeImpl@14['Intrinsic']
primaryConstructor = ConstructorDescriptorImpl@15['<init>']
containingDeclaration = LazyJavaPackageFragment@15['internal']
defaultType = JetTypeImpl@16['Intrinsic']
primaryConstructor = ConstructorDescriptorImpl@17['<init>']
}
DeserializedTypeParameterDescriptor@16['T'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@17
upperBounds = LinkedHashSet@18[1] { DeserializedType@19['kotlin.Any'] }
DeserializedClassDescriptor@4['inline'] {
containingDeclaration = LazyJavaPackageFragment@18['kotlin']
defaultType = JetTypeImpl@19['inline']
}
DeserializedType@20['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@17
DeserializedTypeParameterDescriptor@20['T'] {
typeConstructor = AbstractLazyTypeParameterDescriptor$1@21
upperBounds = LinkedHashSet@22[1] { DeserializedType@23['kotlin.Any'] }
}
DeserializedType@21['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@17
DeserializedType@24['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@21
}
DeserializedType@22['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@17
DeserializedType@25['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@21
}
DeserializedType@19['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@23
memberScope = DeserializedClassMemberScope@24
DeserializedType@26['T in kotlin'] {
constructor = AbstractLazyTypeParameterDescriptor$1@21
}
DeserializedType@25['kotlin.Array'] {
constructor = DeserializedClassTypeConstructor@26
memberScope = SubstitutingScope@27
DeserializedType@23['kotlin.Any'] {
constructor = DeserializedClassTypeConstructor@27
memberScope = DeserializedClassMemberScope@28
}
DeserializedType@28['kotlin.Array'] {
constructor = DeserializedClassTypeConstructor@26
memberScope = SubstitutingScope@29
DeserializedType@29['kotlin.Array'] {
constructor = DeserializedClassTypeConstructor@30
memberScope = SubstitutingScope@31
}
DeserializedType@30['kotlin.Int'] {
constructor = DeserializedClassTypeConstructor@31
DeserializedType@32['kotlin.Array'] {
constructor = DeserializedClassTypeConstructor@30
memberScope = SubstitutingScope@33
}
DeserializedType@32['kotlin.IntArray'] {
constructor = DeserializedClassTypeConstructor@33
DeserializedType@34['kotlin.Int'] {
constructor = DeserializedClassTypeConstructor@35
}
LazyAnnotationDescriptor@34 {
resolutionResults = OverloadResolutionResultsImpl@35
type = JetTypeImpl@36['Ann']
valueArguments(ValueParameterDescriptorImpl@37['i']) = IntValue@38
DeserializedType@36['kotlin.IntArray'] {
constructor = DeserializedClassTypeConstructor@37
}
LazyAnnotationDescriptor@39 {
resolutionResults = OverloadResolutionResultsImpl@40
type = JetTypeImpl@41['Ann']
valueArguments(ValueParameterDescriptorImpl@37['i']) = IntValue@42
LazyAnnotationDescriptor@38 {
resolutionResults = OverloadResolutionResultsImpl@39
type = JetTypeImpl@40['Ann']
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@42
}
LazyAnnotationDescriptor@43 {
resolutionResults = OverloadResolutionResultsImpl@44
type = JetTypeImpl@45['Ann']
valueArguments(ValueParameterDescriptorImpl@37['i']) = IntValue@46
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@46
}
LazyAnnotationDescriptor@47 {
resolutionResults = OverloadResolutionResultsImpl@48
type = JetTypeImpl@49['Ann']
valueArguments(ValueParameterDescriptorImpl@37['i']) = null
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@50
}
LazyAnnotationDescriptor@50 {
resolutionResults = OverloadResolutionResultsImpl@51
type = JetTypeImpl@52['Ann']
valueArguments(ValueParameterDescriptorImpl@37['i']) = null
LazyAnnotationDescriptor@51 {
resolutionResults = OverloadResolutionResultsImpl@52
type = JetTypeImpl@53['Ann']
valueArguments(ValueParameterDescriptorImpl@41['i']) = null
}
LazyAnnotationDescriptor@53 {
resolutionResults = OverloadResolutionResultsImpl@54
type = JetTypeImpl@55['AnnIA']
valueArguments(ValueParameterDescriptorImpl@56['ia']) = null
LazyAnnotationDescriptor@54 {
resolutionResults = OverloadResolutionResultsImpl@55
type = JetTypeImpl@56['Ann']
valueArguments(ValueParameterDescriptorImpl@41['i']) = null
}
LazyAnnotationDescriptor@57 {
resolutionResults = OverloadResolutionResultsImpl@58
type = JetTypeImpl@59['AnnSA']
valueArguments(ValueParameterDescriptorImpl@60['sa']) = null
type = JetTypeImpl@59['AnnIA']
valueArguments(ValueParameterDescriptorImpl@60['ia']) = null
}
LazyJavaPackageFragmentProvider@61 {
packageFragments('<root>': FqName@62) = LazyJavaPackageFragment@63['<root>']
packageFragments('Ann': FqName@64) = null
packageFragments('Ann2': FqName@65) = null
packageFragments('AnnIA': FqName@66) = null
packageFragments('AnnSA': FqName@67) = null
packageFragments('Array': FqName@68) = null
packageFragments('Int': FqName@69) = null
packageFragments('IntArray': FqName@70) = null
packageFragments('MyClass': FqName@71) = null
packageFragments('O': FqName@72) = null
packageFragments('String': FqName@73) = null
packageFragments('Test': FqName@74) = null
packageFragments('i': FqName@75) = null
packageFragments('i2': FqName@76) = null
packageFragments('ia': FqName@77) = null
packageFragments('java': FqName@78) = LazyJavaPackageFragment@79['java']
packageFragments('java.lang': FqName@80) = LazyJavaPackageFragment@81['lang']
packageFragments('java.lang.Ann': FqName@82) = null
packageFragments('java.lang.AnnIA': FqName@83) = null
packageFragments('java.lang.AnnSA': FqName@84) = null
packageFragments('java.lang.Array': FqName@85) = null
packageFragments('java.lang.Int': FqName@86) = null
packageFragments('java.lang.IntArray': FqName@87) = null
packageFragments('java.lang.O': FqName@88) = null
packageFragments('java.lang.String': FqName@89) = null
packageFragments('kotlin': FqName@90) = LazyJavaPackageFragment@91['kotlin']
packageFragments('kotlin.Ann': FqName@92) = null
packageFragments('kotlin.AnnIA': FqName@93) = null
packageFragments('kotlin.AnnSA': FqName@94) = null
packageFragments('kotlin.Array': FqName@95) = null
packageFragments('kotlin.Int': FqName@96) = null
packageFragments('kotlin.IntArray': FqName@97) = null
packageFragments('kotlin.O': FqName@98) = null
packageFragments('kotlin.String': FqName@99) = null
packageFragments('kotlin.io': FqName@100) = LazyJavaPackageFragment@101['io']
packageFragments('kotlin.io.Ann': FqName@102) = null
packageFragments('kotlin.io.AnnIA': FqName@103) = null
packageFragments('kotlin.io.AnnSA': FqName@104) = null
packageFragments('kotlin.io.Array': FqName@105) = null
packageFragments('kotlin.io.Int': FqName@106) = null
packageFragments('kotlin.io.IntArray': FqName@107) = null
packageFragments('kotlin.io.O': FqName@108) = null
packageFragments('kotlin.io.String': FqName@109) = null
packageFragments('kotlin.jvm': FqName@110) = LazyJavaPackageFragment@111['jvm']
packageFragments('kotlin.jvm.Ann': FqName@112) = null
packageFragments('kotlin.jvm.AnnIA': FqName@113) = null
packageFragments('kotlin.jvm.AnnSA': FqName@114) = null
packageFragments('kotlin.jvm.Array': FqName@115) = null
packageFragments('kotlin.jvm.Int': FqName@116) = null
packageFragments('kotlin.jvm.IntArray': FqName@117) = null
packageFragments('kotlin.jvm.O': FqName@118) = null
packageFragments('kotlin.jvm.String': FqName@119) = null
packageFragments('kotlin.jvm.internal': FqName@120) = LazyJavaPackageFragment@13['internal']
packageFragments('sa': FqName@121) = null
LazyAnnotationDescriptor@61 {
resolutionResults = OverloadResolutionResultsImpl@62
type = JetTypeImpl@63['AnnSA']
valueArguments(ValueParameterDescriptorImpl@64['sa']) = null
}
LazyJavaPackageFragment@63['<root>'] {
classes('Array': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('Int': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('IntArray': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('MyClass': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('String': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('array': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('foo': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('i': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('i2': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('ia': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('intArray': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@123
classes('sa': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@123
deserializedPackageScope = Empty@135 // through LazyPackageFragmentScopeForJavaPackage@123
functions('MyClass': Name@126) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@123
functions('array': Name@128) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@123
functions('foo': Name@129) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@123
functions('intArray': Name@133) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@123
memberIndex = computeMemberIndex$1@137 // through LazyPackageFragmentScopeForJavaPackage@123
LazyJavaPackageFragmentProvider@65 {
packageFragments('<root>': FqName@66) = LazyJavaPackageFragment@67['<root>']
packageFragments('Ann': FqName@68) = null
packageFragments('Ann2': FqName@69) = null
packageFragments('AnnIA': FqName@70) = null
packageFragments('AnnSA': FqName@71) = null
packageFragments('Array': FqName@72) = null
packageFragments('Int': FqName@73) = null
packageFragments('IntArray': FqName@74) = null
packageFragments('MyClass': FqName@75) = null
packageFragments('O': FqName@76) = null
packageFragments('String': FqName@77) = null
packageFragments('Test': FqName@78) = null
packageFragments('i': FqName@79) = null
packageFragments('i2': FqName@80) = null
packageFragments('ia': FqName@81) = null
packageFragments('java': FqName@82) = LazyJavaPackageFragment@83['java']
packageFragments('java.lang': FqName@84) = LazyJavaPackageFragment@85['lang']
packageFragments('java.lang.Ann': FqName@86) = null
packageFragments('java.lang.AnnIA': FqName@87) = null
packageFragments('java.lang.AnnSA': FqName@88) = null
packageFragments('java.lang.Array': FqName@89) = null
packageFragments('java.lang.Int': FqName@90) = null
packageFragments('java.lang.IntArray': FqName@91) = null
packageFragments('java.lang.O': FqName@92) = null
packageFragments('java.lang.String': FqName@93) = null
packageFragments('kotlin': FqName@94) = LazyJavaPackageFragment@18['kotlin']
packageFragments('kotlin.Ann': FqName@95) = null
packageFragments('kotlin.AnnIA': FqName@96) = null
packageFragments('kotlin.AnnSA': FqName@97) = null
packageFragments('kotlin.Array': FqName@98) = null
packageFragments('kotlin.Int': FqName@99) = null
packageFragments('kotlin.IntArray': FqName@100) = null
packageFragments('kotlin.O': FqName@101) = null
packageFragments('kotlin.String': FqName@102) = null
packageFragments('kotlin.io': FqName@103) = LazyJavaPackageFragment@104['io']
packageFragments('kotlin.io.Ann': FqName@105) = null
packageFragments('kotlin.io.AnnIA': FqName@106) = null
packageFragments('kotlin.io.AnnSA': FqName@107) = null
packageFragments('kotlin.io.Array': FqName@108) = null
packageFragments('kotlin.io.Int': FqName@109) = null
packageFragments('kotlin.io.IntArray': FqName@110) = null
packageFragments('kotlin.io.O': FqName@111) = null
packageFragments('kotlin.io.String': FqName@112) = null
packageFragments('kotlin.jvm': FqName@113) = LazyJavaPackageFragment@114['jvm']
packageFragments('kotlin.jvm.Ann': FqName@115) = null
packageFragments('kotlin.jvm.AnnIA': FqName@116) = null
packageFragments('kotlin.jvm.AnnSA': FqName@117) = null
packageFragments('kotlin.jvm.Array': FqName@118) = null
packageFragments('kotlin.jvm.Int': FqName@119) = null
packageFragments('kotlin.jvm.IntArray': FqName@120) = null
packageFragments('kotlin.jvm.O': FqName@121) = null
packageFragments('kotlin.jvm.String': FqName@122) = null
packageFragments('kotlin.jvm.internal': FqName@123) = LazyJavaPackageFragment@15['internal']
packageFragments('sa': FqName@124) = null
}
LazyJavaPackageFragment@13['internal'] {
classes('Intrinsic': Name@138) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@139
LazyJavaPackageFragment@67['<root>'] {
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@126
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@126
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@126
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
memberIndex = computeMemberIndex$1@140 // through LazyPackageFragmentScopeForJavaPackage@126
}
LazyJavaPackageFragment@101['io'] {
classes('Array': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('Int': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('IntArray': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('MyClass': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('String': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('array': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('foo': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('i': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('i2': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('ia': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('intArray': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@140
classes('sa': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@140
deserializedPackageScope = DeserializedPackageMemberScope@141 // through LazyPackageFragmentScopeForJavaPackage@140
functions('MyClass': Name@126) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
functions('MyClass': Name@126) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@140
functions('array': Name@128) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
functions('array': Name@128) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@140
functions('foo': Name@129) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
functions('foo': Name@129) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@140
functions('intArray': Name@133) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
functions('intArray': Name@133) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@140
memberIndex = computeMemberIndex$1@142 // through LazyPackageFragmentScopeForJavaPackage@140
membersProtos = HashMap@143 // through DeserializedPackageMemberScope@141
properties('MyClass': Name@126) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('O': Name@144) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('array': Name@128) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('foo': Name@129) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('i': Name@130) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('i2': Name@131) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('ia': Name@132) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('intArray': Name@133) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
properties('sa': Name@134) = EmptyList@136[empty] // through DeserializedPackageMemberScope@141
LazyJavaPackageFragment@15['internal'] {
classes('Intrinsic': Name@141) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@142
}
LazyJavaPackageFragment@79['java'] {
classes('lang': Name@145) = null // through LazyPackageFragmentScopeForJavaPackage@146
deserializedPackageScope = Empty@135 // through LazyPackageFragmentScopeForJavaPackage@146
functions('lang': Name@147) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@146
memberIndex = computeMemberIndex$1@148 // through LazyPackageFragmentScopeForJavaPackage@146
LazyJavaPackageFragment@104['io'] {
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@143
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@143
deserializedPackageScope = DeserializedPackageMemberScope@144 // through LazyPackageFragmentScopeForJavaPackage@143
functions('MyClass': Name@129) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
functions('array': Name@131) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
functions('foo': Name@132) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
functions('intArray': Name@136) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
memberIndex = computeMemberIndex$1@145 // through LazyPackageFragmentScopeForJavaPackage@143
membersProtos = HashMap@146 // through DeserializedPackageMemberScope@144
properties('MyClass': Name@129) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('O': Name@147) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('array': Name@131) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('foo': Name@132) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('i': Name@133) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('i2': Name@134) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('ia': Name@135) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('intArray': Name@136) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
properties('sa': Name@137) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
}
LazyJavaPackageFragment@111['jvm'] {
classes('Array': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('Int': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('IntArray': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('MyClass': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('String': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('array': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('foo': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('i': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('i2': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('ia': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('intArray': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@149
classes('sa': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@149
deserializedPackageScope = Empty@135 // through LazyPackageFragmentScopeForJavaPackage@149
functions('MyClass': Name@126) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@149
functions('array': Name@128) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@149
functions('foo': Name@129) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@149
functions('intArray': Name@133) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@149
memberIndex = computeMemberIndex$1@150 // through LazyPackageFragmentScopeForJavaPackage@149
LazyJavaPackageFragment@83['java'] {
classes('lang': Name@148) = null // through LazyPackageFragmentScopeForJavaPackage@149
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@149
functions('lang': Name@150) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@149
memberIndex = computeMemberIndex$1@151 // through LazyPackageFragmentScopeForJavaPackage@149
}
LazyJavaPackageFragment@91['kotlin'] {
classes('Any': Name@151) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('Array': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('Int': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('IntArray': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('MyClass': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('String': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('array': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('foo': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('i': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('i2': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('ia': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('intArray': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('io': Name@153) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('jvm': Name@154) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('sa': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@152
deserializedPackageScope = DeserializedPackageMemberScope@155 // through LazyPackageFragmentScopeForJavaPackage@152
functions('MyClass': Name@126) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
functions('MyClass': Name@126) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('array': Name@128) = ArrayList@156[1] { DeserializedSimpleFunctionDescriptor@157['array'] } // through DeserializedPackageMemberScope@155
functions('array': Name@128) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('foo': Name@129) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
functions('foo': Name@129) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('intArray': Name@133) = ArrayList@158[1] { DeserializedSimpleFunctionDescriptor@159['intArray'] } // through DeserializedPackageMemberScope@155
functions('intArray': Name@133) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('io': Name@160) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
functions('io': Name@160) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('jvm': Name@161) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
functions('jvm': Name@161) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@152
memberIndex = computeMemberIndex$1@162 // through LazyPackageFragmentScopeForJavaPackage@152
membersProtos = HashMap@163 // through DeserializedPackageMemberScope@155
properties('MyClass': Name@126) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('O': Name@144) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('array': Name@128) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('foo': Name@129) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('i': Name@130) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('i2': Name@131) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('ia': Name@132) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('intArray': Name@133) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('io': Name@160) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('jvm': Name@161) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
properties('sa': Name@134) = EmptyList@136[empty] // through DeserializedPackageMemberScope@155
LazyJavaPackageFragment@114['jvm'] {
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@152
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@152
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@152
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@152
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@152
memberIndex = computeMemberIndex$1@153 // through LazyPackageFragmentScopeForJavaPackage@152
}
LazyJavaPackageFragment@81['lang'] {
classes('MyClass': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('array': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('foo': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('i': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('i2': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('ia': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('intArray': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@164
classes('sa': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@164
deserializedPackageScope = Empty@135 // through LazyPackageFragmentScopeForJavaPackage@164
functions('MyClass': Name@126) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@164
functions('array': Name@128) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@164
functions('foo': Name@129) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@164
functions('intArray': Name@133) = EmptyList@136[empty] // through LazyPackageFragmentScopeForJavaPackage@164
memberIndex = computeMemberIndex$1@165 // through LazyPackageFragmentScopeForJavaPackage@164
LazyJavaPackageFragment@18['kotlin'] {
classes('Any': Name@154) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('inline': Name@156) = DeserializedClassDescriptor@4['inline'] // through LazyPackageFragmentScopeForJavaPackage@155
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('io': Name@157) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('jvm': Name@158) = null // through LazyPackageFragmentScopeForJavaPackage@155
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@155
deserializedPackageScope = DeserializedPackageMemberScope@159 // through LazyPackageFragmentScopeForJavaPackage@155
functions('MyClass': Name@129) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
functions('array': Name@131) = ArrayList@160[1] { DeserializedSimpleFunctionDescriptor@161['array'] } // through DeserializedPackageMemberScope@159
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
functions('foo': Name@132) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
functions('intArray': Name@136) = ArrayList@162[1] { DeserializedSimpleFunctionDescriptor@163['intArray'] } // through DeserializedPackageMemberScope@159
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
functions('io': Name@164) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
functions('io': Name@164) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
functions('jvm': Name@165) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
functions('jvm': Name@165) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@155
memberIndex = computeMemberIndex$1@166 // through LazyPackageFragmentScopeForJavaPackage@155
membersProtos = HashMap@167 // through DeserializedPackageMemberScope@159
properties('MyClass': Name@129) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('O': Name@147) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('array': Name@131) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('foo': Name@132) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('i': Name@133) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('i2': Name@134) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('ia': Name@135) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('intArray': Name@136) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('io': Name@164) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('jvm': Name@165) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
properties('sa': Name@137) = EmptyList@139[empty] // through DeserializedPackageMemberScope@159
}
TypeDeserializer@166 {
classDescriptors('2': Integer@167) = DeserializedClassDescriptor@168['Any']
classDescriptors('3': Integer@169) = DeserializedClassDescriptor@170['Array']
LazyJavaPackageFragment@85['lang'] {
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@168
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@168
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@168
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@168
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@168
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@168
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@168
memberIndex = computeMemberIndex$1@169 // through LazyPackageFragmentScopeForJavaPackage@168
}
TypeDeserializer@171 {
classDescriptors('20': Integer@172) = DeserializedClassDescriptor@173['Int']
classDescriptors('45': Integer@174) = DeserializedClassDescriptor@175['IntArray']
TypeDeserializer@170 {
classDescriptors('2': Integer@171) = DeserializedClassDescriptor@172['Any']
classDescriptors('3': Integer@173) = DeserializedClassDescriptor@174['Array']
}
TypeDeserializer@175 {
classDescriptors('20': Integer@176) = DeserializedClassDescriptor@177['Int']
classDescriptors('45': Integer@178) = DeserializedClassDescriptor@179['IntArray']
}