diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt index 5d6c93812f7..aa70108b102 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt @@ -280,7 +280,6 @@ internal fun SymbolLightClassBase.createPropertyAccessors( suppressStatic: Boolean = false, ) { if (declaration is KtKotlinPropertySymbol && declaration.isConst) return - if (declaration.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED) return if (declaration.name.isSpecial) return if (declaration.visibility.isPrivateOrPrivateToThis() && diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt index 794fe21d117..16c004a6c95 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt @@ -24,10 +24,6 @@ import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.* -import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations -import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation -import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation -import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmStaticAnnotation import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase import org.jetbrains.kotlin.light.classes.symbol.modifierLists.LazyModifiersBox import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList @@ -185,7 +181,7 @@ internal class SymbolLightAccessorMethod private constructor( val isStatic = if (suppressStatic) { false } else { - isTopLevel || hasJvmStaticAnnotation() + isTopLevel || isStatic() } mapOf(modifier to isStatic) @@ -195,8 +191,10 @@ internal class SymbolLightAccessorMethod private constructor( } } - private fun hasJvmStaticAnnotation(): Boolean = analyzeForLightClasses(ktModule) { - propertySymbol().hasJvmStaticAnnotation(accessorSite, strictUseSite = false) || + private fun isStatic(): Boolean = analyzeForLightClasses(ktModule) { + val propertySymbol = propertySymbol() + propertySymbol.isStatic || + propertySymbol.hasJvmStaticAnnotation(accessorSite, strictUseSite = false) || propertyAccessorSymbol().hasJvmStaticAnnotation(accessorSite, strictUseSite = false) } diff --git a/compiler/testData/asJava/lightClasses/AnnotatedParameterInEnumConstructor.fir.java b/compiler/testData/asJava/lightClasses/AnnotatedParameterInEnumConstructor.fir.java index 4932d603ec1..b482bf351c4 100644 --- a/compiler/testData/asJava/lightClasses/AnnotatedParameterInEnumConstructor.fir.java +++ b/compiler/testData/asJava/lightClasses/AnnotatedParameterInEnumConstructor.fir.java @@ -1,6 +1,9 @@ public enum AnnotatedParameterInEnumConstructor /* test.AnnotatedParameterInEnumConstructor*/ { A; + @org.jetbrains.annotations.NotNull() + public static final kotlin.enums.EnumEntries getEntries();// getEntries() + @org.jetbrains.annotations.NotNull() public static final test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String) diff --git a/compiler/testData/asJava/lightClasses/DeprecatedEnumEntry.fir.java b/compiler/testData/asJava/lightClasses/DeprecatedEnumEntry.fir.java index ec7d398e22c..cee289585d1 100644 --- a/compiler/testData/asJava/lightClasses/DeprecatedEnumEntry.fir.java +++ b/compiler/testData/asJava/lightClasses/DeprecatedEnumEntry.fir.java @@ -3,6 +3,9 @@ public enum E /* p.E*/ { Entry2, @kotlin.Deprecated(message = "b") Entry3; + @org.jetbrains.annotations.NotNull() + public static final kotlin.enums.EnumEntries getEntries();// getEntries() + @org.jetbrains.annotations.NotNull() public static final p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String) diff --git a/compiler/testData/asJava/lightClasses/EnumClass.fir.java b/compiler/testData/asJava/lightClasses/EnumClass.fir.java index db6f1a9223c..1be88e0e8c7 100644 --- a/compiler/testData/asJava/lightClasses/EnumClass.fir.java +++ b/compiler/testData/asJava/lightClasses/EnumClass.fir.java @@ -1,6 +1,9 @@ public enum MyEnumClass /* one.MyEnumClass*/ { Entry; + @org.jetbrains.annotations.NotNull() + public static final kotlin.enums.EnumEntries getEntries();// getEntries() + @org.jetbrains.annotations.NotNull() public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String) diff --git a/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.fir.java b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.fir.java index 693a378dfa9..824a68c08b0 100644 --- a/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.fir.java +++ b/compiler/testData/asJava/lightClasses/EnumClassWithEnumEntries.fir.java @@ -1,6 +1,9 @@ public enum MyEnumClass /* one.MyEnumClass*/ { Entry; + @org.jetbrains.annotations.NotNull() + public static final kotlin.enums.EnumEntries getEntries();// getEntries() + @org.jetbrains.annotations.NotNull() public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String) diff --git a/compiler/testData/asJava/lightClasses/compilationErrors/EnumNameOverride.fir.java b/compiler/testData/asJava/lightClasses/compilationErrors/EnumNameOverride.fir.java index bd291621b08..1554002e949 100644 --- a/compiler/testData/asJava/lightClasses/compilationErrors/EnumNameOverride.fir.java +++ b/compiler/testData/asJava/lightClasses/compilationErrors/EnumNameOverride.fir.java @@ -7,6 +7,9 @@ public enum EnumNameOverride /* EnumNameOverride*/ implements Bar { @org.jetbrains.annotations.NotNull() public static final EnumNameOverride[] values();// values() + @org.jetbrains.annotations.NotNull() + public static final kotlin.enums.EnumEntries getEntries();// getEntries() + private EnumNameOverride();// .ctor() }