[FIR] Add proper nullability for java enums

This commit is contained in:
Dmitriy Novozhilov
2020-03-20 13:54:12 +03:00
parent 7764492761
commit 7bfe7061e7
12 changed files with 42 additions and 26 deletions
+5 -5
View File
@@ -1,10 +1,10 @@
FILE fqName:<root> fileName:/javaEnum.kt
PROPERTY name:test visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum? visibility:private [final,static]
FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum visibility:private [final,static]
EXPRESSION_BODY
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE type:<root>.JEnum? visibility:public [final,static]' type=<root>.JEnum? origin=GET_PROPERTY
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:<root>.JEnum?
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE type:<root>.JEnum visibility:public [final,static]' type=<root>.JEnum origin=GET_PROPERTY
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:<root>.JEnum
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test> (): <root>.JEnum? declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum? visibility:private [final,static]' type=<root>.JEnum? origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test> (): <root>.JEnum declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum visibility:private [final,static]' type=<root>.JEnum origin=null
@@ -1,9 +1,9 @@
public final enum class AnnotatedEnumEntry : R|kotlin/Enum<ft<test/AnnotatedEnumEntry, test/AnnotatedEnumEntry?>!>| {
@R|test/AnnotatedEnumEntry.Anno|(String(a)) public final static field E1: R|ft<test/AnnotatedEnumEntry, test/AnnotatedEnumEntry?>!|
@R|test/AnnotatedEnumEntry.Anno|(String(a)) public final static field E1: R|test/AnnotatedEnumEntry|
@R|test/AnnotatedEnumEntry.Anno|(String(b)) @R|test/AnnotatedEnumEntry.Anno2|() public final static field E2: R|ft<test/AnnotatedEnumEntry, test/AnnotatedEnumEntry?>!|
@R|test/AnnotatedEnumEntry.Anno|(String(b)) @R|test/AnnotatedEnumEntry.Anno2|() public final static field E2: R|test/AnnotatedEnumEntry|
public final static field E3: R|ft<test/AnnotatedEnumEntry, test/AnnotatedEnumEntry?>!|
public final static field E3: R|test/AnnotatedEnumEntry|
public final static fun values(): R|kotlin/Array<test/AnnotatedEnumEntry>| {
}
@@ -1,5 +1,5 @@
public final enum class EnumConstructorParameter : R|kotlin/Enum<ft<test/EnumConstructorParameter, test/EnumConstructorParameter?>!>| {
public final static field INSTANCE: R|ft<test/EnumConstructorParameter, test/EnumConstructorParameter?>!|
public final static field INSTANCE: R|test/EnumConstructorParameter|
private constructor(@R|test/EnumConstructorParameter.Anno|(String(string)) s: R|ft<kotlin/String, kotlin/String?>!|): R|test/EnumConstructorParameter|
@@ -1,7 +1,7 @@
public final enum class EnumMembers : R|kotlin/Enum<ft<test/EnumMembers, test/EnumMembers?>!>| {
public final static field FIRST: R|ft<test/EnumMembers, test/EnumMembers?>!|
public final static field FIRST: R|test/EnumMembers|
public final static field SECOND: R|ft<test/EnumMembers, test/EnumMembers?>!|
public final static field SECOND: R|test/EnumMembers|
public final field isFirst: R|kotlin/Boolean|
@@ -1,7 +1,7 @@
public open enum class EnumWithSpecializedEntry : R|kotlin/Enum<ft<test/EnumWithSpecializedEntry, test/EnumWithSpecializedEntry?>!>| {
public final static field E1: R|ft<test/EnumWithSpecializedEntry, test/EnumWithSpecializedEntry?>!|
public final static field E1: R|test/EnumWithSpecializedEntry|
public final static field E2: R|ft<test/EnumWithSpecializedEntry, test/EnumWithSpecializedEntry?>!|
public final static field E2: R|test/EnumWithSpecializedEntry|
public final static fun values(): R|kotlin/Array<test/EnumWithSpecializedEntry>| {
}
@@ -1,7 +1,7 @@
public final enum class JavaEnum : R|kotlin/Enum<ft<test/JavaEnum, test/JavaEnum?>!>| {
public final static field ENTRY: R|ft<test/JavaEnum, test/JavaEnum?>!|
public final static field ENTRY: R|test/JavaEnum|
public final static field ANOTHER: R|ft<test/JavaEnum, test/JavaEnum?>!|
public final static field ANOTHER: R|test/JavaEnum|
public final static fun values(): R|kotlin/Array<test/JavaEnum>| {
}
@@ -1,9 +1,9 @@
public final enum class Enum : R|kotlin/Enum<ft<test/Enum, test/Enum?>!>| {
public final static field A: R|ft<test/Enum, test/Enum?>!|
public final static field A: R|test/Enum|
public final static field B: R|ft<test/Enum, test/Enum?>!|
public final static field B: R|test/Enum|
public final static field C: R|ft<test/Enum, test/Enum?>!|
public final static field C: R|test/Enum|
public final static fun values(): R|kotlin/Array<test/Enum>| {
}
@@ -1,5 +1,5 @@
public final enum class StaticMembersInEnum : R|kotlin/Enum<ft<test/StaticMembersInEnum, test/StaticMembersInEnum?>!>| {
public final static field ENTRY: R|ft<test/StaticMembersInEnum, test/StaticMembersInEnum?>!|
public final static field ENTRY: R|test/StaticMembersInEnum|
public open static field STATIC_FIELD: R|kotlin/Int|