[SLC] fix visibility for lateinit properties from companion
^KTIJ-23519 Fixed
This commit is contained in:
committed by
Space Team
parent
7bfa900ce6
commit
e2082fb0d7
+2
-1
@@ -76,6 +76,7 @@ abstract class SymbolLightClassForNamedClassLike : SymbolLightClassForClassLike<
|
|||||||
private val KtPropertySymbol.isConstOrJvmField: Boolean get() = isConst || hasJvmFieldAnnotation()
|
private val KtPropertySymbol.isConstOrJvmField: Boolean get() = isConst || hasJvmFieldAnnotation()
|
||||||
|
|
||||||
private val KtPropertySymbol.isConst: Boolean get() = (this as? KtKotlinPropertySymbol)?.isConst == true
|
private val KtPropertySymbol.isConst: Boolean get() = (this as? KtKotlinPropertySymbol)?.isConst == true
|
||||||
|
private val KtPropertySymbol.isLateInit: Boolean get() = (this as? KtKotlinPropertySymbol)?.isLateInit == true
|
||||||
|
|
||||||
context(KtAnalysisSession)
|
context(KtAnalysisSession)
|
||||||
protected fun addFieldsFromCompanionIfNeeded(
|
protected fun addFieldsFromCompanionIfNeeded(
|
||||||
@@ -98,7 +99,7 @@ abstract class SymbolLightClassForNamedClassLike : SymbolLightClassForClassLike<
|
|||||||
lightMemberOrigin = null,
|
lightMemberOrigin = null,
|
||||||
isTopLevel = false,
|
isTopLevel = false,
|
||||||
forceStatic = true,
|
forceStatic = true,
|
||||||
takePropertyVisibility = it.isConstOrJvmField,
|
takePropertyVisibility = it.isConstOrJvmField || it.isLateInit,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -186,6 +186,12 @@ public class SymbolLightClassesLoadingForLibraryTestGenerated extends AbstractSy
|
|||||||
runTest("compiler/testData/asJava/ultraLightClasses/jvmWildcardAnnotations.kt");
|
runTest("compiler/testData/asJava/ultraLightClasses/jvmWildcardAnnotations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("LateinitProperties.kt")
|
||||||
|
public void testLateinitProperties() throws Exception {
|
||||||
|
runTest("compiler/testData/asJava/ultraLightClasses/LateinitProperties.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("lateinitProperty.kt")
|
@TestMetadata("lateinitProperty.kt")
|
||||||
public void testLateinitProperty() throws Exception {
|
public void testLateinitProperty() throws Exception {
|
||||||
|
|||||||
+6
@@ -186,6 +186,12 @@ public class SymbolLightClassesLoadingForSourceTestGenerated extends AbstractSym
|
|||||||
runTest("compiler/testData/asJava/ultraLightClasses/jvmWildcardAnnotations.kt");
|
runTest("compiler/testData/asJava/ultraLightClasses/jvmWildcardAnnotations.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("LateinitProperties.kt")
|
||||||
|
public void testLateinitProperties() throws Exception {
|
||||||
|
runTest("compiler/testData/asJava/ultraLightClasses/LateinitProperties.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("lateinitProperty.kt")
|
@TestMetadata("lateinitProperty.kt")
|
||||||
public void testLateinitProperty() throws Exception {
|
public void testLateinitProperty() throws Exception {
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
public final class KotlinClass /* KotlinClass*/ {
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
public static Custom companionLateinitStaticVariable;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final KotlinClass.Companion Companion;
|
||||||
|
|
||||||
|
public Custom classLateinitVariable;
|
||||||
|
|
||||||
|
public static Custom companionLateinitVariable;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getClassLateinitVariable();// getClassLateinitVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
public KotlinClass();// .ctor()
|
||||||
|
|
||||||
|
public final void setClassLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setClassLateinitVariable(Custom)
|
||||||
|
|
||||||
|
public static final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
|
||||||
|
class Companion ...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class Companion /* KotlinClass.Companion*/ {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitVariable();// getCompanionLateinitVariable()
|
||||||
|
|
||||||
|
private Companion();// .ctor()
|
||||||
|
|
||||||
|
public final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
public final void setCompanionLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitVariable(Custom)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract class AbstractKotlinClass /* AbstractKotlinClass*/ {
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
public static Custom companionLateinitStaticVariable;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final AbstractKotlinClass.Companion Companion;
|
||||||
|
|
||||||
|
public Custom classLateinitVariable;
|
||||||
|
|
||||||
|
public static Custom companionLateinitVariable;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getClassLateinitVariable();// getClassLateinitVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
public AbstractKotlinClass();// .ctor()
|
||||||
|
|
||||||
|
public final void setClassLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setClassLateinitVariable(Custom)
|
||||||
|
|
||||||
|
public static final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
|
||||||
|
class Companion ...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class Companion /* AbstractKotlinClass.Companion*/ {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitVariable();// getCompanionLateinitVariable()
|
||||||
|
|
||||||
|
private Companion();// .ctor()
|
||||||
|
|
||||||
|
public final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
public final void setCompanionLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitVariable(Custom)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class Custom /* Custom*/ {
|
||||||
|
public Custom();// .ctor()
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
class KotlinClass {
|
||||||
|
lateinit var classLateinitVariable: Custom
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
lateinit var companionLateinitVariable: Custom
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
lateinit var companionLateinitStaticVariable: Custom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractKotlinClass {
|
||||||
|
lateinit var classLateinitVariable: Custom
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
lateinit var companionLateinitVariable: Custom
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
lateinit var companionLateinitStaticVariable: Custom
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lateinit var topLevelLateinit: Custom
|
||||||
|
|
||||||
|
class Custom
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
public final class KotlinClass /* KotlinClass*/ {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final KotlinClass.Companion Companion;
|
||||||
|
|
||||||
|
public Custom classLateinitVariable;
|
||||||
|
|
||||||
|
public static Custom companionLateinitStaticVariable;
|
||||||
|
|
||||||
|
public static Custom companionLateinitVariable;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getClassLateinitVariable();// getClassLateinitVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
public KotlinClass();// .ctor()
|
||||||
|
|
||||||
|
public final void setClassLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setClassLateinitVariable(Custom)
|
||||||
|
|
||||||
|
public static final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
|
||||||
|
class Companion ...
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class Companion /* KotlinClass.Companion*/ {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitStaticVariable();// getCompanionLateinitStaticVariable()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final Custom getCompanionLateinitVariable();// getCompanionLateinitVariable()
|
||||||
|
|
||||||
|
private Companion();// .ctor()
|
||||||
|
|
||||||
|
public final void setCompanionLateinitStaticVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitStaticVariable(Custom)
|
||||||
|
|
||||||
|
public final void setCompanionLateinitVariable(@org.jetbrains.annotations.NotNull() Custom);// setCompanionLateinitVariable(Custom)
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user