[FIR] Use super<Enum> as delegated calls in enum constructors
This commit is contained in:
@@ -410,12 +410,18 @@ class Fir2IrVisitor(
|
|||||||
?: return null
|
?: return null
|
||||||
return convertWithOffsets { startOffset, endOffset ->
|
return convertWithOffsets { startOffset, endOffset ->
|
||||||
val irConstructorSymbol = declarationStorage.getIrFunctionSymbol(constructorSymbol) as IrConstructorSymbol
|
val irConstructorSymbol = declarationStorage.getIrFunctionSymbol(constructorSymbol) as IrConstructorSymbol
|
||||||
if (constructorSymbol.fir.isFromEnumClass) {
|
if (constructorSymbol.fir.isFromEnumClass || constructorSymbol.fir.returnTypeRef.isEnum) {
|
||||||
IrEnumConstructorCallImpl(
|
IrEnumConstructorCallImpl(
|
||||||
startOffset, endOffset,
|
startOffset, endOffset,
|
||||||
constructedIrType,
|
constructedIrType,
|
||||||
irConstructorSymbol
|
irConstructorSymbol
|
||||||
)
|
).apply {
|
||||||
|
val typeArguments = (constructedTypeRef as? FirResolvedTypeRef)?.type?.typeArguments
|
||||||
|
if (typeArguments?.isNotEmpty() == true) {
|
||||||
|
val irType = (typeArguments.first() as ConeTypedProjection).type.toIrType(session, declarationStorage, irBuiltIns)
|
||||||
|
putTypeArgument(0, irType)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
IrDelegatingConstructorCallImpl(
|
IrDelegatingConstructorCallImpl(
|
||||||
startOffset, endOffset,
|
startOffset, endOffset,
|
||||||
|
|||||||
+2
-1
@@ -398,13 +398,14 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
when {
|
when {
|
||||||
modifiers.isEnum() && (classKind == ClassKind.ENUM_CLASS) -> {
|
modifiers.isEnum() && (classKind == ClassKind.ENUM_CLASS) -> {
|
||||||
superTypeRefs += buildResolvedTypeRef {
|
delegatedSuperTypeRef = buildResolvedTypeRef {
|
||||||
type = ConeClassLikeTypeImpl(
|
type = ConeClassLikeTypeImpl(
|
||||||
implicitEnumType.type.lookupTag,
|
implicitEnumType.type.lookupTag,
|
||||||
arrayOf(selfType.coneTypeUnsafe()),
|
arrayOf(selfType.coneTypeUnsafe()),
|
||||||
isNullable = false
|
isNullable = false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
superTypeRefs += delegatedSuperTypeRef!!
|
||||||
}
|
}
|
||||||
modifiers.isAnnotation() && (classKind == ClassKind.ANNOTATION_CLASS) -> {
|
modifiers.isAnnotation() && (classKind == ClassKind.ANNOTATION_CLASS) -> {
|
||||||
superTypeRefs += implicitAnnotationType
|
superTypeRefs += implicitAnnotationType
|
||||||
|
|||||||
@@ -408,13 +408,14 @@ class RawFirBuilder(
|
|||||||
* for correct resolve of super constructor call or just call kotlin.Any constructor
|
* for correct resolve of super constructor call or just call kotlin.Any constructor
|
||||||
* and convert it to right call at backend, because of it doesn't affects frontend work
|
* and convert it to right call at backend, because of it doesn't affects frontend work
|
||||||
*/
|
*/
|
||||||
container.superTypeRefs += buildResolvedTypeRef {
|
delegatedSuperTypeRef = buildResolvedTypeRef {
|
||||||
type = ConeClassLikeTypeImpl(
|
type = ConeClassLikeTypeImpl(
|
||||||
implicitEnumType.type.lookupTag,
|
implicitEnumType.type.lookupTag,
|
||||||
delegatedSelfTypeRef?.coneTypeUnsafe<ConeKotlinType>()?.let { arrayOf(it) } ?: emptyArray(),
|
delegatedSelfTypeRef?.coneTypeUnsafe<ConeKotlinType>()?.let { arrayOf(it) } ?: emptyArray(),
|
||||||
isNullable = false,
|
isNullable = false,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
container.superTypeRefs += delegatedSuperTypeRef
|
||||||
}
|
}
|
||||||
this is KtClass && classKind == ClassKind.ANNOTATION_CLASS -> {
|
this is KtClass && classKind == ClassKind.ANNOTATION_CLASS -> {
|
||||||
container.superTypeRefs += implicitAnnotationType
|
container.superTypeRefs += implicitAnnotationType
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ FILE: annotation.kt
|
|||||||
}
|
}
|
||||||
@base() public? final? enum class My : R|kotlin/Enum<My>| {
|
@base() public? final? enum class My : R|kotlin/Enum<My>| {
|
||||||
private constructor(): R|My| {
|
private constructor(): R|My| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<My>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry FIRST: R|My| = @base() object : R|My| {
|
public final static enum entry FIRST: R|My| = @base() object : R|My| {
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ FILE: constructorInObject.kt
|
|||||||
}
|
}
|
||||||
public? final? enum class B : R|kotlin/Enum<B>| {
|
public? final? enum class B : R|kotlin/Enum<B>| {
|
||||||
private constructor(): R|B| {
|
private constructor(): R|B| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<B>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry X: R|B| = object : R|B| {
|
public final static enum entry X: R|B| = object : R|B| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: enums.kt
|
FILE: enums.kt
|
||||||
public? final? enum class Order : R|kotlin/Enum<Order>| {
|
public? final? enum class Order : R|kotlin/Enum<Order>| {
|
||||||
private constructor(): R|Order| {
|
private constructor(): R|Order| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<Order>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry FIRST: R|Order| = object : R|Order| {
|
public final static enum entry FIRST: R|Order| = object : R|Order| {
|
||||||
@@ -34,7 +34,7 @@ FILE: enums.kt
|
|||||||
}
|
}
|
||||||
public? final? enum class Planet : R|kotlin/Enum<Planet>| {
|
public? final? enum class Planet : R|kotlin/Enum<Planet>| {
|
||||||
public? constructor(m: Double, r: Double): R|Planet| {
|
public? constructor(m: Double, r: Double): R|Planet| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<Planet>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public? final? val m: Double = R|<local>/m|
|
public? final? val m: Double = R|<local>/m|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ FILE: enums2.kt
|
|||||||
}
|
}
|
||||||
public? final? enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
|
public? final? enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
|
||||||
public? constructor(x: Some): R|SomeEnum| {
|
public? constructor(x: Some): R|SomeEnum| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<SomeEnum>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public? final? val x: Some = R|<local>/x|
|
public? final? val x: Some = R|<local>/x|
|
||||||
|
|||||||
@@ -157,6 +157,11 @@ internal object MapArguments : ResolutionStage() {
|
|||||||
override suspend fun check(candidate: Candidate, sink: CheckerSink, callInfo: CallInfo) {
|
override suspend fun check(candidate: Candidate, sink: CheckerSink, callInfo: CallInfo) {
|
||||||
val symbol = candidate.symbol as? FirFunctionSymbol<*> ?: return sink.reportApplicability(CandidateApplicability.HIDDEN)
|
val symbol = candidate.symbol as? FirFunctionSymbol<*> ?: return sink.reportApplicability(CandidateApplicability.HIDDEN)
|
||||||
val function = symbol.fir
|
val function = symbol.fir
|
||||||
|
if (function is FirConstructor && function.returnTypeRef.isEnum) {
|
||||||
|
// NB: we do not check kotlin.Enum constructor calls, because we do not pass arguments there
|
||||||
|
candidate.argumentMapping = mapOf()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
val mapping = mapArguments(callInfo.arguments, function)
|
val mapping = mapArguments(callInfo.arguments, function)
|
||||||
val argumentToParameterMapping = mutableMapOf<FirExpression, FirValueParameter>()
|
val argumentToParameterMapping = mutableMapOf<FirExpression, FirValueParameter>()
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ FILE: enum.kt
|
|||||||
}
|
}
|
||||||
public final enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
|
public final enum class SomeEnum : R|kotlin/Enum<SomeEnum>| {
|
||||||
private constructor(x: R|Some|): R|SomeEnum| {
|
private constructor(x: R|Some|): R|SomeEnum| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<SomeEnum>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final val x: R|Some| = R|<local>/x|
|
public final val x: R|Some| = R|<local>/x|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: enumWithCompanion.kt
|
FILE: enumWithCompanion.kt
|
||||||
public final enum class EC : R|kotlin/Enum<EC>| {
|
public final enum class EC : R|kotlin/Enum<EC>| {
|
||||||
private constructor(): R|EC| {
|
private constructor(): R|EC| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<EC>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry A: R|EC| = object : R|EC| {
|
public final static enum entry A: R|EC| = object : R|EC| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final enum class E : R|kotlin/Enum<E>| {
|
public final enum class E : R|kotlin/Enum<E>| {
|
||||||
private constructor(): R|E| {
|
private constructor(): R|E| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<E>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry A: R|E| = object : R|E| {
|
public final static enum entry A: R|E| = object : R|E| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: exhaustiveness_enum.kt
|
FILE: exhaustiveness_enum.kt
|
||||||
public final enum class Enum : R|kotlin/Enum<Enum>| {
|
public final enum class Enum : R|kotlin/Enum<Enum>| {
|
||||||
private constructor(): R|Enum| {
|
private constructor(): R|Enum| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<Enum>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry A: R|Enum| = object : R|Enum| {
|
public final static enum entry A: R|Enum| = object : R|Enum| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: enumEntryUse.kt
|
FILE: enumEntryUse.kt
|
||||||
public final enum class TestEnum : R|kotlin/Enum<TestEnum>| {
|
public final enum class TestEnum : R|kotlin/Enum<TestEnum>| {
|
||||||
private constructor(): R|TestEnum| {
|
private constructor(): R|TestEnum| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<TestEnum>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry FIRST: R|TestEnum| = object : R|TestEnum| {
|
public final static enum entry FIRST: R|TestEnum| = object : R|TestEnum| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: enumValues.kt
|
FILE: enumValues.kt
|
||||||
public final enum class MyEnum : R|kotlin/Enum<MyEnum>| {
|
public final enum class MyEnum : R|kotlin/Enum<MyEnum>| {
|
||||||
private constructor(): R|MyEnum| {
|
private constructor(): R|MyEnum| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<MyEnum>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry FIRST: R|MyEnum| = object : R|MyEnum| {
|
public final static enum entry FIRST: R|MyEnum| = object : R|MyEnum| {
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ FILE: qualifiedExpressions.kt
|
|||||||
}
|
}
|
||||||
public final enum class E : R|kotlin/Enum<a/b/E>| {
|
public final enum class E : R|kotlin/Enum<a/b/E>| {
|
||||||
private constructor(): R|a/b/E| {
|
private constructor(): R|a/b/E| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<a/b/E>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry entry: R|a/b/E| = object : R|a/b/E| {
|
public final static enum entry entry: R|a/b/E| = object : R|a/b/E| {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ FILE: qualifierPriority.kt
|
|||||||
public get(): R|kotlin/Unit|
|
public get(): R|kotlin/Unit|
|
||||||
public final enum class G : R|kotlin/Enum<G>| {
|
public final enum class G : R|kotlin/Enum<G>| {
|
||||||
private constructor(): R|G| {
|
private constructor(): R|G| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<G>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry H: R|G| = object : R|G| {
|
public final static enum entry H: R|G| = object : R|G| {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FILE: enums.kt
|
FILE: enums.kt
|
||||||
public final enum class Order : R|kotlin/Enum<Order>| {
|
public final enum class Order : R|kotlin/Enum<Order>| {
|
||||||
private constructor(): R|Order| {
|
private constructor(): R|Order| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<Order>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static enum entry FIRST: R|Order| = object : R|Order| {
|
public final static enum entry FIRST: R|Order| = object : R|Order| {
|
||||||
@@ -34,7 +34,7 @@ FILE: enums.kt
|
|||||||
}
|
}
|
||||||
public final enum class Planet : R|kotlin/Enum<Planet>| {
|
public final enum class Planet : R|kotlin/Enum<Planet>| {
|
||||||
private constructor(m: R|kotlin/Double|, r: R|kotlin/Double|): R|Planet| {
|
private constructor(m: R|kotlin/Double|, r: R|kotlin/Double|): R|Planet| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Enum<Planet>|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final val m: R|kotlin/Double| = R|<local>/m|
|
public final val m: R|kotlin/Double| = R|<local>/m|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ val FirTypeRef.isNothing: Boolean get() = isBuiltinType(StandardClassIds.Nothing
|
|||||||
val FirTypeRef.isNullableNothing: Boolean get() = isBuiltinType(StandardClassIds.Nothing, true)
|
val FirTypeRef.isNullableNothing: Boolean get() = isBuiltinType(StandardClassIds.Nothing, true)
|
||||||
val FirTypeRef.isUnit: Boolean get() = isBuiltinType(StandardClassIds.Unit, false)
|
val FirTypeRef.isUnit: Boolean get() = isBuiltinType(StandardClassIds.Unit, false)
|
||||||
val FirTypeRef.isBoolean: Boolean get() = isBuiltinType(StandardClassIds.Boolean, false)
|
val FirTypeRef.isBoolean: Boolean get() = isBuiltinType(StandardClassIds.Boolean, false)
|
||||||
|
val FirTypeRef.isEnum: Boolean get() = isBuiltinType(StandardClassIds.Enum, false)
|
||||||
|
|
||||||
private fun FirTypeRef.isBuiltinType(classId: ClassId, isNullable: Boolean): Boolean {
|
private fun FirTypeRef.isBuiltinType(classId: ClassId, isNullable: Boolean): Boolean {
|
||||||
val type = when (this) {
|
val type = when (this) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
enum class MyEnum(): MyClass() {}
|
enum class MyEnum(): MyClass() {}
|
||||||
enum class MyEnum2(): MyTrait {}
|
enum class MyEnum2(): MyTrait {}
|
||||||
enum class MyEnum3(): <!INAPPLICABLE_CANDIDATE!>MyEnumBase<!>() {}
|
enum class MyEnum3(): MyEnumBase() {}
|
||||||
|
|
||||||
open class MyClass() {}
|
open class MyClass() {}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ enum class A {
|
|||||||
constructor(x: Int)
|
constructor(x: Int)
|
||||||
constructor(x: Int, y: Int): this(x+y)
|
constructor(x: Int, y: Int): this(x+y)
|
||||||
constructor(x: Double): this(x.toInt(), 1)
|
constructor(x: Double): this(x.toInt(), 1)
|
||||||
constructor(x: String): <!INAPPLICABLE_CANDIDATE!>super<!>(x, 1)
|
constructor(x: String): super(x, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class B(x: Int) {
|
enum class B(x: Int) {
|
||||||
@@ -14,7 +14,7 @@ enum class B(x: Int) {
|
|||||||
|
|
||||||
constructor(x: Int, y: Int): this(x+y)
|
constructor(x: Int, y: Int): this(x+y)
|
||||||
constructor(x: Double): this(x.toInt(), 1)
|
constructor(x: Double): this(x.toInt(), 1)
|
||||||
constructor(x: String): <!INAPPLICABLE_CANDIDATE!>super<!>(x, 1)
|
constructor(x: String): super(x, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class C {
|
enum class C {
|
||||||
|
|||||||
+2
-1
@@ -72,7 +72,8 @@ FILE fqName:<root> fileName:/classes.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnumClass
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnumClass
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnumClass [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnumClass [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnumClass
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnumClass>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnumClass modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnumClass>]'
|
||||||
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestEnumClass) returnType:kotlin.Array<<root>.TestEnumClass>
|
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestEnumClass) returnType:kotlin.Array<<root>.TestEnumClass>
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnumClass
|
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnumClass
|
||||||
|
|||||||
+12
-6
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum1 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum1 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum1
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum1>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum1>]'
|
||||||
ENUM_ENTRY name:TEST1
|
ENUM_ENTRY name:TEST1
|
||||||
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum1]
|
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum1]
|
||||||
@@ -65,7 +66,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestEnum2 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestEnum2 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum2
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum2>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum2>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -147,7 +149,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum3
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum3
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum3 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum3 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum3
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum3>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum3>]'
|
||||||
ENUM_ENTRY name:TEST
|
ENUM_ENTRY name:TEST
|
||||||
class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum3]
|
class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum3]
|
||||||
@@ -209,7 +212,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestEnum4 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestEnum4 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum4
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum4 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum4>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum4 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum4>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -312,7 +316,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
CONST Int type=kotlin.Int value=0
|
CONST Int type=kotlin.Int value=0
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum5
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum5>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum5 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum5>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -398,7 +403,8 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
VALUE_PARAMETER name:y index:1 type:kotlin.Int
|
VALUE_PARAMETER name:y index:1 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum6
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum6 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum6>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum6 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum6>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestFinalEnum1 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestFinalEnum1 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestFinalEnum1
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum1>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum1>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum1]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum1]
|
||||||
@@ -58,7 +59,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestFinalEnum2 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.TestFinalEnum2 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestFinalEnum2
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum2>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum2>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -124,7 +126,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum3
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum3
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestFinalEnum3 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestFinalEnum3 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestFinalEnum3
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum3>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestFinalEnum3 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestFinalEnum3>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum3]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum3]
|
||||||
@@ -181,7 +184,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestOpenEnum1 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestOpenEnum1 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestOpenEnum1
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestOpenEnum1>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestOpenEnum1>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum1]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum1]
|
||||||
@@ -240,7 +244,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestOpenEnum2 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestOpenEnum2 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestOpenEnum2
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestOpenEnum2>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestOpenEnum2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestOpenEnum2>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum2]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum2]
|
||||||
@@ -300,7 +305,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestAbstractEnum1 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestAbstractEnum1 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestAbstractEnum1
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestAbstractEnum1>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestAbstractEnum1>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum1]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum1]
|
||||||
@@ -376,7 +382,8 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestAbstractEnum2 [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestAbstractEnum2 [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestAbstractEnum2
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:FINAL visibility:public superTypes:[<root>.IFoo; kotlin.Enum<<root>.TestAbstractEnum2>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestAbstractEnum2 modality:FINAL visibility:public superTypes:[<root>.IFoo; kotlin.Enum<<root>.TestAbstractEnum2>]'
|
||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum2]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum2]
|
||||||
|
|||||||
@@ -77,7 +77,8 @@ FILE fqName:<root> fileName:/enumWithMultipleCtors.kt
|
|||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop1 type:kotlin.String visibility:private [final]' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop1 type:kotlin.String visibility:private [final]' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
|
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
|
||||||
value: GET_VAR 'arg: kotlin.String declared in <root>.A.<init>' type=kotlin.String origin=null
|
value: GET_VAR 'arg: kotlin.String declared in <root>.A.<init>' type=kotlin.String origin=null
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.A
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.A>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.A>]'
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.A
|
CONSTRUCTOR visibility:private <> () returnType:<root>.A
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
@@ -87,7 +88,8 @@ FILE fqName:<root> fileName:/enumWithMultipleCtors.kt
|
|||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop3 type:kotlin.String visibility:private' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:prop3 type:kotlin.String visibility:private' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
|
receiver: GET_VAR '<this>: <root>.A declared in <root>.A' type=<root>.A origin=null
|
||||||
value: CONST String type=kotlin.String value="empty"
|
value: CONST String type=kotlin.String value="empty"
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.A
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.A>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.A>]'
|
||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.A
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.A
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test0 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test0 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.Test0
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test0>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test0 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test0>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -74,7 +75,8 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test1 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test1 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.Test1
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test1>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test1>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
@@ -152,7 +154,8 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.Int) returnType:<root>.Test2 [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.Test2
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test2>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Test2 modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Test2>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
|
||||||
|
|||||||
+2
-1
@@ -132,7 +132,8 @@ FILE fqName:<root> fileName:/classesWithAnnotations.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum>]'
|
||||||
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestEnum) returnType:kotlin.Array<<root>.TestEnum>
|
FUN name:values visibility:public modality:FINAL <> ($this:<root>.TestEnum) returnType:kotlin.Array<<root>.TestEnum>
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnum
|
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnum
|
||||||
|
|||||||
+2
-1
@@ -31,7 +31,8 @@ FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.TestEnum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.TestEnum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:TestEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.TestEnum>]'
|
||||||
ENUM_ENTRY name:ENTRY1
|
ENUM_ENTRY name:ENTRY1
|
||||||
class: CLASS ENUM_ENTRY name:ENTRY1 modality:FINAL visibility:private superTypes:[<root>.TestEnum]
|
class: CLASS ENUM_ENTRY name:ENTRY1 modality:FINAL visibility:private superTypes:[<root>.TestEnum]
|
||||||
|
|||||||
+2
-1
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enumsInAnnotationArguments.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.En [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.En [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.En
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
||||||
ENUM_ENTRY name:A
|
ENUM_ENTRY name:A
|
||||||
class: CLASS ENUM_ENTRY name:A modality:FINAL visibility:private superTypes:[<root>.En]
|
class: CLASS ENUM_ENTRY name:A modality:FINAL visibility:private superTypes:[<root>.En]
|
||||||
|
|||||||
+4
-2
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/expectedEnumClass.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.MyEnum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public [expect] superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public [expect] superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
||||||
ENUM_ENTRY name:FOO
|
ENUM_ENTRY name:FOO
|
||||||
class: CLASS ENUM_ENTRY name:FOO modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
class: CLASS ENUM_ENTRY name:FOO modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
||||||
@@ -64,7 +65,8 @@ FILE fqName:<root> fileName:/expectedEnumClass.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.MyEnum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
||||||
ENUM_ENTRY name:FOO
|
ENUM_ENTRY name:FOO
|
||||||
class: CLASS ENUM_ENTRY name:FOO modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
class: CLASS ENUM_ENTRY name:FOO modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enumEntryAsReceiver.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.X [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.X [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.X
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:X modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.X>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:X modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.X>]'
|
||||||
ENUM_ENTRY name:B
|
ENUM_ENTRY name:B
|
||||||
class: CLASS ENUM_ENTRY name:B modality:FINAL visibility:private superTypes:[<root>.X]
|
class: CLASS ENUM_ENTRY name:B modality:FINAL visibility:private superTypes:[<root>.X]
|
||||||
|
|||||||
+2
-1
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.MyEnum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.MyEnum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:MyEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.MyEnum>]'
|
||||||
ENUM_ENTRY name:Z
|
ENUM_ENTRY name:Z
|
||||||
class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.MyEnum]
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ FILE fqName:<root> fileName:/objectAsCallable.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.En [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.En [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.En
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
||||||
ENUM_ENTRY name:X
|
ENUM_ENTRY name:X
|
||||||
class: CLASS ENUM_ENTRY name:X modality:FINAL visibility:private superTypes:[<root>.En]
|
class: CLASS ENUM_ENTRY name:X modality:FINAL visibility:private superTypes:[<root>.En]
|
||||||
|
|||||||
+2
-1
@@ -13,7 +13,8 @@ FILE fqName:<root> fileName:/temporaryInEnumEntryInitializer.kt
|
|||||||
CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:<root>.En [primary]
|
CONSTRUCTOR visibility:private <> (x:kotlin.String?) returnType:<root>.En [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.String?
|
VALUE_PARAMETER name:x index:0 type:kotlin.String?
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.En
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:En modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.En>]'
|
||||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.String? visibility:private [final]
|
||||||
|
|||||||
+2
-1
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/values.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Enum
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Enum
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.Enum [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.Enum [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.Enum
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Enum>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Enum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Enum>]'
|
||||||
ENUM_ENTRY name:A
|
ENUM_ENTRY name:A
|
||||||
class: CLASS ENUM_ENTRY name:A modality:FINAL visibility:private superTypes:[<root>.Enum]
|
class: CLASS ENUM_ENTRY name:A modality:FINAL visibility:private superTypes:[<root>.Enum]
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ FILE fqName:<root> fileName:/enumEntry.kt
|
|||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<root>.Z [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<root>.Z [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
ENUM_CONSTRUCTOR_CALL 'public constructor <init> (name: kotlin.String, ordinal: kotlin.Int) [primary] declared in kotlin.Enum'
|
||||||
|
<E>: <root>.Z
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Z>]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Z>]'
|
||||||
ENUM_ENTRY name:ENTRY
|
ENUM_ENTRY name:ENTRY
|
||||||
class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.Z]
|
class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.Z]
|
||||||
|
|||||||
Reference in New Issue
Block a user