[FIR] Fix mapping of java annotation arguments when parameter is array
#KT-65933 Fixed
This commit is contained in:
committed by
Space Team
parent
6479b15e46
commit
4780bb90e7
@@ -58,15 +58,14 @@ val JavaClass.classKind: ClassKind
|
|||||||
fun JavaClass.hasMetadataAnnotation(): Boolean =
|
fun JavaClass.hasMetadataAnnotation(): Boolean =
|
||||||
annotations.any { it.isResolvedTo(JvmAnnotationNames.METADATA_FQ_NAME) }
|
annotations.any { it.isResolvedTo(JvmAnnotationNames.METADATA_FQ_NAME) }
|
||||||
|
|
||||||
internal fun Any?.createConstantOrError(session: FirSession, expectedTypeRef: FirTypeRef? = null): FirExpression {
|
internal fun Any?.createConstantOrError(session: FirSession, expectedConeType: ConeKotlinType? = null): FirExpression {
|
||||||
val coneType = expectedTypeRef?.coneTypeOrNull
|
val value = if (this is Int && expectedConeType != null) {
|
||||||
val value = if (this is Int && coneType != null) {
|
|
||||||
// special case for Java literals in annotation default values:
|
// special case for Java literals in annotation default values:
|
||||||
// literal value is always integer, but an expected parameter type can be any other number type
|
// literal value is always integer, but an expected parameter type can be any other number type
|
||||||
when {
|
when {
|
||||||
coneType.isByte -> this.toByte()
|
expectedConeType.isByte -> this.toByte()
|
||||||
coneType.isShort -> this.toShort()
|
expectedConeType.isShort -> this.toShort()
|
||||||
coneType.isLong -> this.toLong()
|
expectedConeType.isLong -> this.toLong()
|
||||||
else -> this
|
else -> this
|
||||||
}
|
}
|
||||||
} else this
|
} else this
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import org.jetbrains.kotlin.toKtPsiSourceElement
|
|||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
|
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import kotlin.math.exp
|
||||||
|
|
||||||
internal fun Iterable<JavaAnnotation>.convertAnnotationsToFir(
|
internal fun Iterable<JavaAnnotation>.convertAnnotationsToFir(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
@@ -103,21 +104,18 @@ internal fun JavaValueParameter.toFirValueParameter(
|
|||||||
internal fun JavaAnnotationArgument.toFirExpression(
|
internal fun JavaAnnotationArgument.toFirExpression(
|
||||||
session: FirSession, javaTypeParameterStack: JavaTypeParameterStack, expectedTypeRef: FirTypeRef?
|
session: FirSession, javaTypeParameterStack: JavaTypeParameterStack, expectedTypeRef: FirTypeRef?
|
||||||
): FirExpression {
|
): FirExpression {
|
||||||
return when (this) {
|
val expectedConeType = expectedTypeRef?.toConeKotlinTypeProbablyFlexible(session, javaTypeParameterStack)
|
||||||
|
val expectedArrayElementTypeIfArray = expectedConeType?.lowerBoundIfFlexible()?.arrayElementType() ?: expectedConeType
|
||||||
|
val argument = when (this) {
|
||||||
is JavaLiteralAnnotationArgument -> value.createConstantOrError(
|
is JavaLiteralAnnotationArgument -> value.createConstantOrError(
|
||||||
session,
|
session,
|
||||||
expectedTypeRef?.resolveIfJavaType(session, javaTypeParameterStack)
|
expectedArrayElementTypeIfArray
|
||||||
)
|
)
|
||||||
is JavaArrayAnnotationArgument -> buildArrayLiteral {
|
is JavaArrayAnnotationArgument -> buildArrayLiteral {
|
||||||
val argumentTypeRef = expectedTypeRef?.let {
|
val argumentTypeRef = expectedConeType?.let {
|
||||||
val type = if (it is FirJavaTypeRef) {
|
coneTypeOrNull = it
|
||||||
it.toConeKotlinTypeProbablyFlexible(session, javaTypeParameterStack)
|
|
||||||
} else {
|
|
||||||
it.coneType
|
|
||||||
}
|
|
||||||
coneTypeOrNull = type
|
|
||||||
buildResolvedTypeRef {
|
buildResolvedTypeRef {
|
||||||
this.type = type.lowerBoundIfFlexible().arrayElementType()
|
this.type = it.lowerBoundIfFlexible().arrayElementType()
|
||||||
?: ConeErrorType(ConeSimpleDiagnostic("expected type is not array type"))
|
?: ConeErrorType(ConeSimpleDiagnostic("expected type is not array type"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -131,7 +129,7 @@ internal fun JavaAnnotationArgument.toFirExpression(
|
|||||||
// a static import. In this case, the parameter default initializer will not have its type set, which isn't usually an
|
// a static import. In this case, the parameter default initializer will not have its type set, which isn't usually an
|
||||||
// issue except in edge cases like KT-47702 where we do need to evaluate the default values of annotations.
|
// issue except in edge cases like KT-47702 where we do need to evaluate the default values of annotations.
|
||||||
// As a fallback, we use the expected type which should be the type of the enum.
|
// As a fallback, we use the expected type which should be the type of the enum.
|
||||||
classId = requireNotNull(enumClassId ?: expectedTypeRef?.coneTypeOrNull?.lowerBoundIfFlexible()?.classId),
|
classId = requireNotNull(enumClassId ?: expectedArrayElementTypeIfArray?.lowerBoundIfFlexible()?.classId),
|
||||||
entryName = entryName
|
entryName = entryName
|
||||||
)
|
)
|
||||||
is JavaClassObjectAnnotationArgument -> buildGetClassCall {
|
is JavaClassObjectAnnotationArgument -> buildGetClassCall {
|
||||||
@@ -152,6 +150,17 @@ internal fun JavaAnnotationArgument.toFirExpression(
|
|||||||
diagnostic = ConeSimpleDiagnostic("Unknown JavaAnnotationArgument: ${this::class.java}", DiagnosticKind.Java)
|
diagnostic = ConeSimpleDiagnostic("Unknown JavaAnnotationArgument: ${this::class.java}", DiagnosticKind.Java)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return if (expectedConeType?.lowerBoundIfFlexible()?.isArrayOrPrimitiveArray == true && argument !is FirArrayLiteral) {
|
||||||
|
buildArrayLiteral {
|
||||||
|
coneTypeOrNull = expectedConeType
|
||||||
|
argumentList = buildArgumentList {
|
||||||
|
arguments += argument
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
argument
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val JAVA_RETENTION_TO_KOTLIN: Map<String, AnnotationRetention> = mapOf(
|
private val JAVA_RETENTION_TO_KOTLIN: Map<String, AnnotationRetention> = mapOf(
|
||||||
|
|||||||
-271
@@ -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>
|
|
||||||
-246
@@ -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
|
|
||||||
|
|
||||||
}
|
|
||||||
Vendored
+1
-3
@@ -1,8 +1,6 @@
|
|||||||
// SKIP_KT_DUMP
|
// SKIP_KT_DUMP
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
|
// FIR_IDENTICAL
|
||||||
// SEPARATE_SIGNATURE_DUMP_FOR_K2
|
|
||||||
// ^ Different types in annotations generated by K1 and K2
|
|
||||||
|
|
||||||
// FILE: A.java
|
// FILE: A.java
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user