[SLC] support static properties (e.g. Enum.entries)
^KT-55496 ^KTIJ-23530
This commit is contained in:
committed by
Space Team
parent
643b74fa28
commit
bb51d62e0a
-1
@@ -280,7 +280,6 @@ internal fun SymbolLightClassBase.createPropertyAccessors(
|
|||||||
suppressStatic: Boolean = false,
|
suppressStatic: Boolean = false,
|
||||||
) {
|
) {
|
||||||
if (declaration is KtKotlinPropertySymbol && declaration.isConst) return
|
if (declaration is KtKotlinPropertySymbol && declaration.isConst) return
|
||||||
if (declaration.origin == KtSymbolOrigin.SOURCE_MEMBER_GENERATED) return
|
|
||||||
if (declaration.name.isSpecial) return
|
if (declaration.name.isSpecial) return
|
||||||
|
|
||||||
if (declaration.visibility.isPrivateOrPrivateToThis() &&
|
if (declaration.visibility.isPrivateOrPrivateToThis() &&
|
||||||
|
|||||||
+5
-7
@@ -24,10 +24,6 @@ import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier
|
|||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.*
|
import org.jetbrains.kotlin.light.classes.symbol.*
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.annotations.*
|
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.classes.SymbolLightClassBase
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.LazyModifiersBox
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.LazyModifiersBox
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
|
||||||
@@ -185,7 +181,7 @@ internal class SymbolLightAccessorMethod private constructor(
|
|||||||
val isStatic = if (suppressStatic) {
|
val isStatic = if (suppressStatic) {
|
||||||
false
|
false
|
||||||
} else {
|
} else {
|
||||||
isTopLevel || hasJvmStaticAnnotation()
|
isTopLevel || isStatic()
|
||||||
}
|
}
|
||||||
|
|
||||||
mapOf(modifier to isStatic)
|
mapOf(modifier to isStatic)
|
||||||
@@ -195,8 +191,10 @@ internal class SymbolLightAccessorMethod private constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun hasJvmStaticAnnotation(): Boolean = analyzeForLightClasses(ktModule) {
|
private fun isStatic(): Boolean = analyzeForLightClasses(ktModule) {
|
||||||
propertySymbol().hasJvmStaticAnnotation(accessorSite, strictUseSite = false) ||
|
val propertySymbol = propertySymbol()
|
||||||
|
propertySymbol.isStatic ||
|
||||||
|
propertySymbol.hasJvmStaticAnnotation(accessorSite, strictUseSite = false) ||
|
||||||
propertyAccessorSymbol().hasJvmStaticAnnotation(accessorSite, strictUseSite = false)
|
propertyAccessorSymbol().hasJvmStaticAnnotation(accessorSite, strictUseSite = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
@@ -1,6 +1,9 @@
|
|||||||
public enum AnnotatedParameterInEnumConstructor /* test.AnnotatedParameterInEnumConstructor*/ {
|
public enum AnnotatedParameterInEnumConstructor /* test.AnnotatedParameterInEnumConstructor*/ {
|
||||||
A;
|
A;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final kotlin.enums.EnumEntries<test.AnnotatedParameterInEnumConstructor> getEntries();// getEntries()
|
||||||
|
|
||||||
@org.jetbrains.annotations.NotNull()
|
@org.jetbrains.annotations.NotNull()
|
||||||
public static final test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
public static final test.AnnotatedParameterInEnumConstructor valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ public enum E /* p.E*/ {
|
|||||||
Entry2,
|
Entry2,
|
||||||
@kotlin.Deprecated(message = "b") Entry3;
|
@kotlin.Deprecated(message = "b") Entry3;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final kotlin.enums.EnumEntries<p.E> getEntries();// getEntries()
|
||||||
|
|
||||||
@org.jetbrains.annotations.NotNull()
|
@org.jetbrains.annotations.NotNull()
|
||||||
public static final p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
public static final p.E valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
public enum MyEnumClass /* one.MyEnumClass*/ {
|
public enum MyEnumClass /* one.MyEnumClass*/ {
|
||||||
Entry;
|
Entry;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final kotlin.enums.EnumEntries<one.MyEnumClass> getEntries();// getEntries()
|
||||||
|
|
||||||
@org.jetbrains.annotations.NotNull()
|
@org.jetbrains.annotations.NotNull()
|
||||||
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
public enum MyEnumClass /* one.MyEnumClass*/ {
|
public enum MyEnumClass /* one.MyEnumClass*/ {
|
||||||
Entry;
|
Entry;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final kotlin.enums.EnumEntries<one.MyEnumClass> getEntries();// getEntries()
|
||||||
|
|
||||||
@org.jetbrains.annotations.NotNull()
|
@org.jetbrains.annotations.NotNull()
|
||||||
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
public static final one.MyEnumClass valueOf(java.lang.String) throws java.lang.IllegalArgumentException, java.lang.NullPointerException;// valueOf(java.lang.String)
|
||||||
|
|
||||||
|
|||||||
+3
@@ -7,6 +7,9 @@ public enum EnumNameOverride /* EnumNameOverride*/ implements Bar {
|
|||||||
@org.jetbrains.annotations.NotNull()
|
@org.jetbrains.annotations.NotNull()
|
||||||
public static final EnumNameOverride[] values();// values()
|
public static final EnumNameOverride[] values();// values()
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final kotlin.enums.EnumEntries<EnumNameOverride> getEntries();// getEntries()
|
||||||
|
|
||||||
private EnumNameOverride();// .ctor()
|
private EnumNameOverride();// .ctor()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user