Generate static backing fields for properties in object
#KT-4973 Fixed
This commit is contained in:
@@ -705,6 +705,11 @@ public class AsmUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isInstancePropertyWithStaticBackingField(@NotNull PropertyDescriptor propertyDescriptor) {
|
||||||
|
DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration();
|
||||||
|
return isObject(containingDeclaration) || isPropertyWithBackingFieldInOuterClass(propertyDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isPropertyWithBackingFieldInOuterClass(@NotNull PropertyDescriptor propertyDescriptor) {
|
public static boolean isPropertyWithBackingFieldInOuterClass(@NotNull PropertyDescriptor propertyDescriptor) {
|
||||||
return isClassObjectWithBackingFieldsInOuter(propertyDescriptor.getContainingDeclaration());
|
return isClassObjectWithBackingFieldsInOuter(propertyDescriptor.getContainingDeclaration());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1953,7 +1953,8 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration();
|
DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration();
|
||||||
|
|
||||||
boolean isBackingFieldInAnotherClass = AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor);
|
boolean isBackingFieldInAnotherClass = AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor);
|
||||||
boolean isStaticBackingField = DescriptorUtils.isStaticDeclaration(propertyDescriptor) || isBackingFieldInAnotherClass;
|
boolean isStaticBackingField = DescriptorUtils.isStaticDeclaration(propertyDescriptor) ||
|
||||||
|
AsmUtil.isInstancePropertyWithStaticBackingField(propertyDescriptor);
|
||||||
boolean isSuper = superExpression != null;
|
boolean isSuper = superExpression != null;
|
||||||
boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null;
|
boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null;
|
||||||
|
|
||||||
|
|||||||
@@ -249,17 +249,18 @@ public class PropertyCodegen {
|
|||||||
ClassBuilder builder = v;
|
ClassBuilder builder = v;
|
||||||
|
|
||||||
FieldOwnerContext backingFieldContext = context;
|
FieldOwnerContext backingFieldContext = context;
|
||||||
if (AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor)) {
|
if (AsmUtil.isInstancePropertyWithStaticBackingField(propertyDescriptor) ) {
|
||||||
modifiers |= ACC_STATIC | getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegate);
|
modifiers |= ACC_STATIC | getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegate);
|
||||||
ImplementationBodyCodegen codegen = getParentBodyCodegen(classBodyCodegen);
|
if (AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor)) {
|
||||||
builder = codegen.v;
|
ImplementationBodyCodegen codegen = getParentBodyCodegen(classBodyCodegen);
|
||||||
backingFieldContext = codegen.context;
|
builder = codegen.v;
|
||||||
v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor);
|
backingFieldContext = codegen.context;
|
||||||
} else {
|
v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor);
|
||||||
if (kind != OwnerKind.PACKAGE || isDelegate) {
|
|
||||||
modifiers |= ACC_PRIVATE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (kind != OwnerKind.PACKAGE || isDelegate) {
|
||||||
|
modifiers |= ACC_PRIVATE;
|
||||||
|
}
|
||||||
|
|
||||||
if (AsmUtil.isPropertyWithBackingFieldCopyInOuterClass(propertyDescriptor)) {
|
if (AsmUtil.isPropertyWithBackingFieldCopyInOuterClass(propertyDescriptor)) {
|
||||||
ImplementationBodyCodegen parentBodyCodegen = getParentBodyCodegen(classBodyCodegen);
|
ImplementationBodyCodegen parentBodyCodegen = getParentBodyCodegen(classBodyCodegen);
|
||||||
|
|||||||
@@ -1482,11 +1482,11 @@ public abstract class StackValue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dup(@NotNull InstructionAdapter v, boolean withReceiver) {
|
public void dup(@NotNull InstructionAdapter v, boolean withWriteReceiver) {
|
||||||
if (!withReceiver) {
|
if (!withWriteReceiver) {
|
||||||
super.dup(v, withReceiver);
|
super.dup(v, withWriteReceiver);
|
||||||
} else {
|
} else {
|
||||||
int receiverSize = hasReceiver(false) && hasReceiver(true) ? receiverSize() : 0;
|
int receiverSize = hasReceiver(false) ? receiverSize() : 0;
|
||||||
switch (receiverSize) {
|
switch (receiverSize) {
|
||||||
case 0:
|
case 0:
|
||||||
AsmUtil.dup(v, type);
|
AsmUtil.dup(v, type);
|
||||||
@@ -1577,19 +1577,23 @@ public abstract class StackValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Delegated extends StackValueWithSimpleReceiver {
|
public static class DelegatedForComplexReceiver extends StackValueWithSimpleReceiver {
|
||||||
|
|
||||||
public final StackValueWithSimpleReceiver originalValue;
|
public final StackValueWithSimpleReceiver originalValue;
|
||||||
|
|
||||||
public Delegated(
|
public DelegatedForComplexReceiver(
|
||||||
@NotNull Type type,
|
@NotNull Type type,
|
||||||
@NotNull StackValueWithSimpleReceiver originalValue,
|
@NotNull StackValueWithSimpleReceiver originalValue,
|
||||||
@NotNull StackValue receiver
|
@NotNull StackValue receiver
|
||||||
) {
|
) {
|
||||||
super(type, !originalValue.hasReceiver(true), !originalValue.hasReceiver(false), receiver);
|
super(type, bothReceiverStatic(originalValue), bothReceiverStatic(originalValue), receiver);
|
||||||
this.originalValue = originalValue;
|
this.originalValue = originalValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean bothReceiverStatic(StackValueWithSimpleReceiver originalValue) {
|
||||||
|
return !(originalValue.hasReceiver(true) || originalValue.hasReceiver(false));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void putSelector(
|
public void putSelector(
|
||||||
@NotNull Type type, @NotNull InstructionAdapter v
|
@NotNull Type type, @NotNull InstructionAdapter v
|
||||||
@@ -1605,8 +1609,8 @@ public abstract class StackValue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dup(@NotNull InstructionAdapter v, boolean withReceiver) {
|
public void dup(@NotNull InstructionAdapter v, boolean withWriteReceiver) {
|
||||||
originalValue.dup(v, withReceiver);
|
originalValue.dup(v, withWriteReceiver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1616,7 +1620,7 @@ public abstract class StackValue {
|
|||||||
|
|
||||||
private static StackValue complexReceiver(StackValue stackValue, boolean ... isReadOperations) {
|
private static StackValue complexReceiver(StackValue stackValue, boolean ... isReadOperations) {
|
||||||
if (stackValue instanceof StackValueWithSimpleReceiver) {
|
if (stackValue instanceof StackValueWithSimpleReceiver) {
|
||||||
return new Delegated(stackValue.type, (StackValueWithSimpleReceiver) stackValue,
|
return new DelegatedForComplexReceiver(stackValue.type, (StackValueWithSimpleReceiver) stackValue,
|
||||||
new ComplexReceiver((StackValueWithSimpleReceiver) stackValue, isReadOperations));
|
new ComplexReceiver((StackValueWithSimpleReceiver) stackValue, isReadOperations));
|
||||||
} else {
|
} else {
|
||||||
return stackValue;
|
return stackValue;
|
||||||
|
|||||||
+3
-1
@@ -47,7 +47,9 @@ public class ConstantExpressionEvaluator private (val trace: BindingTrace) : Jet
|
|||||||
if (descriptor.isVar()) {
|
if (descriptor.isVar()) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (DescriptorUtils.isClassObject(descriptor.getContainingDeclaration()) || DescriptorUtils.isStaticDeclaration(descriptor)) {
|
if (DescriptorUtils.isObject(descriptor.getContainingDeclaration()) ||
|
||||||
|
DescriptorUtils.isClassObject(descriptor.getContainingDeclaration()) ||
|
||||||
|
DescriptorUtils.isStaticDeclaration(descriptor)) {
|
||||||
val returnType = descriptor.getType()
|
val returnType = descriptor.getType()
|
||||||
return KotlinBuiltIns.getInstance().isPrimitiveType(returnType) || KotlinBuiltIns.getInstance().getStringType() == returnType
|
return KotlinBuiltIns.getInstance().isPrimitiveType(returnType) || KotlinBuiltIns.getInstance().getStringType() == returnType
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
object Foo {
|
||||||
|
val bar: String
|
||||||
|
|
||||||
|
{
|
||||||
|
bar = "OK"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return Foo.bar
|
||||||
|
}
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
class A {
|
|
||||||
class object {
|
|
||||||
private var r: Int = 1;
|
|
||||||
|
|
||||||
fun a(): Int {
|
|
||||||
r++
|
|
||||||
++r
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun box() : String {
|
|
||||||
val p = A.a()
|
|
||||||
return if (p == 3) return "OK" else "fail"
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
|
||||||
|
class A {
|
||||||
|
class object {
|
||||||
|
private var r: Int = 1;
|
||||||
|
|
||||||
|
fun test(): Int {
|
||||||
|
r++
|
||||||
|
++r
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
var holder: String = ""
|
||||||
|
|
||||||
|
var r2: Int = 1;
|
||||||
|
get() {
|
||||||
|
holder += "getR2"
|
||||||
|
return $r2
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test2() : Int {
|
||||||
|
r2++
|
||||||
|
++r2
|
||||||
|
return $r2
|
||||||
|
}
|
||||||
|
|
||||||
|
var r3: Int = 1;
|
||||||
|
set(p: Int) {
|
||||||
|
holder += "setR3"
|
||||||
|
$r3 = p
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test3() : Int {
|
||||||
|
r3++
|
||||||
|
++r3
|
||||||
|
return $r3
|
||||||
|
}
|
||||||
|
|
||||||
|
var r4: Int = 1;
|
||||||
|
get() {
|
||||||
|
holder += "getR4"
|
||||||
|
return $r4
|
||||||
|
}
|
||||||
|
set(p: Int) {
|
||||||
|
holder += "setR4"
|
||||||
|
$r4 = p
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test4() : Int {
|
||||||
|
r4++
|
||||||
|
holder += ":"
|
||||||
|
++r4
|
||||||
|
return $r4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() : String {
|
||||||
|
val p = A.test()
|
||||||
|
if (p != 3) return "fail 1: $p"
|
||||||
|
|
||||||
|
val p2 = A.test2()
|
||||||
|
var holderValue = A.holder
|
||||||
|
if (p2 != 3 || holderValue != "getR2getR2getR2") return "fail 2: $p2 ${holderValue}"
|
||||||
|
|
||||||
|
A.holder = ""
|
||||||
|
val p3 = A.test3()
|
||||||
|
if (p3 != 3 || A.holder != "setR3setR3") return "fail 3: $p3 ${A.holder}"
|
||||||
|
|
||||||
|
A.holder = ""
|
||||||
|
val p4 = A.test4()
|
||||||
|
if (p4 != 3 || A.holder != "getR4setR4:getR4setR4getR4") return "fail 4: $p4 ${A.holder}"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
object A {
|
||||||
|
private var r: Int = 1;
|
||||||
|
|
||||||
|
fun test() : Int {
|
||||||
|
r++
|
||||||
|
++r
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
|
||||||
|
var holder: String = ""
|
||||||
|
|
||||||
|
var r2: Int = 1;
|
||||||
|
get() {
|
||||||
|
holder += "getR2"
|
||||||
|
return $r2
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test2() : Int {
|
||||||
|
r2++
|
||||||
|
++r2
|
||||||
|
return $r2
|
||||||
|
}
|
||||||
|
|
||||||
|
var r3: Int = 1;
|
||||||
|
set(p: Int) {
|
||||||
|
holder += "setR3"
|
||||||
|
$r3 = p
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test3() : Int {
|
||||||
|
r3++
|
||||||
|
++r3
|
||||||
|
return $r3
|
||||||
|
}
|
||||||
|
|
||||||
|
var r4: Int = 1;
|
||||||
|
get() {
|
||||||
|
holder += "getR4"
|
||||||
|
return $r4
|
||||||
|
}
|
||||||
|
set(p: Int) {
|
||||||
|
holder += "setR4"
|
||||||
|
$r4 = p
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test4() : Int {
|
||||||
|
r4++
|
||||||
|
holder += ":"
|
||||||
|
++r4
|
||||||
|
return $r4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box() : String {
|
||||||
|
val p = A.test()
|
||||||
|
if (p != 3) return "fail 1: $p"
|
||||||
|
|
||||||
|
val p2 = A.test2()
|
||||||
|
val holderValue = A.holder
|
||||||
|
if (p2 != 3 || holderValue != "getR2getR2getR2") return "fail 2: $p2 ${holderValue}"
|
||||||
|
|
||||||
|
A.holder = ""
|
||||||
|
val p3 = A.test3()
|
||||||
|
if (p3 != 3 || A.holder != "setR3setR3") return "fail 3: $p3 ${A.holder}"
|
||||||
|
|
||||||
|
A.holder = ""
|
||||||
|
val p4 = A.test4()
|
||||||
|
if (p4 != 3 || A.holder != "getR4setR4:getR4setR4getR4") return "fail 4: $p4 ${A.holder}"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
object A {
|
|
||||||
private var r: Int = 1;
|
|
||||||
|
|
||||||
fun a() : Int {
|
|
||||||
r++
|
|
||||||
++r
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun box() : String {
|
|
||||||
val p = A.a()
|
|
||||||
return if (p == 3) return "OK" else "fail"
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
object A {
|
||||||
|
private val p = "OK";
|
||||||
|
|
||||||
|
object B {
|
||||||
|
val z = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun box(): String {
|
||||||
|
return A.B.z
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
object A {
|
||||||
|
val r: Int = 1
|
||||||
|
}
|
||||||
|
// Field initialized in constant pool
|
||||||
|
// A super constructor call and INSTANCE$ put
|
||||||
|
// 2 ALOAD 0
|
||||||
-5
@@ -3,7 +3,6 @@ annotation class AnnIA(val ia: IntArray)
|
|||||||
annotation class AnnSA(val sa: Array<String>)
|
annotation class AnnSA(val sa: Array<String>)
|
||||||
|
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>MyClass().i<!>)
|
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>MyClass().i<!>)
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>O.i<!>)
|
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>)
|
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>)
|
||||||
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i2<!>)
|
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i2<!>)
|
||||||
AnnIA(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>ia<!>)
|
AnnIA(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>ia<!>)
|
||||||
@@ -22,10 +21,6 @@ class MyClass {
|
|||||||
val i = 1
|
val i = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
object O {
|
|
||||||
val i = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
val ia: IntArray = intArray(1, 2)
|
val ia: IntArray = intArray(1, 2)
|
||||||
val sa: Array<String> = array("a", "b")
|
val sa: Array<String> = array("a", "b")
|
||||||
|
|
||||||
|
|||||||
+319
-355
@@ -11,449 +11,413 @@ DescriptorResolver@8 {
|
|||||||
<name not found> = IntValue@9
|
<name not found> = IntValue@9
|
||||||
<name not found> = IntValue@10
|
<name not found> = IntValue@10
|
||||||
<name not found> = IntValue@11
|
<name not found> = IntValue@11
|
||||||
<name not found> = IntValue@12
|
<name not found> = JetTypeImpl@12['Int']
|
||||||
<name not found> = JetTypeImpl@13['Int']
|
<name not found> = JetTypeImpl@12['Int']
|
||||||
<name not found> = JetTypeImpl@13['Int']
|
<name not found> = JetTypeImpl@12['Int']
|
||||||
<name not found> = JetTypeImpl@13['Int']
|
<name not found> = JetTypeImpl@12['Int']
|
||||||
<name not found> = JetTypeImpl@13['Int']
|
|
||||||
<name not found> = JetTypeImpl@14['Int']
|
|
||||||
<name not found> = JetTypeImpl@13['Int']
|
<name not found> = JetTypeImpl@13['Int']
|
||||||
<name not found> = null
|
<name not found> = null
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedClassDescriptor@2['Intrinsic'] {
|
DeserializedClassDescriptor@2['Intrinsic'] {
|
||||||
containingDeclaration = LazyJavaPackageFragment@15['internal']
|
containingDeclaration = LazyJavaPackageFragment@14['internal']
|
||||||
defaultType = JetTypeImpl@16['Intrinsic']
|
defaultType = JetTypeImpl@15['Intrinsic']
|
||||||
primaryConstructor = ConstructorDescriptorImpl@17['<init>']
|
primaryConstructor = ConstructorDescriptorImpl@16['<init>']
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedClassDescriptor@4['inline'] {
|
DeserializedClassDescriptor@4['inline'] {
|
||||||
containingDeclaration = LazyJavaPackageFragment@18['kotlin']
|
containingDeclaration = LazyJavaPackageFragment@17['kotlin']
|
||||||
defaultType = JetTypeImpl@19['inline']
|
defaultType = JetTypeImpl@18['inline']
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedTypeParameterDescriptor@20['T'] {
|
DeserializedTypeParameterDescriptor@19['T'] {
|
||||||
typeConstructor = AbstractLazyTypeParameterDescriptor$1@21
|
typeConstructor = AbstractLazyTypeParameterDescriptor$1@20
|
||||||
upperBounds = LinkedHashSet@22[1] { DeserializedType@23['kotlin.Any'] }
|
upperBounds = LinkedHashSet@21[1] { DeserializedType@22['kotlin.Any'] }
|
||||||
|
}
|
||||||
|
|
||||||
|
DeserializedType@23['T in kotlin'] {
|
||||||
|
constructor = AbstractLazyTypeParameterDescriptor$1@20
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@24['T in kotlin'] {
|
DeserializedType@24['T in kotlin'] {
|
||||||
constructor = AbstractLazyTypeParameterDescriptor$1@21
|
constructor = AbstractLazyTypeParameterDescriptor$1@20
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@25['T in kotlin'] {
|
DeserializedType@25['T in kotlin'] {
|
||||||
constructor = AbstractLazyTypeParameterDescriptor$1@21
|
constructor = AbstractLazyTypeParameterDescriptor$1@20
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@26['T in kotlin'] {
|
DeserializedType@22['kotlin.Any'] {
|
||||||
constructor = AbstractLazyTypeParameterDescriptor$1@21
|
constructor = DeserializedClassTypeConstructor@26
|
||||||
|
memberScope = DeserializedClassMemberScope@27
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@23['kotlin.Any'] {
|
DeserializedType@28['kotlin.Array'] {
|
||||||
constructor = DeserializedClassTypeConstructor@27
|
constructor = DeserializedClassTypeConstructor@29
|
||||||
memberScope = DeserializedClassMemberScope@28
|
memberScope = SubstitutingScope@30
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@29['kotlin.Array'] {
|
DeserializedType@31['kotlin.Array'] {
|
||||||
constructor = DeserializedClassTypeConstructor@30
|
constructor = DeserializedClassTypeConstructor@29
|
||||||
memberScope = SubstitutingScope@31
|
memberScope = SubstitutingScope@32
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@32['kotlin.Array'] {
|
DeserializedType@33['kotlin.Int'] {
|
||||||
constructor = DeserializedClassTypeConstructor@30
|
constructor = DeserializedClassTypeConstructor@34
|
||||||
memberScope = SubstitutingScope@33
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@34['kotlin.Int'] {
|
DeserializedType@35['kotlin.IntArray'] {
|
||||||
constructor = DeserializedClassTypeConstructor@35
|
constructor = DeserializedClassTypeConstructor@36
|
||||||
}
|
}
|
||||||
|
|
||||||
DeserializedType@36['kotlin.IntArray'] {
|
LazyAnnotationDescriptor@37 {
|
||||||
constructor = DeserializedClassTypeConstructor@37
|
resolutionResults = OverloadResolutionResultsImpl@38
|
||||||
|
type = JetTypeImpl@39['Ann']
|
||||||
|
valueArguments(ValueParameterDescriptorImpl@40['i']) = IntValue@41
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@38 {
|
LazyAnnotationDescriptor@42 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@39
|
resolutionResults = OverloadResolutionResultsImpl@43
|
||||||
type = JetTypeImpl@40['Ann']
|
type = JetTypeImpl@44['Ann']
|
||||||
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@42
|
valueArguments(ValueParameterDescriptorImpl@40['i']) = IntValue@45
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@43 {
|
LazyAnnotationDescriptor@46 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@44
|
resolutionResults = OverloadResolutionResultsImpl@47
|
||||||
type = JetTypeImpl@45['Ann']
|
type = JetTypeImpl@48['Ann']
|
||||||
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@46
|
valueArguments(ValueParameterDescriptorImpl@40['i']) = null
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@47 {
|
LazyAnnotationDescriptor@49 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@48
|
resolutionResults = OverloadResolutionResultsImpl@50
|
||||||
type = JetTypeImpl@49['Ann']
|
type = JetTypeImpl@51['Ann']
|
||||||
valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@50
|
valueArguments(ValueParameterDescriptorImpl@40['i']) = null
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@51 {
|
LazyAnnotationDescriptor@52 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@52
|
resolutionResults = OverloadResolutionResultsImpl@53
|
||||||
type = JetTypeImpl@53['Ann']
|
type = JetTypeImpl@54['AnnIA']
|
||||||
valueArguments(ValueParameterDescriptorImpl@41['i']) = null
|
valueArguments(ValueParameterDescriptorImpl@55['ia']) = null
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@54 {
|
LazyAnnotationDescriptor@56 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@55
|
resolutionResults = OverloadResolutionResultsImpl@57
|
||||||
type = JetTypeImpl@56['Ann']
|
type = JetTypeImpl@58['AnnSA']
|
||||||
valueArguments(ValueParameterDescriptorImpl@41['i']) = null
|
valueArguments(ValueParameterDescriptorImpl@59['sa']) = null
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@57 {
|
LazyJavaPackageFragmentProvider@60 {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@58
|
packageFragments('<root>': FqName@61) = LazyJavaPackageFragment@62['<root>']
|
||||||
type = JetTypeImpl@59['AnnIA']
|
packageFragments('Ann': FqName@63) = null
|
||||||
valueArguments(ValueParameterDescriptorImpl@60['ia']) = null
|
packageFragments('Ann2': FqName@64) = null
|
||||||
|
packageFragments('AnnIA': FqName@65) = null
|
||||||
|
packageFragments('AnnSA': FqName@66) = null
|
||||||
|
packageFragments('Array': FqName@67) = null
|
||||||
|
packageFragments('Int': FqName@68) = null
|
||||||
|
packageFragments('IntArray': FqName@69) = null
|
||||||
|
packageFragments('MyClass': FqName@70) = null
|
||||||
|
packageFragments('String': FqName@71) = null
|
||||||
|
packageFragments('Test': FqName@72) = null
|
||||||
|
packageFragments('i': FqName@73) = null
|
||||||
|
packageFragments('i2': FqName@74) = null
|
||||||
|
packageFragments('ia': FqName@75) = null
|
||||||
|
packageFragments('java': FqName@76) = LazyJavaPackageFragment@77['java']
|
||||||
|
packageFragments('java.lang': FqName@78) = LazyJavaPackageFragment@79['lang']
|
||||||
|
packageFragments('java.lang.Ann': FqName@80) = null
|
||||||
|
packageFragments('java.lang.AnnIA': FqName@81) = null
|
||||||
|
packageFragments('java.lang.AnnSA': FqName@82) = null
|
||||||
|
packageFragments('java.lang.Array': FqName@83) = null
|
||||||
|
packageFragments('java.lang.Int': FqName@84) = null
|
||||||
|
packageFragments('java.lang.IntArray': FqName@85) = null
|
||||||
|
packageFragments('java.lang.String': FqName@86) = null
|
||||||
|
packageFragments('kotlin': FqName@87) = LazyJavaPackageFragment@17['kotlin']
|
||||||
|
packageFragments('kotlin.Ann': FqName@88) = null
|
||||||
|
packageFragments('kotlin.AnnIA': FqName@89) = null
|
||||||
|
packageFragments('kotlin.AnnSA': FqName@90) = null
|
||||||
|
packageFragments('kotlin.Array': FqName@91) = null
|
||||||
|
packageFragments('kotlin.Int': FqName@92) = null
|
||||||
|
packageFragments('kotlin.IntArray': FqName@93) = null
|
||||||
|
packageFragments('kotlin.String': FqName@94) = null
|
||||||
|
packageFragments('kotlin.io': FqName@95) = LazyJavaPackageFragment@96['io']
|
||||||
|
packageFragments('kotlin.io.Ann': FqName@97) = null
|
||||||
|
packageFragments('kotlin.io.AnnIA': FqName@98) = null
|
||||||
|
packageFragments('kotlin.io.AnnSA': FqName@99) = null
|
||||||
|
packageFragments('kotlin.io.Array': FqName@100) = null
|
||||||
|
packageFragments('kotlin.io.Int': FqName@101) = null
|
||||||
|
packageFragments('kotlin.io.IntArray': FqName@102) = null
|
||||||
|
packageFragments('kotlin.io.String': FqName@103) = null
|
||||||
|
packageFragments('kotlin.jvm': FqName@104) = LazyJavaPackageFragment@105['jvm']
|
||||||
|
packageFragments('kotlin.jvm.Ann': FqName@106) = null
|
||||||
|
packageFragments('kotlin.jvm.AnnIA': FqName@107) = null
|
||||||
|
packageFragments('kotlin.jvm.AnnSA': FqName@108) = null
|
||||||
|
packageFragments('kotlin.jvm.Array': FqName@109) = null
|
||||||
|
packageFragments('kotlin.jvm.Int': FqName@110) = null
|
||||||
|
packageFragments('kotlin.jvm.IntArray': FqName@111) = null
|
||||||
|
packageFragments('kotlin.jvm.String': FqName@112) = null
|
||||||
|
packageFragments('kotlin.jvm.internal': FqName@113) = LazyJavaPackageFragment@14['internal']
|
||||||
|
packageFragments('sa': FqName@114) = null
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyAnnotationDescriptor@61 {
|
LazyJavaPackageFragment@62['<root>'] {
|
||||||
resolutionResults = OverloadResolutionResultsImpl@62
|
classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
type = JetTypeImpl@63['AnnSA']
|
classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
valueArguments(ValueParameterDescriptorImpl@64['sa']) = null
|
classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
|
memberIndex = computeMemberIndex$1@130 // through LazyPackageFragmentScopeForJavaPackage@116
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyJavaPackageFragmentProvider@65 {
|
LazyJavaPackageFragment@14['internal'] {
|
||||||
packageFragments('<root>': FqName@66) = LazyJavaPackageFragment@67['<root>']
|
classes('Intrinsic': Name@131) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@132
|
||||||
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@67['<root>'] {
|
LazyJavaPackageFragment@96['io'] {
|
||||||
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@126
|
classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@126
|
deserializedPackageScope = DeserializedPackageMemberScope@134 // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
functions('foo': Name@132) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
|
functions('array': Name@121) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
functions('intArray': Name@136) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@126
|
functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
memberIndex = computeMemberIndex$1@140 // through LazyPackageFragmentScopeForJavaPackage@126
|
functions('foo': Name@122) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
|
functions('intArray': Name@126) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
|
memberIndex = computeMemberIndex$1@135 // through LazyPackageFragmentScopeForJavaPackage@133
|
||||||
|
membersProtos = LinkedHashMap@136 // through DeserializedPackageMemberScope@134
|
||||||
|
properties('MyClass': Name@119) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('array': Name@121) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('foo': Name@122) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('i': Name@123) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('i2': Name@124) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('ia': Name@125) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('intArray': Name@126) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
|
properties('sa': Name@127) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyJavaPackageFragment@15['internal'] {
|
LazyJavaPackageFragment@77['java'] {
|
||||||
classes('Intrinsic': Name@141) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@142
|
classes('lang': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@138
|
||||||
|
deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@138
|
||||||
|
functions('lang': Name@139) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@138
|
||||||
|
memberIndex = computeMemberIndex$1@140 // through LazyPackageFragmentScopeForJavaPackage@138
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyJavaPackageFragment@104['io'] {
|
LazyJavaPackageFragment@105['jvm'] {
|
||||||
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@143
|
classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
deserializedPackageScope = DeserializedPackageMemberScope@144 // through LazyPackageFragmentScopeForJavaPackage@143
|
deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
functions('MyClass': Name@129) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
|
functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
functions('array': Name@131) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
|
functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
functions('array': Name@131) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@143
|
functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
functions('foo': Name@132) = EmptyList@139[empty] // through DeserializedPackageMemberScope@144
|
memberIndex = computeMemberIndex$1@142 // through LazyPackageFragmentScopeForJavaPackage@141
|
||||||
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 = LinkedHashMap@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@83['java'] {
|
LazyJavaPackageFragment@17['kotlin'] {
|
||||||
classes('lang': Name@148) = null // through LazyPackageFragmentScopeForJavaPackage@149
|
classes('Any': Name@143) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@149
|
classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
functions('lang': Name@150) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@149
|
classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
memberIndex = computeMemberIndex$1@151 // through LazyPackageFragmentScopeForJavaPackage@149
|
classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('inline': Name@145) = DeserializedClassDescriptor@4['inline'] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('io': Name@146) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('jvm': Name@147) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
deserializedPackageScope = DeserializedPackageMemberScope@148 // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('array': Name@121) = ArrayList@149[1] { DeserializedSimpleFunctionDescriptor@150['array'] } // through DeserializedPackageMemberScope@148
|
||||||
|
functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('foo': Name@122) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('intArray': Name@126) = ArrayList@151[1] { DeserializedSimpleFunctionDescriptor@152['intArray'] } // through DeserializedPackageMemberScope@148
|
||||||
|
functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('io': Name@153) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
functions('io': Name@153) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
functions('jvm': Name@154) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
functions('jvm': Name@154) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
memberIndex = computeMemberIndex$1@155 // through LazyPackageFragmentScopeForJavaPackage@144
|
||||||
|
membersProtos = LinkedHashMap@156 // through DeserializedPackageMemberScope@148
|
||||||
|
properties('MyClass': Name@119) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('array': Name@121) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('foo': Name@122) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('i': Name@123) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('i2': Name@124) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('ia': Name@125) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('intArray': Name@126) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('io': Name@153) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('jvm': Name@154) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
|
properties('sa': Name@127) = EmptyList@129[empty] // through DeserializedPackageMemberScope@148
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyJavaPackageFragment@114['jvm'] {
|
LazyJavaPackageFragment@79['lang'] {
|
||||||
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('intArray': Name@136) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
classes('sa': Name@137) = null // through LazyPackageFragmentScopeForJavaPackage@152
|
functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
deserializedPackageScope = Empty@138 // through LazyPackageFragmentScopeForJavaPackage@152
|
functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
functions('MyClass': Name@129) = EmptyList@139[empty] // through LazyPackageFragmentScopeForJavaPackage@152
|
memberIndex = computeMemberIndex$1@158 // through LazyPackageFragmentScopeForJavaPackage@157
|
||||||
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@18['kotlin'] {
|
ResolutionTaskHolder@159 {
|
||||||
classes('Any': Name@154) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = ArrayList@160[1] { ResolutionCandidate@161 }
|
||||||
classes('Array': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = ArrayList@162[1] { ResolutionCandidate@161 }
|
||||||
classes('Int': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('IntArray': Name@128) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('String': Name@130) = null // through LazyPackageFragmentScopeForJavaPackage@155
|
<name not found> = EmptyList@129[empty]
|
||||||
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 = LinkedHashMap@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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyJavaPackageFragment@85['lang'] {
|
ResolutionTaskHolder@163 {
|
||||||
classes('MyClass': Name@129) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = ArrayList@164[1] { ResolutionCandidate@165 }
|
||||||
classes('array': Name@131) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = ArrayList@166[1] { ResolutionCandidate@165 }
|
||||||
classes('foo': Name@132) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('i': Name@133) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('i2': Name@134) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = EmptyList@129[empty]
|
||||||
classes('ia': Name@135) = null // through LazyPackageFragmentScopeForJavaPackage@168
|
<name not found> = EmptyList@129[empty]
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@170 {
|
ResolutionTaskHolder@167 {
|
||||||
<name not found> = ArrayList@171[1] { ResolutionCandidate@172 }
|
<name not found> = ArrayList@168[1] { ResolutionCandidate@169 }
|
||||||
<name not found> = ArrayList@173[1] { ResolutionCandidate@172 }
|
<name not found> = ArrayList@170[1] { ResolutionCandidate@169 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@174 {
|
ResolutionTaskHolder@171 {
|
||||||
<name not found> = ArrayList@175[1] { ResolutionCandidate@176 }
|
<name not found> = ArrayList@172[1] { ResolutionCandidate@173 }
|
||||||
<name not found> = ArrayList@177[1] { ResolutionCandidate@176 }
|
<name not found> = ArrayList@174[1] { ResolutionCandidate@173 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@178 {
|
ResolutionTaskHolder@175 {
|
||||||
<name not found> = ArrayList@179[1] { ResolutionCandidate@180 }
|
<name not found> = ArrayList@176[1] { ResolutionCandidate@177 }
|
||||||
<name not found> = ArrayList@181[1] { ResolutionCandidate@180 }
|
<name not found> = ArrayList@178[1] { ResolutionCandidate@177 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@182 {
|
ResolutionTaskHolder@179 {
|
||||||
<name not found> = ArrayList@183[1] { ResolutionCandidate@184 }
|
<name not found> = ArrayList@180[1] { ResolutionCandidate@181 }
|
||||||
<name not found> = ArrayList@185[1] { ResolutionCandidate@184 }
|
<name not found> = ArrayList@182[1] { ResolutionCandidate@181 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@186 {
|
ResolutionTaskHolder@183 {
|
||||||
<name not found> = ArrayList@187[1] { ResolutionCandidate@188 }
|
<name not found> = ArrayList@184[1] { ResolutionCandidate@185 }
|
||||||
<name not found> = ArrayList@189[1] { ResolutionCandidate@188 }
|
<name not found> = ArrayList@186[1] { ResolutionCandidate@185 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@190 {
|
ResolutionTaskHolder@187 {
|
||||||
<name not found> = ArrayList@191[1] { ResolutionCandidate@192 }
|
<name not found> = ArrayList@188[1] { ResolutionCandidate@189 }
|
||||||
<name not found> = ArrayList@193[1] { ResolutionCandidate@192 }
|
<name not found> = ArrayList@190[1] { ResolutionCandidate@189 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@194 {
|
ResolutionTaskHolder@191 {
|
||||||
<name not found> = ArrayList@195[1] { ResolutionCandidate@196 }
|
<name not found> = ArrayList@192[1] { ResolutionCandidate@193 }
|
||||||
<name not found> = ArrayList@197[1] { ResolutionCandidate@196 }
|
<name not found> = ArrayList@194[1] { ResolutionCandidate@193 }
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
<name not found> = EmptyList@139[empty]
|
<name not found> = EmptyList@129[empty]
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@198 {
|
ResolutionTaskHolder@195 {
|
||||||
<name not found> = ArrayList@199[1] { ResolutionCandidate@200 }
|
<name not found> = ArrayList@196[1] { ResolutionCandidate@197 }
|
||||||
<name not found> = ArrayList@201[1] { ResolutionCandidate@200 }
|
<name not found> = ArrayList@198[1] { ResolutionCandidate@197 }
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@202 {
|
ResolutionTaskHolder@199 {
|
||||||
<name not found> = ArrayList@203[1] { ResolutionCandidate@204 }
|
<name not found> = ArrayList@200[1] { ResolutionCandidate@201 }
|
||||||
<name not found> = ArrayList@205[1] { ResolutionCandidate@204 }
|
<name not found> = ArrayList@202[1] { ResolutionCandidate@201 }
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@206 {
|
ResolutionTaskHolder@203 {
|
||||||
<name not found> = ArrayList@207[1] { ResolutionCandidate@208 }
|
<name not found> = ArrayList@204[1] { ResolutionCandidate@205 }
|
||||||
<name not found> = ArrayList@209[1] { ResolutionCandidate@208 }
|
<name not found> = ArrayList@206[1] { ResolutionCandidate@205 }
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@210 {
|
ResolutionTaskHolder@207 {
|
||||||
<name not found> = ArrayList@211[1] { ResolutionCandidate@212 }
|
<name not found> = ArrayList@208[1] { ResolutionCandidate@209 }
|
||||||
<name not found> = ArrayList@213[1] { ResolutionCandidate@212 }
|
<name not found> = ArrayList@210[1] { ResolutionCandidate@209 }
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
<name not found> = EmptyList@139[empty]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@214 {
|
ResolutionTaskHolder@211 {
|
||||||
<name not found> = ArrayList@215[1] { ResolutionCandidate@216 }
|
<name not found> = ArrayList@212[1] { ResolutionCandidate@213 }
|
||||||
<name not found> = ArrayList@217[1] { ResolutionCandidate@216 }
|
<name not found> = ArrayList@214[1] { ResolutionCandidate@213 }
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@218 {
|
ResolutionTaskHolder@215 {
|
||||||
<name not found> = ArrayList@219[1] { ResolutionCandidate@220 }
|
<name not found> = ArrayList@216[1] { ResolutionCandidate@217 }
|
||||||
<name not found> = ArrayList@221[1] { ResolutionCandidate@220 }
|
<name not found> = ArrayList@218[1] { ResolutionCandidate@217 }
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@222 {
|
ResolutionTaskHolder@219 {
|
||||||
<name not found> = ArrayList@223[1] { ResolutionCandidate@224 }
|
<name not found> = ArrayList@220[1] { ResolutionCandidate@221 }
|
||||||
<name not found> = ArrayList@225[1] { ResolutionCandidate@224 }
|
<name not found> = ArrayList@222[1] { ResolutionCandidate@221 }
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@226 {
|
TypeDeserializer@223 {
|
||||||
<name not found> = ArrayList@227[1] { ResolutionCandidate@228 }
|
classDescriptors('27': Integer@224) = DeserializedClassDescriptor@225['Int']
|
||||||
<name not found> = ArrayList@229[1] { ResolutionCandidate@228 }
|
classDescriptors('28': Integer@226) = DeserializedClassDescriptor@227['IntArray']
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolutionTaskHolder@230 {
|
TypeDeserializer@228 {
|
||||||
<name not found> = ArrayList@231[1] { ResolutionCandidate@232 }
|
classDescriptors('8': Integer@229) = DeserializedClassDescriptor@230['Array']
|
||||||
<name not found> = ArrayList@233[1] { ResolutionCandidate@232 }
|
classDescriptors('9': Integer@231) = DeserializedClassDescriptor@232['Any']
|
||||||
}
|
|
||||||
|
|
||||||
ResolutionTaskHolder@234 {
|
|
||||||
<name not found> = ArrayList@235[1] { ResolutionCandidate@236 }
|
|
||||||
<name not found> = ArrayList@237[1] { ResolutionCandidate@236 }
|
|
||||||
}
|
|
||||||
|
|
||||||
ResolutionTaskHolder@238 {
|
|
||||||
<name not found> = ArrayList@239[1] { ResolutionCandidate@240 }
|
|
||||||
<name not found> = ArrayList@241[1] { ResolutionCandidate@240 }
|
|
||||||
}
|
|
||||||
|
|
||||||
ResolutionTaskHolder@242 {
|
|
||||||
<name not found> = ArrayList@243[1] { ResolutionCandidate@244 }
|
|
||||||
<name not found> = ArrayList@245[1] { ResolutionCandidate@244 }
|
|
||||||
}
|
|
||||||
|
|
||||||
TypeDeserializer@246 {
|
|
||||||
classDescriptors('27': Integer@247) = DeserializedClassDescriptor@248['Int']
|
|
||||||
classDescriptors('28': Integer@249) = DeserializedClassDescriptor@250['IntArray']
|
|
||||||
}
|
|
||||||
|
|
||||||
TypeDeserializer@251 {
|
|
||||||
classDescriptors('8': Integer@252) = DeserializedClassDescriptor@253['Array']
|
|
||||||
classDescriptors('9': Integer@254) = DeserializedClassDescriptor@255['Any']
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-17
@@ -45,23 +45,7 @@ internal final class MyClass {
|
|||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
|
|
||||||
internal object O {
|
Ann(i = 1: kotlin.Int) Ann() Ann() AnnIA() AnnSA() internal final class Test {
|
||||||
private constructor O()
|
|
||||||
internal final val i: kotlin.Int = 1
|
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
||||||
|
|
||||||
public class object <class-object-for-O> : O {
|
|
||||||
private constructor <class-object-for-O>()
|
|
||||||
internal final override /*1*/ /*fake_override*/ val i: kotlin.Int
|
|
||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
|
||||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Ann(i = 1: kotlin.Int) Ann(i = 1: kotlin.Int) Ann() Ann() AnnIA() AnnSA() internal final class Test {
|
|
||||||
public constructor Test()
|
public constructor Test()
|
||||||
internal final val i: kotlin.Int = 1
|
internal final val i: kotlin.Int = 1
|
||||||
Ann(i = 1: kotlin.Int) internal final val i2: kotlin.Int = 1
|
Ann(i = 1: kotlin.Int) internal final val i2: kotlin.Int = 1
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
// val prop1: 1
|
||||||
|
val prop1 = A.a
|
||||||
|
|
||||||
|
// val prop2: 2
|
||||||
|
val prop2 = A.a + 1
|
||||||
|
|
||||||
|
object A {
|
||||||
|
val a = 1
|
||||||
|
|
||||||
|
// val prop3: 1
|
||||||
|
val prop3 = A.a
|
||||||
|
|
||||||
|
|
||||||
|
// val prop4: 2
|
||||||
|
val prop4 = A.a + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
fun foo() {
|
||||||
|
// val prop5: 1
|
||||||
|
val prop5 = A.a
|
||||||
|
|
||||||
|
// val prop6: 2
|
||||||
|
val prop6 = A.a + 1
|
||||||
|
|
||||||
|
val b = {
|
||||||
|
// val prop11: 1
|
||||||
|
val prop11 = A.a
|
||||||
|
|
||||||
|
// val prop12: 2
|
||||||
|
val prop12 = A.a + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
val c = object: Foo {
|
||||||
|
override fun f() {
|
||||||
|
// val prop9: 1
|
||||||
|
val prop9 = A.a
|
||||||
|
|
||||||
|
// val prop10: 2
|
||||||
|
val prop10 = A.a + 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
trait Foo {
|
||||||
|
fun f()
|
||||||
|
}
|
||||||
@@ -458,6 +458,12 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
|||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/staticFields/classObjectSyntheticAccessor.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/staticFields/classObjectSyntheticAccessor.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("object.kt")
|
||||||
|
public void testObject() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/staticFields/object.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/bytecodeText/storeStackBeforeInline")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/storeStackBeforeInline")
|
||||||
|
|||||||
+21
-9
@@ -6173,21 +6173,33 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/staticFields"), Pattern.compile("^(.+)\\.kt$"), true);
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/staticFields"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("classObjectAnonymousInitializer.kt")
|
@TestMetadata("anonymousInitializerIObject.kt")
|
||||||
public void testClassObjectAnonymousInitializer() throws Exception {
|
public void testAnonymousInitializerIObject() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/classObjectAnonymousInitializer.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/anonymousInitializerIObject.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("classObjectInc.kt")
|
@TestMetadata("anonymousInitializerInClassObject.kt")
|
||||||
public void testClassObjectInc() throws Exception {
|
public void testAnonymousInitializerInClassObject() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/classObjectInc.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/anonymousInitializerInClassObject.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("objectInc.kt")
|
@TestMetadata("incInClassObject.kt")
|
||||||
public void testObjectInc() throws Exception {
|
public void testIncInClassObject() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/objectInc.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/incInClassObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("incInObject.kt")
|
||||||
|
public void testIncInObject() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/incInObject.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("syntheticAccessor.kt")
|
||||||
|
public void testSyntheticAccessor() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/syntheticAccessor.kt");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,6 +123,12 @@ public class EvaluateExpressionTestGenerated extends AbstractEvaluateExpressionT
|
|||||||
doConstantTest(fileName);
|
doConstantTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("objectProperty.kt")
|
||||||
|
public void testObjectProperty() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/evaluate/constant/objectProperty.kt");
|
||||||
|
doConstantTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("strings.kt")
|
@TestMetadata("strings.kt")
|
||||||
public void testStrings() throws Exception {
|
public void testStrings() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/evaluate/constant/strings.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/evaluate/constant/strings.kt");
|
||||||
|
|||||||
@@ -201,9 +201,9 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("objectValChanged")
|
@TestMetadata("objectConstantChanged")
|
||||||
public void testObjectValChanged() throws Exception {
|
public void testObjectConstantChanged() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/objectValChanged/");
|
String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Object.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Object.class
|
||||||
|
out/production/module/test/Usage.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
src/usage.kt
|
||||||
|
End of files
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
object Object {
|
||||||
|
val CONST = "old"
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
object Object {
|
||||||
|
val CONST = "new"
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package test
|
||||||
|
|
||||||
|
deprecated(Object.CONST + Object.CONST)
|
||||||
|
class Usage
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Cleaning output files:
|
|
||||||
out/production/module/test/Object.class
|
|
||||||
End of files
|
|
||||||
Compiling files:
|
|
||||||
src/const.kt
|
|
||||||
End of files
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package test
|
|
||||||
|
|
||||||
object Object {
|
|
||||||
// Value is changed, but we don't care, it is not compile-time constant, and therefore can't be inlined
|
|
||||||
val CONST = "old"
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package test
|
|
||||||
|
|
||||||
object Object {
|
|
||||||
// Value is changed, but we don't care, it is not compile-time constant, and therefore can't be inlined
|
|
||||||
val CONST = "new"
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
package test
|
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
|
||||||
val x = Object.CONST + Object.CONST
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user