diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java index eabb8cf293f..e3856eb1ab1 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AsmUtil.java @@ -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) { return isClassObjectWithBackingFieldsInOuter(propertyDescriptor.getContainingDeclaration()); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index d102b7110ca..cd07d74057e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -1953,7 +1953,8 @@ public class ExpressionCodegen extends JetVisitor implem DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration(); boolean isBackingFieldInAnotherClass = AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor); - boolean isStaticBackingField = DescriptorUtils.isStaticDeclaration(propertyDescriptor) || isBackingFieldInAnotherClass; + boolean isStaticBackingField = DescriptorUtils.isStaticDeclaration(propertyDescriptor) || + AsmUtil.isInstancePropertyWithStaticBackingField(propertyDescriptor); boolean isSuper = superExpression != null; boolean isExtensionProperty = propertyDescriptor.getExtensionReceiverParameter() != null; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java index 9c8294f145d..c984bd9b970 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/PropertyCodegen.java @@ -249,17 +249,18 @@ public class PropertyCodegen { ClassBuilder builder = v; FieldOwnerContext backingFieldContext = context; - if (AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor)) { + if (AsmUtil.isInstancePropertyWithStaticBackingField(propertyDescriptor) ) { modifiers |= ACC_STATIC | getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegate); - ImplementationBodyCodegen codegen = getParentBodyCodegen(classBodyCodegen); - builder = codegen.v; - backingFieldContext = codegen.context; - v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor); - } else { - if (kind != OwnerKind.PACKAGE || isDelegate) { - modifiers |= ACC_PRIVATE; + if (AsmUtil.isPropertyWithBackingFieldInOuterClass(propertyDescriptor)) { + ImplementationBodyCodegen codegen = getParentBodyCodegen(classBodyCodegen); + builder = codegen.v; + backingFieldContext = codegen.context; + v.getSerializationBindings().put(STATIC_FIELD_IN_OUTER_CLASS, propertyDescriptor); } } + else if (kind != OwnerKind.PACKAGE || isDelegate) { + modifiers |= ACC_PRIVATE; + } if (AsmUtil.isPropertyWithBackingFieldCopyInOuterClass(propertyDescriptor)) { ImplementationBodyCodegen parentBodyCodegen = getParentBodyCodegen(classBodyCodegen); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java index 900fb193158..ccf80f0b2c3 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java @@ -1482,11 +1482,11 @@ public abstract class StackValue { } @Override - public void dup(@NotNull InstructionAdapter v, boolean withReceiver) { - if (!withReceiver) { - super.dup(v, withReceiver); + public void dup(@NotNull InstructionAdapter v, boolean withWriteReceiver) { + if (!withWriteReceiver) { + super.dup(v, withWriteReceiver); } else { - int receiverSize = hasReceiver(false) && hasReceiver(true) ? receiverSize() : 0; + int receiverSize = hasReceiver(false) ? receiverSize() : 0; switch (receiverSize) { case 0: 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 Delegated( + public DelegatedForComplexReceiver( @NotNull Type type, @NotNull StackValueWithSimpleReceiver originalValue, @NotNull StackValue receiver ) { - super(type, !originalValue.hasReceiver(true), !originalValue.hasReceiver(false), receiver); + super(type, bothReceiverStatic(originalValue), bothReceiverStatic(originalValue), receiver); this.originalValue = originalValue; } + private static boolean bothReceiverStatic(StackValueWithSimpleReceiver originalValue) { + return !(originalValue.hasReceiver(true) || originalValue.hasReceiver(false)); + } + @Override public void putSelector( @NotNull Type type, @NotNull InstructionAdapter v @@ -1605,8 +1609,8 @@ public abstract class StackValue { } @Override - public void dup(@NotNull InstructionAdapter v, boolean withReceiver) { - originalValue.dup(v, withReceiver); + public void dup(@NotNull InstructionAdapter v, boolean withWriteReceiver) { + originalValue.dup(v, withWriteReceiver); } } @@ -1616,7 +1620,7 @@ public abstract class StackValue { private static StackValue complexReceiver(StackValue stackValue, boolean ... isReadOperations) { if (stackValue instanceof StackValueWithSimpleReceiver) { - return new Delegated(stackValue.type, (StackValueWithSimpleReceiver) stackValue, + return new DelegatedForComplexReceiver(stackValue.type, (StackValueWithSimpleReceiver) stackValue, new ComplexReceiver((StackValueWithSimpleReceiver) stackValue, isReadOperations)); } else { return stackValue; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/evaluate/ConstantExpressionEvaluator.kt b/compiler/frontend/src/org/jetbrains/jet/lang/evaluate/ConstantExpressionEvaluator.kt index 1ccf55d3fa5..5ac7f5161ca 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/evaluate/ConstantExpressionEvaluator.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/evaluate/ConstantExpressionEvaluator.kt @@ -47,7 +47,9 @@ public class ConstantExpressionEvaluator private (val trace: BindingTrace) : Jet if (descriptor.isVar()) { 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() return KotlinBuiltIns.getInstance().isPrimitiveType(returnType) || KotlinBuiltIns.getInstance().getStringType() == returnType } diff --git a/compiler/testData/codegen/box/staticFields/anonymousInitializerIObject.kt b/compiler/testData/codegen/box/staticFields/anonymousInitializerIObject.kt new file mode 100644 index 00000000000..79f6112d402 --- /dev/null +++ b/compiler/testData/codegen/box/staticFields/anonymousInitializerIObject.kt @@ -0,0 +1,11 @@ +object Foo { + val bar: String + + { + bar = "OK" + } +} + +fun box(): String { + return Foo.bar +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/staticFields/classObjectAnonymousInitializer.kt b/compiler/testData/codegen/box/staticFields/anonymousInitializerInClassObject.kt similarity index 100% rename from compiler/testData/codegen/box/staticFields/classObjectAnonymousInitializer.kt rename to compiler/testData/codegen/box/staticFields/anonymousInitializerInClassObject.kt diff --git a/compiler/testData/codegen/box/staticFields/classObjectInc.kt b/compiler/testData/codegen/box/staticFields/classObjectInc.kt deleted file mode 100644 index 5607f5cdaaa..00000000000 --- a/compiler/testData/codegen/box/staticFields/classObjectInc.kt +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/compiler/testData/codegen/box/staticFields/incInClassObject.kt b/compiler/testData/codegen/box/staticFields/incInClassObject.kt new file mode 100644 index 00000000000..d902bfaf50a --- /dev/null +++ b/compiler/testData/codegen/box/staticFields/incInClassObject.kt @@ -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" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/staticFields/incInObject.kt b/compiler/testData/codegen/box/staticFields/incInObject.kt new file mode 100644 index 00000000000..126c377d05d --- /dev/null +++ b/compiler/testData/codegen/box/staticFields/incInObject.kt @@ -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" +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/staticFields/objectInc.kt b/compiler/testData/codegen/box/staticFields/objectInc.kt deleted file mode 100644 index 641cb0d8e57..00000000000 --- a/compiler/testData/codegen/box/staticFields/objectInc.kt +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/compiler/testData/codegen/box/staticFields/syntheticAccessor.kt b/compiler/testData/codegen/box/staticFields/syntheticAccessor.kt new file mode 100644 index 00000000000..2a390400701 --- /dev/null +++ b/compiler/testData/codegen/box/staticFields/syntheticAccessor.kt @@ -0,0 +1,12 @@ +object A { + private val p = "OK"; + + object B { + val z = p; + } + +} + +fun box(): String { + return A.B.z +} diff --git a/compiler/testData/codegen/bytecodeText/staticFields/object.kt b/compiler/testData/codegen/bytecodeText/staticFields/object.kt new file mode 100644 index 00000000000..07a30b494b2 --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/staticFields/object.kt @@ -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 \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.kt index 67eeb9fb992..33cd20e8a2d 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.kt @@ -3,7 +3,6 @@ annotation class AnnIA(val ia: IntArray) annotation class AnnSA(val sa: Array) Ann(MyClass().i) -Ann(O.i) Ann(i) Ann(i2) AnnIA(ia) @@ -22,10 +21,6 @@ class MyClass { val i = 1 } -object O { - val i = 1 -} - val ia: IntArray = intArray(1, 2) val sa: Array = array("a", "b") diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.lazy.log b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.lazy.log index 266e972eb18..73b3ebc379c 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.lazy.log +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.lazy.log @@ -11,449 +11,413 @@ DescriptorResolver@8 { = IntValue@9 = IntValue@10 = IntValue@11 - = IntValue@12 - = JetTypeImpl@13['Int'] - = JetTypeImpl@13['Int'] - = JetTypeImpl@13['Int'] - = JetTypeImpl@13['Int'] - = JetTypeImpl@14['Int'] + = JetTypeImpl@12['Int'] + = JetTypeImpl@12['Int'] + = JetTypeImpl@12['Int'] + = JetTypeImpl@12['Int'] = JetTypeImpl@13['Int'] = null } DeserializedClassDescriptor@2['Intrinsic'] { - containingDeclaration = LazyJavaPackageFragment@15['internal'] - defaultType = JetTypeImpl@16['Intrinsic'] - primaryConstructor = ConstructorDescriptorImpl@17[''] + containingDeclaration = LazyJavaPackageFragment@14['internal'] + defaultType = JetTypeImpl@15['Intrinsic'] + primaryConstructor = ConstructorDescriptorImpl@16[''] } DeserializedClassDescriptor@4['inline'] { - containingDeclaration = LazyJavaPackageFragment@18['kotlin'] - defaultType = JetTypeImpl@19['inline'] + containingDeclaration = LazyJavaPackageFragment@17['kotlin'] + defaultType = JetTypeImpl@18['inline'] } -DeserializedTypeParameterDescriptor@20['T'] { - typeConstructor = AbstractLazyTypeParameterDescriptor$1@21 - upperBounds = LinkedHashSet@22[1] { DeserializedType@23['kotlin.Any'] } +DeserializedTypeParameterDescriptor@19['T'] { + typeConstructor = AbstractLazyTypeParameterDescriptor$1@20 + upperBounds = LinkedHashSet@21[1] { DeserializedType@22['kotlin.Any'] } +} + +DeserializedType@23['T in kotlin'] { + constructor = AbstractLazyTypeParameterDescriptor$1@20 } DeserializedType@24['T in kotlin'] { - constructor = AbstractLazyTypeParameterDescriptor$1@21 + constructor = AbstractLazyTypeParameterDescriptor$1@20 } DeserializedType@25['T in kotlin'] { - constructor = AbstractLazyTypeParameterDescriptor$1@21 + constructor = AbstractLazyTypeParameterDescriptor$1@20 } -DeserializedType@26['T in kotlin'] { - constructor = AbstractLazyTypeParameterDescriptor$1@21 +DeserializedType@22['kotlin.Any'] { + constructor = DeserializedClassTypeConstructor@26 + memberScope = DeserializedClassMemberScope@27 } -DeserializedType@23['kotlin.Any'] { - constructor = DeserializedClassTypeConstructor@27 - memberScope = DeserializedClassMemberScope@28 +DeserializedType@28['kotlin.Array'] { + constructor = DeserializedClassTypeConstructor@29 + memberScope = SubstitutingScope@30 } -DeserializedType@29['kotlin.Array'] { - constructor = DeserializedClassTypeConstructor@30 - memberScope = SubstitutingScope@31 +DeserializedType@31['kotlin.Array'] { + constructor = DeserializedClassTypeConstructor@29 + memberScope = SubstitutingScope@32 } -DeserializedType@32['kotlin.Array'] { - constructor = DeserializedClassTypeConstructor@30 - memberScope = SubstitutingScope@33 +DeserializedType@33['kotlin.Int'] { + constructor = DeserializedClassTypeConstructor@34 } -DeserializedType@34['kotlin.Int'] { - constructor = DeserializedClassTypeConstructor@35 +DeserializedType@35['kotlin.IntArray'] { + constructor = DeserializedClassTypeConstructor@36 } -DeserializedType@36['kotlin.IntArray'] { - constructor = DeserializedClassTypeConstructor@37 +LazyAnnotationDescriptor@37 { + resolutionResults = OverloadResolutionResultsImpl@38 + type = JetTypeImpl@39['Ann'] + valueArguments(ValueParameterDescriptorImpl@40['i']) = IntValue@41 } -LazyAnnotationDescriptor@38 { - resolutionResults = OverloadResolutionResultsImpl@39 - type = JetTypeImpl@40['Ann'] - valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@42 +LazyAnnotationDescriptor@42 { + resolutionResults = OverloadResolutionResultsImpl@43 + type = JetTypeImpl@44['Ann'] + valueArguments(ValueParameterDescriptorImpl@40['i']) = IntValue@45 } -LazyAnnotationDescriptor@43 { - resolutionResults = OverloadResolutionResultsImpl@44 - type = JetTypeImpl@45['Ann'] - valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@46 +LazyAnnotationDescriptor@46 { + resolutionResults = OverloadResolutionResultsImpl@47 + type = JetTypeImpl@48['Ann'] + valueArguments(ValueParameterDescriptorImpl@40['i']) = null } -LazyAnnotationDescriptor@47 { - resolutionResults = OverloadResolutionResultsImpl@48 - type = JetTypeImpl@49['Ann'] - valueArguments(ValueParameterDescriptorImpl@41['i']) = IntValue@50 +LazyAnnotationDescriptor@49 { + resolutionResults = OverloadResolutionResultsImpl@50 + type = JetTypeImpl@51['Ann'] + valueArguments(ValueParameterDescriptorImpl@40['i']) = null } -LazyAnnotationDescriptor@51 { - resolutionResults = OverloadResolutionResultsImpl@52 - type = JetTypeImpl@53['Ann'] - valueArguments(ValueParameterDescriptorImpl@41['i']) = null +LazyAnnotationDescriptor@52 { + resolutionResults = OverloadResolutionResultsImpl@53 + type = JetTypeImpl@54['AnnIA'] + valueArguments(ValueParameterDescriptorImpl@55['ia']) = null } -LazyAnnotationDescriptor@54 { - resolutionResults = OverloadResolutionResultsImpl@55 - type = JetTypeImpl@56['Ann'] - valueArguments(ValueParameterDescriptorImpl@41['i']) = null +LazyAnnotationDescriptor@56 { + resolutionResults = OverloadResolutionResultsImpl@57 + type = JetTypeImpl@58['AnnSA'] + valueArguments(ValueParameterDescriptorImpl@59['sa']) = null } -LazyAnnotationDescriptor@57 { - resolutionResults = OverloadResolutionResultsImpl@58 - type = JetTypeImpl@59['AnnIA'] - valueArguments(ValueParameterDescriptorImpl@60['ia']) = null +LazyJavaPackageFragmentProvider@60 { + packageFragments('': FqName@61) = LazyJavaPackageFragment@62[''] + packageFragments('Ann': FqName@63) = 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 { - resolutionResults = OverloadResolutionResultsImpl@62 - type = JetTypeImpl@63['AnnSA'] - valueArguments(ValueParameterDescriptorImpl@64['sa']) = null +LazyJavaPackageFragment@62[''] { + classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@116 + classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@116 + 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 { - packageFragments('': FqName@66) = LazyJavaPackageFragment@67[''] - 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@14['internal'] { + classes('Intrinsic': Name@131) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@132 } -LazyJavaPackageFragment@67[''] { - 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@96['io'] { + classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@133 + classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@133 + deserializedPackageScope = DeserializedPackageMemberScope@134 // through LazyPackageFragmentScopeForJavaPackage@133 + functions('MyClass': Name@119) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134 + functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133 + functions('array': Name@121) = EmptyList@129[empty] // through DeserializedPackageMemberScope@134 + functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@133 + 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'] { - classes('Intrinsic': Name@141) = DeserializedClassDescriptor@2['Intrinsic'] // through LazyPackageFragmentScopeForJavaPackage@142 +LazyJavaPackageFragment@77['java'] { + 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'] { - 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 = 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@105['jvm'] { + classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('IntArray': Name@118) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('String': Name@120) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@141 + classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@141 + deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@141 + functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141 + functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141 + functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141 + functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@141 + memberIndex = computeMemberIndex$1@142 // through LazyPackageFragmentScopeForJavaPackage@141 } -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@17['kotlin'] { + classes('Any': Name@143) = null // through LazyPackageFragmentScopeForJavaPackage@144 + classes('Array': Name@115) = null // through LazyPackageFragmentScopeForJavaPackage@144 + classes('Int': Name@117) = null // through LazyPackageFragmentScopeForJavaPackage@144 + 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'] { - 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@79['lang'] { + classes('MyClass': Name@119) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('array': Name@121) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('foo': Name@122) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('i': Name@123) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('i2': Name@124) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('ia': Name@125) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('intArray': Name@126) = null // through LazyPackageFragmentScopeForJavaPackage@157 + classes('sa': Name@127) = null // through LazyPackageFragmentScopeForJavaPackage@157 + deserializedPackageScope = Empty@128 // through LazyPackageFragmentScopeForJavaPackage@157 + functions('MyClass': Name@119) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157 + functions('array': Name@121) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157 + functions('foo': Name@122) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157 + functions('intArray': Name@126) = EmptyList@129[empty] // through LazyPackageFragmentScopeForJavaPackage@157 + memberIndex = computeMemberIndex$1@158 // through LazyPackageFragmentScopeForJavaPackage@157 } -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 = 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 +ResolutionTaskHolder@159 { + = ArrayList@160[1] { ResolutionCandidate@161 } + = ArrayList@162[1] { ResolutionCandidate@161 } + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] } -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 +ResolutionTaskHolder@163 { + = ArrayList@164[1] { ResolutionCandidate@165 } + = ArrayList@166[1] { ResolutionCandidate@165 } + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@170 { - = ArrayList@171[1] { ResolutionCandidate@172 } - = ArrayList@173[1] { ResolutionCandidate@172 } - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@167 { + = ArrayList@168[1] { ResolutionCandidate@169 } + = ArrayList@170[1] { ResolutionCandidate@169 } + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@174 { - = ArrayList@175[1] { ResolutionCandidate@176 } - = ArrayList@177[1] { ResolutionCandidate@176 } - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@171 { + = ArrayList@172[1] { ResolutionCandidate@173 } + = ArrayList@174[1] { ResolutionCandidate@173 } + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@178 { - = ArrayList@179[1] { ResolutionCandidate@180 } - = ArrayList@181[1] { ResolutionCandidate@180 } - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@175 { + = ArrayList@176[1] { ResolutionCandidate@177 } + = ArrayList@178[1] { ResolutionCandidate@177 } + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@182 { - = ArrayList@183[1] { ResolutionCandidate@184 } - = ArrayList@185[1] { ResolutionCandidate@184 } - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@179 { + = ArrayList@180[1] { ResolutionCandidate@181 } + = ArrayList@182[1] { ResolutionCandidate@181 } + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@186 { - = ArrayList@187[1] { ResolutionCandidate@188 } - = ArrayList@189[1] { ResolutionCandidate@188 } - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@183 { + = ArrayList@184[1] { ResolutionCandidate@185 } + = ArrayList@186[1] { ResolutionCandidate@185 } + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@190 { - = ArrayList@191[1] { ResolutionCandidate@192 } - = ArrayList@193[1] { ResolutionCandidate@192 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@187 { + = ArrayList@188[1] { ResolutionCandidate@189 } + = ArrayList@190[1] { ResolutionCandidate@189 } + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@194 { - = ArrayList@195[1] { ResolutionCandidate@196 } - = ArrayList@197[1] { ResolutionCandidate@196 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@191 { + = ArrayList@192[1] { ResolutionCandidate@193 } + = ArrayList@194[1] { ResolutionCandidate@193 } + = EmptyList@129[empty] + = EmptyList@129[empty] } -ResolutionTaskHolder@198 { - = ArrayList@199[1] { ResolutionCandidate@200 } - = ArrayList@201[1] { ResolutionCandidate@200 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@195 { + = ArrayList@196[1] { ResolutionCandidate@197 } + = ArrayList@198[1] { ResolutionCandidate@197 } } -ResolutionTaskHolder@202 { - = ArrayList@203[1] { ResolutionCandidate@204 } - = ArrayList@205[1] { ResolutionCandidate@204 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@199 { + = ArrayList@200[1] { ResolutionCandidate@201 } + = ArrayList@202[1] { ResolutionCandidate@201 } } -ResolutionTaskHolder@206 { - = ArrayList@207[1] { ResolutionCandidate@208 } - = ArrayList@209[1] { ResolutionCandidate@208 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@203 { + = ArrayList@204[1] { ResolutionCandidate@205 } + = ArrayList@206[1] { ResolutionCandidate@205 } } -ResolutionTaskHolder@210 { - = ArrayList@211[1] { ResolutionCandidate@212 } - = ArrayList@213[1] { ResolutionCandidate@212 } - = EmptyList@139[empty] - = EmptyList@139[empty] +ResolutionTaskHolder@207 { + = ArrayList@208[1] { ResolutionCandidate@209 } + = ArrayList@210[1] { ResolutionCandidate@209 } } -ResolutionTaskHolder@214 { - = ArrayList@215[1] { ResolutionCandidate@216 } - = ArrayList@217[1] { ResolutionCandidate@216 } +ResolutionTaskHolder@211 { + = ArrayList@212[1] { ResolutionCandidate@213 } + = ArrayList@214[1] { ResolutionCandidate@213 } } -ResolutionTaskHolder@218 { - = ArrayList@219[1] { ResolutionCandidate@220 } - = ArrayList@221[1] { ResolutionCandidate@220 } +ResolutionTaskHolder@215 { + = ArrayList@216[1] { ResolutionCandidate@217 } + = ArrayList@218[1] { ResolutionCandidate@217 } } -ResolutionTaskHolder@222 { - = ArrayList@223[1] { ResolutionCandidate@224 } - = ArrayList@225[1] { ResolutionCandidate@224 } +ResolutionTaskHolder@219 { + = ArrayList@220[1] { ResolutionCandidate@221 } + = ArrayList@222[1] { ResolutionCandidate@221 } } -ResolutionTaskHolder@226 { - = ArrayList@227[1] { ResolutionCandidate@228 } - = ArrayList@229[1] { ResolutionCandidate@228 } +TypeDeserializer@223 { + classDescriptors('27': Integer@224) = DeserializedClassDescriptor@225['Int'] + classDescriptors('28': Integer@226) = DeserializedClassDescriptor@227['IntArray'] } -ResolutionTaskHolder@230 { - = ArrayList@231[1] { ResolutionCandidate@232 } - = ArrayList@233[1] { ResolutionCandidate@232 } -} - -ResolutionTaskHolder@234 { - = ArrayList@235[1] { ResolutionCandidate@236 } - = ArrayList@237[1] { ResolutionCandidate@236 } -} - -ResolutionTaskHolder@238 { - = ArrayList@239[1] { ResolutionCandidate@240 } - = ArrayList@241[1] { ResolutionCandidate@240 } -} - -ResolutionTaskHolder@242 { - = ArrayList@243[1] { ResolutionCandidate@244 } - = 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'] +TypeDeserializer@228 { + classDescriptors('8': Integer@229) = DeserializedClassDescriptor@230['Array'] + classDescriptors('9': Integer@231) = DeserializedClassDescriptor@232['Any'] } diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.txt b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.txt index e921951124c..35f9b6c69ac 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.txt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/annotationParameterMustBeConstant/simple.txt @@ -45,23 +45,7 @@ internal final class MyClass { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } -internal object O { - 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 : O { - private constructor () - 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 { +Ann(i = 1: kotlin.Int) Ann() Ann() AnnIA() AnnSA() internal final class Test { public constructor Test() internal final val i: kotlin.Int = 1 Ann(i = 1: kotlin.Int) internal final val i2: kotlin.Int = 1 diff --git a/compiler/testData/evaluate/constant/objectProperty.kt b/compiler/testData/evaluate/constant/objectProperty.kt new file mode 100644 index 00000000000..83e55f2c15d --- /dev/null +++ b/compiler/testData/evaluate/constant/objectProperty.kt @@ -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() +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/BytecodeTextTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/BytecodeTextTestGenerated.java index e1791454970..938133a759d 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/BytecodeTextTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/BytecodeTextTestGenerated.java @@ -458,6 +458,12 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/bytecodeText/staticFields/classObjectSyntheticAccessor.kt"); 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") diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java index 464bbc105f7..6d58063946a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -6173,21 +6173,33 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/staticFields"), Pattern.compile("^(.+)\\.kt$"), true); } - @TestMetadata("classObjectAnonymousInitializer.kt") - public void testClassObjectAnonymousInitializer() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/classObjectAnonymousInitializer.kt"); + @TestMetadata("anonymousInitializerIObject.kt") + public void testAnonymousInitializerIObject() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/anonymousInitializerIObject.kt"); doTest(fileName); } - @TestMetadata("classObjectInc.kt") - public void testClassObjectInc() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/classObjectInc.kt"); + @TestMetadata("anonymousInitializerInClassObject.kt") + public void testAnonymousInitializerInClassObject() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/anonymousInitializerInClassObject.kt"); doTest(fileName); } - @TestMetadata("objectInc.kt") - public void testObjectInc() throws Exception { - String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/staticFields/objectInc.kt"); + @TestMetadata("incInClassObject.kt") + public void testIncInClassObject() throws Exception { + 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); } } diff --git a/compiler/tests/org/jetbrains/jet/evaluate/EvaluateExpressionTestGenerated.java b/compiler/tests/org/jetbrains/jet/evaluate/EvaluateExpressionTestGenerated.java index b3a3394b2d2..8fbdd49bc84 100644 --- a/compiler/tests/org/jetbrains/jet/evaluate/EvaluateExpressionTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/evaluate/EvaluateExpressionTestGenerated.java @@ -123,6 +123,12 @@ public class EvaluateExpressionTestGenerated extends AbstractEvaluateExpressionT 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") public void testStrings() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/evaluate/constant/strings.kt"); diff --git a/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java index 657bdd96262..44089d4fe3b 100644 --- a/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java @@ -201,9 +201,9 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } - @TestMetadata("objectValChanged") - public void testObjectValChanged() throws Exception { - String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/objectValChanged/"); + @TestMetadata("objectConstantChanged") + public void testObjectConstantChanged() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/"); doTest(fileName); } diff --git a/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log new file mode 100644 index 00000000000..14b397d0268 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/build.log @@ -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 \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt new file mode 100644 index 00000000000..13a01eb1ac1 --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt @@ -0,0 +1,5 @@ +package test + +object Object { + val CONST = "old" +} diff --git a/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt.new b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt.new new file mode 100644 index 00000000000..d604ca1244f --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/const.kt.new @@ -0,0 +1,5 @@ +package test + +object Object { + val CONST = "new" +} diff --git a/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/usage.kt b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/usage.kt new file mode 100644 index 00000000000..50ae79cf3fb --- /dev/null +++ b/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/usage.kt @@ -0,0 +1,4 @@ +package test + +deprecated(Object.CONST + Object.CONST) +class Usage \ No newline at end of file diff --git a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/build.log b/jps-plugin/testData/incremental/pureKotlin/objectValChanged/build.log deleted file mode 100644 index 06bb7395a25..00000000000 --- a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/build.log +++ /dev/null @@ -1,6 +0,0 @@ -Cleaning output files: -out/production/module/test/Object.class -End of files -Compiling files: -src/const.kt -End of files diff --git a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt b/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt deleted file mode 100644 index 3f27946befb..00000000000 --- a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt +++ /dev/null @@ -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" -} diff --git a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt.new b/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt.new deleted file mode 100644 index 19580fc7c09..00000000000 --- a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/const.kt.new +++ /dev/null @@ -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" -} diff --git a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/usage.kt b/jps-plugin/testData/incremental/pureKotlin/objectValChanged/usage.kt deleted file mode 100644 index 581511cf244..00000000000 --- a/jps-plugin/testData/incremental/pureKotlin/objectValChanged/usage.kt +++ /dev/null @@ -1,5 +0,0 @@ -package test - -fun main(args: Array) { - val x = Object.CONST + Object.CONST -} \ No newline at end of file