From 4693d595b7b990bd4f6d0382b5c07045ada51998 Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Wed, 19 Feb 2020 18:59:19 +0300 Subject: [PATCH] Fix UL classes tests Fixed #KT-36717 --- .../kotlin/asJava/classes/ultraLightClass.kt | 2 +- .../kotlin/asJava/classes/ultraLightField.kt | 1 + .../ideRegression/ImplementingMutableSet.java | 2 +- .../ideRegression/OverridingInternal.java | 2 +- .../inferringAnonymousObjectTypes.java | 64 ------------------- .../inferringAnonymousObjectTypes.kt | 25 -------- tests/mute-common.csv | 12 ---- 7 files changed, 4 insertions(+), 104 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightClass.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightClass.kt index f5c3f1d4224..e7163eb2b61 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightClass.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightClass.kt @@ -184,7 +184,7 @@ open class KtUltraLightClass(classOrObject: KtClassOrObject, internal val suppor membersBuilder.generateUniqueFieldName(companion.name.orEmpty(), usedNames), this, support, - setOf(PsiModifier.STATIC, PsiModifier.FINAL, PsiModifier.PUBLIC) + setOf(PsiModifier.STATIC, PsiModifier.FINAL, companion.simpleVisibility()) ) ) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightField.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightField.kt index 90cf021d452..83fb9bea55a 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightField.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/classes/ultraLightField.kt @@ -148,6 +148,7 @@ internal open class KtUltraLightFieldImpl protected constructor( private val _constantInitializer by lazyPub { if (declaration !is KtProperty) return@lazyPub null + if (!declaration.hasModifier(KtTokens.CONST_KEYWORD)) return@lazyPub null if (!declaration.hasInitializer()) return@lazyPub null if (!hasModifierProperty(PsiModifier.FINAL)) return@lazyPub null if (!TypeConversionUtil.isPrimitiveAndNotNull(_type) && !_type.equalsToText(CommonClassNames.JAVA_LANG_STRING)) return@lazyPub null diff --git a/compiler/testData/asJava/lightClasses/ideRegression/ImplementingMutableSet.java b/compiler/testData/asJava/lightClasses/ideRegression/ImplementingMutableSet.java index cc26a9733a7..e781fda14df 100644 --- a/compiler/testData/asJava/lightClasses/ideRegression/ImplementingMutableSet.java +++ b/compiler/testData/asJava/lightClasses/ideRegression/ImplementingMutableSet.java @@ -1,7 +1,7 @@ public final class SmartSet extends kotlin.collections.AbstractSet implements java.util.Set, kotlin.collections.MutableSet, kotlin.jvm.internal.markers.KMutableSet { private java.lang.Object data; private int size; - private static final int ARRAY_THRESHOLD = 5; + private static final int ARRAY_THRESHOLD; public static final SmartSet.Companion Companion; public int getSize() { /* compiled code */ } diff --git a/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.java b/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.java index f0d91e0149e..ae9fa670ff1 100644 --- a/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.java +++ b/compiler/testData/asJava/lightClasses/ideRegression/OverridingInternal.java @@ -1,5 +1,5 @@ public final class C extends p.A implements p.I { - private final int ip = 5; + private final int ip; public int getAp$light_idea_test_case() { /* compiled code */ } diff --git a/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.java b/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.java index b06fb250723..dee366e8f07 100644 --- a/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.java +++ b/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.java @@ -11,40 +11,6 @@ final class null /* null*/ { } -public final class Fun /* Fun*/ { - @null() - public Fun(); - - private final java.lang.Object someFun(); - -} - -final class null /* null*/ { - private (); - -} - -public final class ArrayOfAnonymous /* ArrayOfAnonymous*/ { - private final java.lang.Object[] a1; - - @null() - public ArrayOfAnonymous(); - - @org.jetbrains.annotations.NotNull() - public final java.lang.Object[] getA1(); - -} - -final class null /* null*/ { - private static final java.lang.String fy = "text" /* initializer type: java.lang.String */ /* constant value text */; - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getFy(); - - private (); - -} - final class C /* C*/ { private final int y; @@ -68,36 +34,6 @@ final class null /* null*/ { } -public abstract class Super /* Super*/ { - @null() - public Super(); - - @org.jetbrains.annotations.Nullable() - public abstract java.lang.Object getA(); - -} - -public final class Sub /* Sub*/ extends Super { - private final java.lang.Object[] a; - - @null() - public Sub(); - - @org.jetbrains.annotations.NotNull() - public java.lang.Object[] getA(); - -} - -final class null /* null*/ { - private static final java.lang.String fy = "text" /* initializer type: java.lang.String */ /* constant value text */; - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getFy(); - - private (); - -} - public final class ValidPublicSupertype /* ValidPublicSupertype*/ { private final java.lang.Runnable x; diff --git a/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.kt b/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.kt index 10b5d902c1f..5f295e20c9f 100644 --- a/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.kt +++ b/compiler/testData/asJava/ultraLightClasses/inferringAnonymousObjectTypes.kt @@ -2,20 +2,6 @@ class Prop { private val someProp = object { } } - - -class Fun { - private fun someFun() = object { } -} - - -class ArrayOfAnonymous { - val a1 = arrayOf( - object { val fy = "text"} - ) -} - - private class C(val y: Int) { val initChild = { -> object { @@ -27,17 +13,6 @@ private class C(val y: Int) { } -abstract class Super { - abstract val a: Any? -} - - -class Sub : Super() { - override val a = arrayOf( - object { val fy = "text"} - ) - -} class ValidPublicSupertype { val x = object : Runnable { override fun run() {} diff --git a/tests/mute-common.csv b/tests/mute-common.csv index 9c6748faa5e..faa2f87f80b 100644 --- a/tests/mute-common.csv +++ b/tests/mute-common.csv @@ -1,14 +1,4 @@ Test key, Issue, State (optional: MUTE or FAIL) -org.jetbrains.kotlin.asJava.classes.UltraLightClassLoadingTestGenerated.testAnnotations, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassLoadingTestGenerated.testInheritance, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassLoadingTestGenerated.testObjects, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassLoadingTestGenerated.testProperties, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassSanityTestGenerated.IdeRegression.testImplementingMutableSet, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassSanityTestGenerated.IdeRegression.testOverridingFinalInternal_extra, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassSanityTestGenerated.IdeRegression.testOverridingInternal_extra, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightClassSanityTestGenerated.IdeRegression.testOverridingProtected_extra, KT-36717 -org.jetbrains.kotlin.asJava.classes.UltraLightFacadeClassTestGenerated.testProperties, KT-36717 org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerTestGenerated.JavaAgainstKotlin.testExtendingMutableInterfaces, KT-34105 org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerTestGenerated.JavaAgainstKotlin.testExtendingReadOnlyInterfaces, KT-34105 org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerTestGenerated.JavaAgainstKotlin.testUsingMutableInterfaces, FLAKY ERROR: Incompatible types. Found: 'E' required: 'E' @@ -18,8 +8,6 @@ org.jetbrains.kotlin.checkers.JavaAgainstKotlinSourceCheckerWithoutUltraLightTes org.jetbrains.kotlin.gradle.GradleMultiplatformWizardTest.testWeb, KT-35095 org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testSingleAndroidTarget[1: Gradle-4.9, KotlinGradlePlugin-latest stable], Stable on windows org.jetbrains.kotlin.gradle.NewMultiplatformProjectImportingTest.testSingleAndroidTarget[3: Gradle-5.6.4, KotlinGradlePlugin-latest stable], Stable on windows -org.jetbrains.kotlin.idea.caches.resolve.IdeLightClassTestGenerated.IdeRegression.testImplementingMutableSet, KT-36717 -org.jetbrains.kotlin.idea.caches.resolve.IdeLightClassTestGenerated.IdeRegression.testOverridingInternal, KT-36717 org.jetbrains.kotlin.idea.caches.resolve.MultiPlatformHighlightingTestGenerated.testJvmKotlinReferencesCommonKotlinThroughJavaDifferentJvmImpls, Always red org.jetbrains.kotlin.idea.codeInsight.gradle.GradleBuildFileHighlightingTest.testKtsInJsProject, "Diagnostic's list should be empty" error org.jetbrains.kotlin.idea.codeInsight.gradle.GradleConfiguratorTest.testAddLibraryGSK[1: with Gradle-5.6.4], unresolved kotlinModule