[FIR] Fix mapping of java annotation arguments when parameter is array

#KT-65933 Fixed
This commit is contained in:
Kirill Rakhman
2024-02-22 17:49:17 +01:00
committed by Space Team
parent 6479b15e46
commit 4780bb90e7
5 changed files with 26 additions and 537 deletions
@@ -1,271 +0,0 @@
FILE fqName:<root> fileName:/C.kt
CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Anno
PROPERTY name:token visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:token type:kotlin.String visibility:private [final]
EXPRESSION_BODY
GET_VAR 'token: kotlin.String declared in <root>.Anno.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-token> visibility:public modality:FINAL <> ($this:<root>.Anno) returnType:kotlin.String
correspondingProperty: PROPERTY name:token visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Anno
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-token> (): kotlin.String declared in <root>.Anno'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:token type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
receiver: GET_VAR '<this>: <root>.Anno declared in <root>.Anno.<get-token>' type=<root>.Anno origin=null
CONSTRUCTOR visibility:public <> (token:kotlin.String) returnType:<root>.Anno [primary]
VALUE_PARAMETER name:token index:0 type:kotlin.String
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Anno modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Annos modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Annos
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.Anno> visibility:private [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.Array<<root>.Anno> declared in <root>.Annos.<init>' type=kotlin.Array<<root>.Anno> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Annos) returnType:kotlin.Array<<root>.Anno>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Annos
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.Array<<root>.Anno> declared in <root>.Annos'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.Anno> visibility:private [final]' type=kotlin.Array<<root>.Anno> origin=null
receiver: GET_VAR '<this>: <root>.Annos declared in <root>.Annos.<get-value>' type=<root>.Annos origin=null
CONSTRUCTOR visibility:public <> (value:kotlin.Array<<root>.Anno>) returnType:<root>.Annos [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<<root>.Anno>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Annos modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Classes modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Classes
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.reflect.KClass<*>> visibility:private [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.Array<kotlin.reflect.KClass<*>> declared in <root>.Classes.<init>' type=kotlin.Array<kotlin.reflect.KClass<*>> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Classes) returnType:kotlin.Array<kotlin.reflect.KClass<*>>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Classes
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.Array<kotlin.reflect.KClass<*>> declared in <root>.Classes'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.reflect.KClass<*>> visibility:private [final]' type=kotlin.Array<kotlin.reflect.KClass<*>> origin=null
receiver: GET_VAR '<this>: <root>.Classes declared in <root>.Classes.<get-value>' type=<root>.Classes origin=null
CONSTRUCTOR visibility:public <> (value:kotlin.Array<kotlin.reflect.KClass<*>>) returnType:<root>.Classes [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<kotlin.reflect.KClass<*>>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Classes modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Enums modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Enums
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.E> visibility:private [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.Array<<root>.E> declared in <root>.Enums.<init>' type=kotlin.Array<<root>.E> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Enums) returnType:kotlin.Array<<root>.E>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Enums
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.Array<<root>.E> declared in <root>.Enums'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<<root>.E> visibility:private [final]' type=kotlin.Array<<root>.E> origin=null
receiver: GET_VAR '<this>: <root>.Enums declared in <root>.Enums.<get-value>' type=<root>.Enums origin=null
CONSTRUCTOR visibility:public <> (value:kotlin.Array<<root>.E>) returnType:<root>.Enums [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<<root>.E>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Enums modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Ints modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Ints
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.IntArray visibility:private [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.IntArray declared in <root>.Ints.<init>' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Ints) returnType:kotlin.IntArray
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Ints
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.IntArray declared in <root>.Ints'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.IntArray visibility:private [final]' type=kotlin.IntArray origin=null
receiver: GET_VAR '<this>: <root>.Ints declared in <root>.Ints.<get-value>' type=<root>.Ints origin=null
CONSTRUCTOR visibility:public <> (value:kotlin.IntArray) returnType:<root>.Ints [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.IntArray
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Ints modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Strings modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Strings
PROPERTY name:value visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.String> visibility:private [final]
EXPRESSION_BODY
GET_VAR 'value: kotlin.Array<kotlin.String> declared in <root>.Strings.<init>' type=kotlin.Array<kotlin.String> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.Strings) returnType:kotlin.Array<kotlin.String>
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Strings
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-value> (): kotlin.Array<kotlin.String> declared in <root>.Strings'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Array<kotlin.String> visibility:private [final]' type=kotlin.Array<kotlin.String> origin=null
receiver: GET_VAR '<this>: <root>.Strings declared in <root>.Strings.<get-value>' type=<root>.Strings origin=null
CONSTRUCTOR visibility:public <> (value:kotlin.Array<kotlin.String>) returnType:<root>.Strings [primary]
VALUE_PARAMETER name:value index:0 type:kotlin.Array<kotlin.String>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ANNOTATION_CLASS name:Strings modality:OPEN visibility:public superTypes:[kotlin.Annotation]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Annotation
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[<root>.A]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C
CONSTRUCTOR visibility:public <> () returnType:<root>.C [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.A'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[<root>.A]'
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in <root>.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:test visibility:public modality:OPEN <> ($this:<root>.A) returnType:kotlin.Unit [fake_override]
annotations:
Annos(value = Anno(token = "OK"))
Strings(value = "OK")
Ints(value = 42)
Enums(value = GET_ENUM 'ENUM_ENTRY name:EA' type=<root>.E)
Classes(value = CLASS_REFERENCE 'CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public superTypes:[kotlin.Number; kotlin.Comparable<kotlin.Double>; java.io.Serializable]' type=kotlin.reflect.KClass<kotlin.Double>)
overridden:
public open fun test (): kotlin.Unit declared in <root>.A
$this: VALUE_PARAMETER name:<this> type:<root>.A
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in <root>.A
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.E
ENUM_ENTRY name:EA
init: EXPRESSION_BODY
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.E'
CONSTRUCTOR visibility:private <> () returnType:<root>.E [primary]
BLOCK_BODY
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) declared in kotlin.Enum'
<E>: <root>.E
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:E modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.E>]'
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.E
VALUE_PARAMETER name:value index:0 type:kotlin.String
SYNTHETIC_BODY kind=ENUM_VALUEOF
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.E>
SYNTHETIC_BODY kind=ENUM_VALUES
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:<root>.E) returnType:kotlin.Int [fake_override,operator]
overridden:
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
VALUE_PARAMETER name:other index:0 type:<root>.E
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public final fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
overridden:
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
FUN ENUM_CLASS_SPECIAL_MEMBER name:<get-entries> visibility:public modality:FINAL <> () returnType:kotlin.enums.EnumEntries<<root>.E>
correspondingProperty: PROPERTY ENUM_CLASS_SPECIAL_MEMBER name:entries visibility:public modality:FINAL [val]
SYNTHETIC_BODY kind=ENUM_ENTRIES
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
annotations:
IntrinsicConstEvaluation
overridden:
public final name: kotlin.String
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final ordinal: kotlin.Int
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.E>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
overridden:
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.E>
@@ -1,246 +0,0 @@
// CHECK:
// Mangled name: Anno
// Public signature: /Anno|null[0]
open annotation class Anno : Annotation {
// CHECK:
// Mangled name: Anno{}token
// Public signature: /Anno.token|-1474644848610526691[0]
// Public signature debug description: {}token
val token: String
// CHECK JVM_IR:
// Mangled name: Anno#<get-token>(){}kotlin.String
// Public signature: /Anno.token.<get-token>|-7990759666918264390[0]
// Public signature debug description: <get-token>(){}kotlin.String
get
// CHECK:
// Mangled name: Anno#<init>(kotlin.String){}
// Public signature: /Anno.<init>|1280618353163213788[0]
// Public signature debug description: <init>(kotlin.String){}
constructor(token: String) /* primary */
}
// CHECK:
// Mangled name: Annos
// Public signature: /Annos|null[0]
open annotation class Annos : Annotation {
// CHECK:
// Mangled name: Annos{}value
// Public signature: /Annos.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<Anno>
// CHECK JVM_IR:
// Mangled name: Annos#<get-value>(){}kotlin.Array<Anno>
// Public signature: /Annos.value.<get-value>|-4069060984573284016[0]
// Public signature debug description: <get-value>(){}kotlin.Array<Anno>
get
// CHECK:
// Mangled name: Annos#<init>(kotlin.Array<Anno>){}
// Public signature: /Annos.<init>|1175794361085023797[0]
// Public signature debug description: <init>(kotlin.Array<Anno>){}
constructor(value: Array<Anno>) /* primary */
}
// CHECK:
// Mangled name: Classes
// Public signature: /Classes|null[0]
open annotation class Classes : Annotation {
// CHECK:
// Mangled name: Classes{}value
// Public signature: /Classes.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<KClass<*>>
// CHECK JVM_IR:
// Mangled name: Classes#<get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
// Public signature: /Classes.value.<get-value>|7741303810693223775[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.reflect.KClass<*>>
get
// CHECK:
// Mangled name: Classes#<init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
// Public signature: /Classes.<init>|-7037593412282832873[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.reflect.KClass<*>>){}
constructor(value: Array<KClass<*>>) /* primary */
}
// CHECK:
// Mangled name: Enums
// Public signature: /Enums|null[0]
open annotation class Enums : Annotation {
// CHECK:
// Mangled name: Enums{}value
// Public signature: /Enums.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<E>
// CHECK JVM_IR:
// Mangled name: Enums#<get-value>(){}kotlin.Array<E>
// Public signature: /Enums.value.<get-value>|6387785805560718811[0]
// Public signature debug description: <get-value>(){}kotlin.Array<E>
get
// CHECK:
// Mangled name: Enums#<init>(kotlin.Array<E>){}
// Public signature: /Enums.<init>|-3621344537085490519[0]
// Public signature debug description: <init>(kotlin.Array<E>){}
constructor(value: Array<E>) /* primary */
}
// CHECK:
// Mangled name: Ints
// Public signature: /Ints|null[0]
open annotation class Ints : Annotation {
// CHECK:
// Mangled name: Ints{}value
// Public signature: /Ints.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: IntArray
// CHECK JVM_IR:
// Mangled name: Ints#<get-value>(){}kotlin.IntArray
// Public signature: /Ints.value.<get-value>|-5427747971978269276[0]
// Public signature debug description: <get-value>(){}kotlin.IntArray
get
// CHECK:
// Mangled name: Ints#<init>(kotlin.IntArray){}
// Public signature: /Ints.<init>|6811679238332965682[0]
// Public signature debug description: <init>(kotlin.IntArray){}
constructor(value: IntArray) /* primary */
}
// CHECK:
// Mangled name: Strings
// Public signature: /Strings|null[0]
open annotation class Strings : Annotation {
// CHECK:
// Mangled name: Strings{}value
// Public signature: /Strings.value|1987073854177347439[0]
// Public signature debug description: {}value
val value: Array<String>
// CHECK JVM_IR:
// Mangled name: Strings#<get-value>(){}kotlin.Array<kotlin.String>
// Public signature: /Strings.value.<get-value>|-7769950459445256373[0]
// Public signature debug description: <get-value>(){}kotlin.Array<kotlin.String>
get
// CHECK:
// Mangled name: Strings#<init>(kotlin.Array<kotlin.String>){}
// Public signature: /Strings.<init>|5393043463829665764[0]
// Public signature debug description: <init>(kotlin.Array<kotlin.String>){}
constructor(value: Array<String>) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : A {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: C#test(){}
// Public signature: /C.test|6620506149988718649[0]
// Public signature debug description: test(){}
@Annos(value = Anno(token = "OK"))
@Strings(value = "OK")
@Ints(value = 42)
@Enums(value = E.EA)
@Classes(value = Double::class)
/* fake */ override fun test(): Unit
}
// CHECK:
// Mangled name: E
// Public signature: /E|null[0]
enum class E : Enum<E> {
// CHECK:
// Mangled name: E.EA
// Public signature: /E.EA|null[0]
EA
// CHECK:
// Mangled name: E#<init>(){}
// Public signature: /E.<init>|-5645683436151566731[0]
// Public signature debug description: <init>(){}
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: E#valueOf#static(kotlin.String){}E
// Public signature: /E.valueOf|-1984843552149141556[0]
// Public signature debug description: valueOf#static(kotlin.String){}E
fun valueOf(value: String): E
// CHECK JVM_IR:
// Mangled name: E#values#static(){}kotlin.Array<E>
// Public signature: /E.values|4921695905454219855[0]
// Public signature debug description: values#static(){}kotlin.Array<E>
fun values(): Array<E>
// CHECK JVM_IR:
// Mangled name: E#compareTo(E){}kotlin.Int
// Public signature: /E.compareTo|7895449182838894647[0]
// Public signature debug description: compareTo(E){}kotlin.Int
/* fake */ override operator fun compareTo(other: E): Int
// CHECK JVM_IR:
// Mangled name: E#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /E.equals|722809408929142791[0]
// Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: E#hashCode(){}kotlin.Int
// Public signature: /E.hashCode|-8048879360829830756[0]
// Public signature debug description: hashCode(){}kotlin.Int
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: E#toString(){}kotlin.String
// Public signature: /E.toString|6958853723545266802[0]
// Public signature debug description: toString(){}kotlin.String
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: E#static{}entries
// Public signature: /E.entries|-5134227801081826149[0]
// Public signature debug description: #static{}entries
val entries: EnumEntries<E>
// CHECK JVM_IR:
// Mangled name: E#<get-entries>#static(){}kotlin.enums.EnumEntries<E>
// Public signature: /E.entries.<get-entries>|2481970109947815388[0]
// Public signature debug description: <get-entries>#static(){}kotlin.enums.EnumEntries<E>
get(): EnumEntries<E>
// CHECK:
// Mangled name: E{}name
// Public signature: /E.name|4231860309499509769[0]
// Public signature debug description: {}name
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: E#<get-name>(){}kotlin.String
// Public signature: /E.name.<get-name>|-8006111524522882650[0]
// Public signature debug description: <get-name>(){}kotlin.String
/* fake */ override get(): String
// CHECK:
// Mangled name: E{}ordinal
// Public signature: /E.ordinal|1912745122988592376[0]
// Public signature debug description: {}ordinal
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: E#<get-ordinal>(){}kotlin.Int
// Public signature: /E.ordinal.<get-ordinal>|-6902664390061762634[0]
// Public signature debug description: <get-ordinal>(){}kotlin.Int
/* fake */ override get(): Int
}
@@ -1,8 +1,6 @@
// SKIP_KT_DUMP
// TARGET_BACKEND: JVM
// SEPARATE_SIGNATURE_DUMP_FOR_K2
// ^ Different types in annotations generated by K1 and K2
// FIR_IDENTICAL
// FILE: A.java