[FIR2IR] Generate synthetic bodies for Enum.values() and valueOf()

This commit is contained in:
Mikhail Glukhikh
2020-03-19 14:54:56 +03:00
parent 94fe79578e
commit 9836520287
24 changed files with 132 additions and 124 deletions
@@ -38,11 +38,11 @@ FILE fqName:<root> fileName:/temporaryInEnumEntryInitializer.kt
x: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String? origin=null
$this: CALL 'public final fun <get-n> (): kotlin.Any? declared in <root>' type=kotlin.Any? origin=GET_PROPERTY
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.En]'
FUN name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.En>
BLOCK_BODY
FUN name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.En
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.En>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.En
VALUE_PARAMETER name:value index:0 type:kotlin.String
BLOCK_BODY
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<E of kotlin.Enum>) returnType:kotlin.Any [fake_override]
overridden:
protected final fun clone (): kotlin.Any declared in kotlin.Enum