KT-56457 Annotate Enum.entries with @NotNull
This commit is contained in:
committed by
Space Team
parent
88b07f5287
commit
4c7f8ba196
+9
-3
@@ -74,7 +74,7 @@ class FunctionCodegen(private val irFunction: IrFunction, private val classCodeg
|
||||
generateParameterNames(irFunction, methodVisitor, context.state)
|
||||
}
|
||||
|
||||
if (irFunction.origin !in methodOriginsWithoutAnnotations) {
|
||||
if (irFunction.isWithAnnotations) {
|
||||
val skipNullabilityAnnotations = flags and Opcodes.ACC_PRIVATE != 0 || flags and Opcodes.ACC_SYNTHETIC != 0
|
||||
object : AnnotationCodegen(classCodegen, skipNullabilityAnnotations) {
|
||||
override fun visitAnnotation(descr: String, visible: Boolean): AnnotationVisitor {
|
||||
@@ -306,13 +306,12 @@ class FunctionCodegen(private val irFunction: IrFunction, private val classCodeg
|
||||
}
|
||||
|
||||
companion object {
|
||||
internal val methodOriginsWithoutAnnotations =
|
||||
private val methodOriginsWithoutAnnotations =
|
||||
setOf(
|
||||
// Not generating parameter annotations for default stubs fixes KT-7892, though
|
||||
// this certainly looks like a workaround for a javac bug.
|
||||
IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER,
|
||||
JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR,
|
||||
IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER,
|
||||
IrDeclarationOrigin.GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER,
|
||||
IrDeclarationOrigin.BRIDGE,
|
||||
IrDeclarationOrigin.BRIDGE_SPECIAL,
|
||||
@@ -321,6 +320,13 @@ class FunctionCodegen(private val irFunction: IrFunction, private val classCodeg
|
||||
IrDeclarationOrigin.IR_BUILTINS_STUB,
|
||||
IrDeclarationOrigin.PROPERTY_DELEGATE,
|
||||
)
|
||||
|
||||
private val IrFunction.isWithAnnotations: Boolean
|
||||
get() = when (origin) {
|
||||
in methodOriginsWithoutAnnotations -> false
|
||||
IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER -> name.asString() == "<get-entries>"
|
||||
else -> true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public final enum class E {
|
||||
private synthetic final static method $values(): E[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): E
|
||||
public static method values(): E[]
|
||||
}
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public final enum class E {
|
||||
private synthetic final static method $values(): E[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): E
|
||||
public static method values(): E[]
|
||||
}
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ public final enum class E {
|
||||
private synthetic final static method $values(): E[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): E
|
||||
public static method values(): E[]
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -29,7 +29,7 @@ public final enum class E {
|
||||
private synthetic final static method $values(): E[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): E
|
||||
public static method values(): E[]
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -17,7 +17,7 @@ public final enum class E {
|
||||
private synthetic final static method $values(): E[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): E
|
||||
public static method values(): E[]
|
||||
public final inner class E$Companion
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ public final enum class Test {
|
||||
private synthetic final static method $values(): Test[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): Test
|
||||
public static method values(): Test[]
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public final enum class SimpleEnum {
|
||||
private synthetic final static method $values(): SimpleEnum[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): SimpleEnum
|
||||
public static method values(): SimpleEnum[]
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public final enum class WithAnnotations {
|
||||
private synthetic final static method $values(): WithAnnotations[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): WithAnnotations
|
||||
public static method values(): WithAnnotations[]
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public final enum class WithConstructor {
|
||||
private synthetic final static method $values(): WithConstructor[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int, p2: java.lang.String): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public final @org.jetbrains.annotations.NotNull method getX(): java.lang.String
|
||||
public static method valueOf(p0: java.lang.String): WithConstructor
|
||||
public static method values(): WithConstructor[]
|
||||
@@ -77,7 +77,7 @@ public abstract enum class WithEntryClass {
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public synthetic method <init>(p0: java.lang.String, p1: int, p2: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||
public abstract method foo(): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): WithEntryClass
|
||||
public static method values(): WithEntryClass[]
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ public final enum class Enum {
|
||||
private synthetic final static method $values(): Enum[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): Enum
|
||||
public static method values(): Enum[]
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ final enum class TraceTest$Status {
|
||||
private synthetic final static method $values(): TraceTest$Status[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): TraceTest$Status
|
||||
public static method values(): TraceTest$Status[]
|
||||
private final inner class TraceTest$Status
|
||||
|
||||
@@ -5,7 +5,7 @@ public final enum class test/E {
|
||||
public final enum static field B: test.E
|
||||
public static method values(): test.E[]
|
||||
public static method valueOf(p0: java.lang.String): test.E
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
}
|
||||
@kotlin.Metadata
|
||||
public final class test/Test {
|
||||
|
||||
@@ -5,7 +5,7 @@ public final enum class test/E {
|
||||
public final enum static field B: test.E
|
||||
public static method values(): test.E[]
|
||||
public static method valueOf(p0: java.lang.String): test.E
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
}
|
||||
@kotlin.Metadata
|
||||
public synthetic final class test/Test$WhenMappings {
|
||||
|
||||
@@ -11,6 +11,7 @@ public enum E {
|
||||
public final void b() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<E> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -50,6 +51,7 @@ public enum E2 {
|
||||
|
||||
public abstract void a();
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<E2> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -73,6 +75,7 @@ public enum E3 {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<E3> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -110,6 +113,7 @@ public enum E4 {
|
||||
return false;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<E4> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ public enum Colors {
|
||||
Colors() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Colors> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -67,6 +68,7 @@ public enum Enum1 {
|
||||
Enum1() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Enum1> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ public enum Enum {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<test.Enum> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ public enum EnumError {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String doIt();
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<EnumError> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ public enum EnumError {
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public abstract java.lang.String doIt();
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<EnumError> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ public enum Em {
|
||||
Em() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Em> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ public enum Em {
|
||||
Em() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Em> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ public enum Options {
|
||||
Options() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<kapt.Options> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ public final class Test {
|
||||
Example() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Test.Companion.Example> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -58,6 +59,7 @@ public final class Test2 {
|
||||
Example() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Test2.Amigo.Example> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -93,6 +95,7 @@ public final class Test3 {
|
||||
Example() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Test3.Amigo.Example> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -175,6 +178,7 @@ public final class Test5 {
|
||||
Example() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Test5.Amigos.Companion.Goo.Example> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public enum Enum1 {
|
||||
Enum1() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Enum1> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -57,6 +58,7 @@ public enum Enum2 {
|
||||
public final void publicEnumFun() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Enum2> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -75,6 +77,7 @@ public abstract interface I {
|
||||
Nested() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<I.Nested> getEntries() {
|
||||
return null;
|
||||
}
|
||||
@@ -91,6 +94,7 @@ public enum Nested1 {
|
||||
Nested1() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Nested1> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ public enum Result {
|
||||
Result() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Result> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public enum Color {
|
||||
Color() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Color> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -149,6 +149,7 @@ public final class Test {
|
||||
NestedEnum() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Test.NestedEnum> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -149,6 +149,7 @@ public enum Color {
|
||||
Color() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Color> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ public enum StrangeEnum {
|
||||
return null;
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<StrangeEnum> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ public enum Result {
|
||||
Result() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<Result> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
+1
@@ -222,6 +222,7 @@ public enum State {
|
||||
State() {
|
||||
}
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static kotlin.enums.EnumEntries<State> getEntries() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ public final enum class Colors {
|
||||
private synthetic final static method $values(): Colors[]
|
||||
static method <clinit>(): void
|
||||
private method <init>(p0: java.lang.String, p1: int): void
|
||||
public static method getEntries(): kotlin.enums.EnumEntries
|
||||
public static @org.jetbrains.annotations.NotNull method getEntries(): kotlin.enums.EnumEntries
|
||||
public static method valueOf(p0: java.lang.String): Colors
|
||||
public static method values(): Colors[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user