Migrate to FirEnumEntry
This commit is contained in:
committed by
Mikhail Glukhikh
parent
5b5a5292b7
commit
65a44e2e20
@@ -365,11 +365,11 @@ internal fun ConeKotlinType.lexicalCastFrom(session: FirSession, value: String):
|
|||||||
val firElement = lookupTag.toSymbol(session)?.fir
|
val firElement = lookupTag.toSymbol(session)?.fir
|
||||||
if (firElement is FirRegularClass && firElement.classKind == ClassKind.ENUM_CLASS) {
|
if (firElement is FirRegularClass && firElement.classKind == ClassKind.ENUM_CLASS) {
|
||||||
val name = Name.identifier(value)
|
val name = Name.identifier(value)
|
||||||
val firEnumEntry = firElement.collectEnumEntries().find { it.callableId.callableName == name }
|
val firEnumEntry = firElement.collectEnumEntries().find { it.name == name }
|
||||||
|
|
||||||
return if (firEnumEntry != null) FirQualifiedAccessExpressionImpl(null).apply {
|
return if (firEnumEntry != null) FirQualifiedAccessExpressionImpl(null).apply {
|
||||||
calleeReference = FirResolvedNamedReferenceImpl(
|
calleeReference = FirResolvedNamedReferenceImpl(
|
||||||
null, name, firEnumEntry
|
null, name, firEnumEntry.symbol
|
||||||
)
|
)
|
||||||
} else if (firElement is FirJavaClass) {
|
} else if (firElement is FirJavaClass) {
|
||||||
val firStaticProperty = firElement.declarations.filterIsInstance<FirJavaField>().find {
|
val firStaticProperty = firElement.declarations.filterIsInstance<FirJavaField>().find {
|
||||||
|
|||||||
+3
-7
@@ -515,7 +515,7 @@ class DeclarationsConverter(
|
|||||||
/**
|
/**
|
||||||
* @see org.jetbrains.kotlin.parsing.KotlinParsing.parseEnumEntry
|
* @see org.jetbrains.kotlin.parsing.KotlinParsing.parseEnumEntry
|
||||||
*/
|
*/
|
||||||
private fun convertEnumEntry(enumEntry: LighterASTNode, classWrapper: ClassWrapper): FirProperty {
|
private fun convertEnumEntry(enumEntry: LighterASTNode, classWrapper: ClassWrapper): FirEnumEntry {
|
||||||
var modifiers = Modifier()
|
var modifiers = Modifier()
|
||||||
lateinit var identifier: String
|
lateinit var identifier: String
|
||||||
var hasInitializerList = false
|
var hasInitializerList = false
|
||||||
@@ -534,11 +534,10 @@ class DeclarationsConverter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val enumEntryName = identifier.nameAsSafeName()
|
val enumEntryName = identifier.nameAsSafeName()
|
||||||
return FirPropertyImpl(
|
return FirEnumEntryImpl(
|
||||||
null,
|
null,
|
||||||
session,
|
session,
|
||||||
classWrapper.delegatedSelfTypeRef,
|
classWrapper.delegatedSelfTypeRef,
|
||||||
receiverTypeRef = null,
|
|
||||||
name = enumEntryName,
|
name = enumEntryName,
|
||||||
initializer = FirAnonymousObjectImpl(
|
initializer = FirAnonymousObjectImpl(
|
||||||
null,
|
null,
|
||||||
@@ -566,10 +565,7 @@ class DeclarationsConverter(
|
|||||||
convertPrimaryConstructor(null, enumClassWrapper)?.let { declarations += it.firConstructor }
|
convertPrimaryConstructor(null, enumClassWrapper)?.let { declarations += it.firConstructor }
|
||||||
classBodyNode?.also { declarations += convertClassBody(it, enumClassWrapper) }
|
classBodyNode?.also { declarations += convertClassBody(it, enumClassWrapper) }
|
||||||
},
|
},
|
||||||
delegate = null,
|
symbol = FirVariableSymbol(CallableId(context.currentClassId, enumEntryName)),
|
||||||
isVar = false,
|
|
||||||
symbol = FirPropertySymbol(CallableId(context.currentClassId, enumEntryName)),
|
|
||||||
isLocal = false,
|
|
||||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||||
isStatic = true
|
isStatic = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -486,22 +486,18 @@ class RawFirBuilder(session: FirSession, val scopeProvider: FirScopeProvider, va
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return FirPropertyImpl(
|
return FirEnumEntryImpl(
|
||||||
source = toFirSourceElement(),
|
source = toFirSourceElement(),
|
||||||
session,
|
session,
|
||||||
delegatedEnumSelfTypeRef,
|
delegatedEnumSelfTypeRef,
|
||||||
receiverTypeRef = null,
|
|
||||||
name = nameAsSafeName,
|
name = nameAsSafeName,
|
||||||
initializer = obj,
|
initializer = obj,
|
||||||
delegate = null,
|
|
||||||
isVar = false,
|
|
||||||
isLocal = false,
|
|
||||||
status = FirDeclarationStatusImpl(
|
status = FirDeclarationStatusImpl(
|
||||||
Visibilities.PUBLIC, Modality.FINAL
|
Visibilities.PUBLIC, Modality.FINAL
|
||||||
).apply {
|
).apply {
|
||||||
isStatic = true
|
isStatic = true
|
||||||
},
|
},
|
||||||
symbol = FirPropertySymbol(callableIdForName(nameAsSafeName))
|
symbol = FirVariableSymbol(callableIdForName(nameAsSafeName))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -140,9 +140,9 @@ abstract class AbstractAnnotationDeserializer(
|
|||||||
val enumSymbol = enumLookupTag.toSymbol(this@AbstractAnnotationDeserializer.session)
|
val enumSymbol = enumLookupTag.toSymbol(this@AbstractAnnotationDeserializer.session)
|
||||||
val firClass = enumSymbol?.fir as? FirRegularClass
|
val firClass = enumSymbol?.fir as? FirRegularClass
|
||||||
val enumEntries = firClass?.collectEnumEntries() ?: emptyList()
|
val enumEntries = firClass?.collectEnumEntries() ?: emptyList()
|
||||||
val enumEntrySymbol = enumEntries.find { it.callableId.callableName == entryName }
|
val enumEntrySymbol = enumEntries.find { it.name == entryName }
|
||||||
this.calleeReference = enumEntrySymbol?.let {
|
this.calleeReference = enumEntrySymbol?.let {
|
||||||
FirResolvedNamedReferenceImpl(null, entryName, it)
|
FirResolvedNamedReferenceImpl(null, entryName, it.symbol)
|
||||||
} ?: FirErrorNamedReferenceImpl(
|
} ?: FirErrorNamedReferenceImpl(
|
||||||
null,
|
null,
|
||||||
FirSimpleDiagnostic("Strange deserialized enum value: $classId.$entryName", DiagnosticKind.DeserializationError)
|
FirSimpleDiagnostic("Strange deserialized enum value: $classId.$entryName", DiagnosticKind.DeserializationError)
|
||||||
|
|||||||
+4
-18
@@ -18,10 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirSealedClassImpl
|
|||||||
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.KotlinScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.*
|
import org.jetbrains.kotlin.fir.declarations.impl.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.CallableId
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||||
@@ -129,24 +126,13 @@ fun deserializeClassToSymbol(
|
|||||||
val enumEntryName = nameResolver.getName(enumEntryProto.name)
|
val enumEntryName = nameResolver.getName(enumEntryProto.name)
|
||||||
|
|
||||||
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
||||||
val property = FirPropertyImpl(
|
val property = FirEnumEntryImpl(
|
||||||
null,
|
null,
|
||||||
session,
|
session,
|
||||||
FirResolvedTypeRefImpl(null, enumType),
|
FirResolvedTypeRefImpl(null, enumType),
|
||||||
null,
|
|
||||||
enumEntryName,
|
enumEntryName,
|
||||||
initializer = FirAnonymousObjectImpl(
|
initializer = null,
|
||||||
null,
|
symbol = FirVariableSymbol(CallableId(classId, enumEntryName)),
|
||||||
session,
|
|
||||||
classKind = ClassKind.ENUM_ENTRY,
|
|
||||||
symbol = FirAnonymousObjectSymbol()
|
|
||||||
).apply {
|
|
||||||
superTypeRefs += FirResolvedTypeRefImpl(source = null, type = enumType)
|
|
||||||
},
|
|
||||||
delegate = null,
|
|
||||||
isVar = false,
|
|
||||||
symbol = FirPropertySymbol(CallableId(classId, enumEntryName)),
|
|
||||||
isLocal = false,
|
|
||||||
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
status = FirDeclarationStatusImpl(Visibilities.PUBLIC, Modality.FINAL).apply {
|
||||||
isStatic = true
|
isStatic = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,6 +107,10 @@ class FirProviderImpl(val session: FirSession, val kotlinScopeProvider: KotlinSc
|
|||||||
override fun visitProperty(property: FirProperty) {
|
override fun visitProperty(property: FirProperty) {
|
||||||
visitCallableDeclaration(property)
|
visitCallableDeclaration(property)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitEnumEntry(enumEntry: FirEnumEntry) {
|
||||||
|
visitCallableDeclaration(enumEntry)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-5
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.resolve.toSymbol
|
|||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.ConeLookupTagBasedType
|
import org.jetbrains.kotlin.fir.types.ConeLookupTagBasedType
|
||||||
import org.jetbrains.kotlin.fir.types.ConeNullability
|
import org.jetbrains.kotlin.fir.types.ConeNullability
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
@@ -74,7 +75,7 @@ class FirWhenExhaustivenessTransformer(private val bodyResolveComponents: BodyRe
|
|||||||
|
|
||||||
private fun checkEnumExhaustiveness(whenExpression: FirWhenExpression, enum: FirRegularClass, nullable: Boolean): Boolean {
|
private fun checkEnumExhaustiveness(whenExpression: FirWhenExpression, enum: FirRegularClass, nullable: Boolean): Boolean {
|
||||||
val data = EnumExhaustivenessData(
|
val data = EnumExhaustivenessData(
|
||||||
enum.collectEnumEntries().toMutableSet(),
|
enum.collectEnumEntries().map { it.symbol }.toMutableSet(),
|
||||||
!nullable
|
!nullable
|
||||||
)
|
)
|
||||||
for (branch in whenExpression.branches) {
|
for (branch in whenExpression.branches) {
|
||||||
@@ -83,7 +84,7 @@ class FirWhenExhaustivenessTransformer(private val bodyResolveComponents: BodyRe
|
|||||||
return data.containsNull && data.remainingEntries.isEmpty()
|
return data.containsNull && data.remainingEntries.isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
private class EnumExhaustivenessData(val remainingEntries: MutableSet<FirPropertySymbol>, var containsNull: Boolean)
|
private class EnumExhaustivenessData(val remainingEntries: MutableSet<FirVariableSymbol<FirEnumEntry>>, var containsNull: Boolean)
|
||||||
|
|
||||||
private object EnumExhaustivenessVisitor : FirVisitor<Unit, EnumExhaustivenessData>() {
|
private object EnumExhaustivenessVisitor : FirVisitor<Unit, EnumExhaustivenessData>() {
|
||||||
override fun visitElement(element: FirElement, data: EnumExhaustivenessData) {}
|
override fun visitElement(element: FirElement, data: EnumExhaustivenessData) {}
|
||||||
@@ -98,9 +99,9 @@ class FirWhenExhaustivenessTransformer(private val bodyResolveComponents: BodyRe
|
|||||||
}
|
}
|
||||||
is FirQualifiedAccessExpression -> {
|
is FirQualifiedAccessExpression -> {
|
||||||
val reference = argument.calleeReference as? FirResolvedNamedReference ?: return
|
val reference = argument.calleeReference as? FirResolvedNamedReference ?: return
|
||||||
val symbol = reference.resolvedSymbol
|
val symbol = (reference.resolvedSymbol.fir as? FirEnumEntry)?.symbol ?: return
|
||||||
if (symbol is FirPropertySymbol)
|
|
||||||
data.remainingEntries.remove(symbol)
|
data.remainingEntries.remove(symbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-15
@@ -365,21 +365,9 @@ public abstract interface Comparable<in T> : R|kotlin/Any| {
|
|||||||
public final enum class DeprecationLevel : R|kotlin/Enum<kotlin/DeprecationLevel>| {
|
public final enum class DeprecationLevel : R|kotlin/Enum<kotlin/DeprecationLevel>| {
|
||||||
private constructor(): R|kotlin/DeprecationLevel|
|
private constructor(): R|kotlin/DeprecationLevel|
|
||||||
|
|
||||||
public final static val WARNING: R|kotlin/DeprecationLevel| = object : R|kotlin/DeprecationLevel| {
|
public final static enum entry WARNING: R|kotlin/DeprecationLevel|
|
||||||
}
|
public final static enum entry ERROR: R|kotlin/DeprecationLevel|
|
||||||
|
public final static enum entry HIDDEN: R|kotlin/DeprecationLevel|
|
||||||
|
|
||||||
|
|
||||||
public final static val ERROR: R|kotlin/DeprecationLevel| = object : R|kotlin/DeprecationLevel| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val HIDDEN: R|kotlin/DeprecationLevel| = object : R|kotlin/DeprecationLevel| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>| {
|
public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>| {
|
||||||
|
|||||||
Vendored
+1
-5
@@ -6,11 +6,7 @@
|
|||||||
public final enum class E : R|kotlin/Enum<test/E>| {
|
public final enum class E : R|kotlin/Enum<test/E>| {
|
||||||
private constructor(): R|test/E|
|
private constructor(): R|test/E|
|
||||||
|
|
||||||
public final static val ENTRY: R|test/E| = object : R|test/E| {
|
public final static enum entry ENTRY: R|test/E|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final annotation class EnumOption : R|kotlin/Annotation| {
|
public final annotation class EnumOption : R|kotlin/Annotation| {
|
||||||
|
|||||||
Vendored
+1
-5
@@ -1,11 +1,7 @@
|
|||||||
public final enum class E : R|kotlin/Enum<test/E>| {
|
public final enum class E : R|kotlin/Enum<test/E>| {
|
||||||
private constructor(): R|test/E|
|
private constructor(): R|test/E|
|
||||||
|
|
||||||
public final static val CAKE: R|test/E| = object : R|test/E| {
|
public final static enum entry CAKE: R|test/E|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final annotation class EnumAnno : R|kotlin/Annotation| {
|
public final annotation class EnumAnno : R|kotlin/Annotation| {
|
||||||
|
|||||||
+4
-20
@@ -17,25 +17,9 @@ public final annotation class Bnno : R|kotlin/Annotation| {
|
|||||||
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
|
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
|
||||||
private constructor(): R|test/Eee|
|
private constructor(): R|test/Eee|
|
||||||
|
|
||||||
public final static val Entry1: R|test/Eee| = object : R|test/Eee| {
|
public final static enum entry Entry1: R|test/Eee|
|
||||||
}
|
public final static enum entry Entry2: R|test/Eee|
|
||||||
|
public final static enum entry Entry3: R|test/Eee|
|
||||||
|
public final static enum entry Entry4: R|test/Eee|
|
||||||
|
|
||||||
public final static val Entry2: R|test/Eee| = object : R|test/Eee| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val Entry3: R|test/Eee| = object : R|test/Eee| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val Entry4: R|test/Eee| = object : R|test/Eee| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +1,18 @@
|
|||||||
internal final enum class In : R|kotlin/Enum<test/In>| {
|
internal final enum class In : R|kotlin/Enum<test/In>| {
|
||||||
private constructor(): R|test/In|
|
private constructor(): R|test/In|
|
||||||
|
|
||||||
public final static val A: R|test/In| = object : R|test/In| {
|
public final static enum entry A: R|test/In|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private final enum class Pr : R|kotlin/Enum<test/Pr>| {
|
private final enum class Pr : R|kotlin/Enum<test/Pr>| {
|
||||||
private constructor(): R|test/Pr|
|
private constructor(): R|test/Pr|
|
||||||
|
|
||||||
public final static val A: R|test/Pr| = object : R|test/Pr| {
|
public final static enum entry A: R|test/Pr|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final enum class Pu : R|kotlin/Enum<test/Pu>| {
|
public final enum class Pu : R|kotlin/Enum<test/Pu>| {
|
||||||
private constructor(): R|test/Pu|
|
private constructor(): R|test/Pu|
|
||||||
|
|
||||||
public final static val A: R|test/Pu| = object : R|test/Pu| {
|
public final static enum entry A: R|test/Pu|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-15
@@ -7,20 +7,8 @@ public final enum class En : R|kotlin/Enum<test/En>| {
|
|||||||
|
|
||||||
private constructor(b: R|kotlin/Boolean| = STUB, i: R|kotlin/Int| = STUB): R|test/En|
|
private constructor(b: R|kotlin/Boolean| = STUB, i: R|kotlin/Int| = STUB): R|test/En|
|
||||||
|
|
||||||
public final static val E1: R|test/En| = object : R|test/En| {
|
public final static enum entry E1: R|test/En|
|
||||||
}
|
public final static enum entry E2: R|test/En|
|
||||||
|
public final static enum entry E3: R|test/En|
|
||||||
|
|
||||||
|
|
||||||
public final static val E2: R|test/En| = object : R|test/En| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val E3: R|test/En| = object : R|test/En| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-10
@@ -19,15 +19,7 @@ public final enum class Enum : R|kotlin/Enum<test/Enum>| {
|
|||||||
public abstract interface Trait : R|kotlin/Any| {
|
public abstract interface Trait : R|kotlin/Any| {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val ENTRY1: R|test/Enum| = object : R|test/Enum| {
|
public final static enum entry ENTRY1: R|test/Enum|
|
||||||
}
|
public final static enum entry ENTRY2: R|test/Enum|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val ENTRY2: R|test/Enum| = object : R|test/Enum| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,7 @@ public final class A : R|kotlin/Any| {
|
|||||||
public final enum class E : R|kotlin/Enum<test/A.E>| {
|
public final enum class E : R|kotlin/Enum<test/A.E>| {
|
||||||
private constructor(): R|test/A.E|
|
private constructor(): R|test/A.E|
|
||||||
|
|
||||||
public final static val ENTRY: R|test/A.E| = object : R|test/A.E| {
|
public final static enum entry ENTRY: R|test/A.E|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-5
@@ -9,11 +9,7 @@ public final class A : R|kotlin/Any| {
|
|||||||
public final enum class E : R|kotlin/Enum<test/A.E>| {
|
public final enum class E : R|kotlin/Enum<test/A.E>| {
|
||||||
private constructor(): R|test/A.E|
|
private constructor(): R|test/A.E|
|
||||||
|
|
||||||
public final static val ENTRY: R|test/A.E| = object : R|test/A.E| {
|
public final static enum entry ENTRY: R|test/A.E|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
public final enum class MyEnum : R|kotlin/Enum<test/MyEnum>| {
|
public final enum class MyEnum : R|kotlin/Enum<test/MyEnum>| {
|
||||||
private constructor(): R|test/MyEnum|
|
private constructor(): R|test/MyEnum|
|
||||||
|
|
||||||
public final static val ENTRY: R|test/MyEnum| = object : R|test/MyEnum| {
|
public final static enum entry ENTRY: R|test/MyEnum|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
public final enum class Test : R|kotlin/Enum<test/Test>| {
|
public final enum class Test : R|kotlin/Enum<test/Test>| {
|
||||||
private constructor(a: R|kotlin/Int|): R|test/Test|
|
private constructor(a: R|kotlin/Int|): R|test/Test|
|
||||||
|
|
||||||
public final static val A: R|test/Test| = object : R|test/Test| {
|
public final static enum entry A: R|test/Test|
|
||||||
}
|
public final static enum entry B: R|test/Test|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val B: R|test/Test| = object : R|test/Test| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-40
@@ -1,45 +1,13 @@
|
|||||||
public final enum class E : R|kotlin/Enum<test/E>| {
|
public final enum class E : R|kotlin/Enum<test/E>| {
|
||||||
private constructor(): R|test/E|
|
private constructor(): R|test/E|
|
||||||
|
|
||||||
public final static val ONE: R|test/E| = object : R|test/E| {
|
public final static enum entry ONE: R|test/E|
|
||||||
}
|
public final static enum entry TWO: R|test/E|
|
||||||
|
public final static enum entry THREE: R|test/E|
|
||||||
|
public final static enum entry FOUR: R|test/E|
|
||||||
|
public final static enum entry FIVE: R|test/E|
|
||||||
public final static val TWO: R|test/E| = object : R|test/E| {
|
public final static enum entry SIX: R|test/E|
|
||||||
}
|
public final static enum entry SEVEN: R|test/E|
|
||||||
|
public final static enum entry EIGHT: R|test/E|
|
||||||
|
|
||||||
|
|
||||||
public final static val THREE: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val FOUR: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val FIVE: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val SIX: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val SEVEN: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static val EIGHT: R|test/E| = object : R|test/E| {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-6
@@ -21,7 +21,7 @@ FILE: enum.kt
|
|||||||
public final val x: R|Some| = R|<local>/x|
|
public final val x: R|Some| = R|<local>/x|
|
||||||
public get(): R|Some|
|
public get(): R|Some|
|
||||||
|
|
||||||
public final static val FIRST: R|SomeEnum| = object : R|SomeEnum| {
|
public final static enum entry FIRST: R|SomeEnum| = object : R|SomeEnum| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|SomeEnum|>(Q|O1|)
|
super<R|SomeEnum|>(Q|O1|)
|
||||||
}
|
}
|
||||||
@@ -32,9 +32,7 @@ FILE: enum.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry SECOND: R|SomeEnum| = object : R|SomeEnum| {
|
||||||
|
|
||||||
public final static val SECOND: R|SomeEnum| = object : R|SomeEnum| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|SomeEnum|>(Q|O2|)
|
super<R|SomeEnum|>(Q|O2|)
|
||||||
}
|
}
|
||||||
@@ -45,8 +43,6 @@ FILE: enum.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public abstract fun check(y: R|Some|): R|kotlin/Boolean|
|
public abstract fun check(y: R|Some|): R|kotlin/Boolean|
|
||||||
|
|
||||||
public final static fun values(): R|kotlin/Array<SomeEnum>| {
|
public final static fun values(): R|kotlin/Array<SomeEnum>| {
|
||||||
|
|||||||
@@ -4,24 +4,20 @@ FILE: enumWithCompanion.kt
|
|||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val A: R|EC| = object : R|EC| {
|
public final static enum entry A: R|EC| = object : R|EC| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|EC|>()
|
super<R|EC|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry B: R|EC| = object : R|EC| {
|
||||||
|
|
||||||
public final static val B: R|EC| = object : R|EC| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|EC|>()
|
super<R|EC|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final companion object Companion : R|kotlin/Any| {
|
public final companion object Companion : R|kotlin/Any| {
|
||||||
private constructor(): R|EC.Companion| {
|
private constructor(): R|EC.Companion| {
|
||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
|
|||||||
@@ -4,33 +4,27 @@ FILE: exhaustiveness_enum.kt
|
|||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val A: R|Enum| = object : R|Enum| {
|
public final static enum entry A: R|Enum| = object : R|Enum| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Enum|>()
|
super<R|Enum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry B: R|Enum| = object : R|Enum| {
|
||||||
|
|
||||||
public final static val B: R|Enum| = object : R|Enum| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Enum|>()
|
super<R|Enum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry C: R|Enum| = object : R|Enum| {
|
||||||
|
|
||||||
public final static val C: R|Enum| = object : R|Enum| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Enum|>()
|
super<R|Enum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static fun values(): R|kotlin/Array<Enum>| {
|
public final static fun values(): R|kotlin/Array<Enum>| {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,33 +4,27 @@ FILE: enumValues.kt
|
|||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val FIRST: R|MyEnum| = object : R|MyEnum| {
|
public final static enum entry FIRST: R|MyEnum| = object : R|MyEnum| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|MyEnum|>()
|
super<R|MyEnum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry SECOND: R|MyEnum| = object : R|MyEnum| {
|
||||||
|
|
||||||
public final static val SECOND: R|MyEnum| = object : R|MyEnum| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|MyEnum|>()
|
super<R|MyEnum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry LAST: R|MyEnum| = object : R|MyEnum| {
|
||||||
|
|
||||||
public final static val LAST: R|MyEnum| = object : R|MyEnum| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|MyEnum|>()
|
super<R|MyEnum|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final fun bar(): R|kotlin/Int| {
|
public final fun bar(): R|kotlin/Int| {
|
||||||
^bar Int(42)
|
^bar Int(42)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-3
@@ -33,15 +33,13 @@ FILE: qualifiedExpressions.kt
|
|||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val 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| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|a/b/E|>()
|
super<R|a/b/E|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static fun values(): R|kotlin/Array<a/b/E>| {
|
public final static fun values(): R|kotlin/Array<a/b/E>| {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-18
@@ -4,33 +4,27 @@ FILE: enums.kt
|
|||||||
super<R|kotlin/Any|>()
|
super<R|kotlin/Any|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final static val FIRST: R|Order| = object : R|Order| {
|
public final static enum entry FIRST: R|Order| = object : R|Order| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Order|>()
|
super<R|Order|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry SECOND: R|Order| = object : R|Order| {
|
||||||
|
|
||||||
public final static val SECOND: R|Order| = object : R|Order| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Order|>()
|
super<R|Order|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry THIRD: R|Order| = object : R|Order| {
|
||||||
|
|
||||||
public final static val THIRD: R|Order| = object : R|Order| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Order|>()
|
super<R|Order|>()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final static fun values(): R|kotlin/Array<Order>| {
|
public final static fun values(): R|kotlin/Array<Order>| {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +43,7 @@ FILE: enums.kt
|
|||||||
internal final val r: R|kotlin/Double| = R|<local>/r|
|
internal final val r: R|kotlin/Double| = R|<local>/r|
|
||||||
internal get(): R|kotlin/Double|
|
internal get(): R|kotlin/Double|
|
||||||
|
|
||||||
public final static val MERCURY: R|Planet| = object : R|Planet| {
|
public final static enum entry MERCURY: R|Planet| = object : R|Planet| {
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Planet|>(Double(1.0), Double(2.0))
|
super<R|Planet|>(Double(1.0), Double(2.0))
|
||||||
}
|
}
|
||||||
@@ -60,9 +54,7 @@ FILE: enums.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry VENERA: R|Planet| = object : R|Planet| {
|
||||||
|
|
||||||
public final static val VENERA: R|Planet| = object : R|Planet| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Planet|>(Double(3.0), Double(4.0))
|
super<R|Planet|>(Double(3.0), Double(4.0))
|
||||||
}
|
}
|
||||||
@@ -73,9 +65,7 @@ FILE: enums.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final static enum entry EARTH: R|Planet| = object : R|Planet| {
|
||||||
|
|
||||||
public final static val EARTH: R|Planet| = object : R|Planet| {
|
|
||||||
private constructor(): R|anonymous| {
|
private constructor(): R|anonymous| {
|
||||||
super<R|Planet|>(Double(5.0), Double(6.0))
|
super<R|Planet|>(Double(5.0), Double(6.0))
|
||||||
}
|
}
|
||||||
@@ -86,8 +76,6 @@ FILE: enums.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public final val g: R|kotlin/Double| = R|/Planet.Companion.G|.R|kotlin/Double.times|(R|<local>/m|).R|kotlin/Double.div|(R|<local>/r|.R|kotlin/Double.times|(R|<local>/r|))
|
public final val g: R|kotlin/Double| = R|/Planet.Companion.G|.R|kotlin/Double.times|(R|<local>/m|).R|kotlin/Double.div|(R|<local>/r|.R|kotlin/Double.times|(R|<local>/r|))
|
||||||
public get(): R|kotlin/Double|
|
public get(): R|kotlin/Double|
|
||||||
|
|
||||||
|
|||||||
@@ -68,14 +68,7 @@ val FirClassSymbol<*>.superConeTypes
|
|||||||
|
|
||||||
val FirClass<*>.superConeTypes get() = superTypeRefs.mapNotNull { it.coneTypeSafe<ConeClassLikeType>() }
|
val FirClass<*>.superConeTypes get() = superTypeRefs.mapNotNull { it.coneTypeSafe<ConeClassLikeType>() }
|
||||||
|
|
||||||
fun FirRegularClass.collectEnumEntries(): Collection<FirPropertySymbol> {
|
fun FirRegularClass.collectEnumEntries(): Collection<FirEnumEntry> {
|
||||||
assert(classKind == ClassKind.ENUM_CLASS)
|
assert(classKind == ClassKind.ENUM_CLASS)
|
||||||
return declarations
|
return declarations.filterIsInstance<FirEnumEntry>()
|
||||||
.mapNotNull {
|
|
||||||
if (it !is FirProperty) return@mapNotNull null
|
|
||||||
val initializer = it.initializer
|
|
||||||
if (initializer == null || initializer !is FirAnonymousObject || initializer.classKind != ClassKind.ENUM_ENTRY)
|
|
||||||
return@mapNotNull null
|
|
||||||
return@mapNotNull it.symbol
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
+110
-67
@@ -1,94 +1,137 @@
|
|||||||
FILE fqName:<root> fileName:/enumEntry.kt
|
FILE fqName:<root> fileName:/enumEntry.kt
|
||||||
CLASS ENUM_CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Z>]
|
CLASS ENUM_CLASS name:Z modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.Z>]
|
||||||
$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]h
|
||||||
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'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.Z>]'
|
<E>: <root>.Z
|
||||||
CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[kotlin.Any]
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_CLASS name:Z modality:OPEN visibility:public superTypes:[kotlin.Enum<<root>.Z>]'
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY
|
ENUM_ENTRY name:ENTRY
|
||||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Z.ENTRY [primary]
|
init: ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z.ENTRY'
|
||||||
BLOCK_BODY
|
class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[<root>.Z]
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
CONSTRUCTOR visibility:private <> () returnType:<root>.Z.ENTRY [primary]
|
||||||
FUN name:test visibility:public modality:FINAL <> ($this:<root>.Z.ENTRY) returnType:kotlin.Unit
|
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY
|
|
||||||
BLOCK_BODY
|
|
||||||
CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
|
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY.A
|
|
||||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Z.ENTRY.A [primary]
|
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z'
|
||||||
FUN name:test2 visibility:public modality:FINAL <> ($this:<root>.Z.ENTRY.A) returnType:kotlin.Unit
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:public superTypes:[<root>.Z]'
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY.A
|
FUN name:test visibility:public modality:FINAL <> ($this:<root>.Z.ENTRY) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public final fun test (): kotlin.Unit declared in <root>.Z.ENTRY' type=kotlin.Unit origin=null
|
CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
|
||||||
$this: GET_VAR '<this>: <root>.Z.ENTRY declared in <root>.Z.ENTRY' type=<root>.Z.ENTRY origin=null
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY.A
|
||||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
CONSTRUCTOR visibility:public <> ($this:<root>.Z.ENTRY) returnType:<root>.Z.ENTRY.A [primary]
|
||||||
|
$outer: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY
|
||||||
|
BLOCK_BODY
|
||||||
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
|
||||||
|
FUN name:test2 visibility:public modality:FINAL <> ($this:<root>.Z.ENTRY.A) returnType:kotlin.Unit
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY.A
|
||||||
|
BLOCK_BODY
|
||||||
|
CALL 'public final fun test (): kotlin.Unit declared in <root>.Z.ENTRY' type=kotlin.Unit origin=null
|
||||||
|
$this: GET_ENUM 'ENUM_ENTRY name:ENTRY' type=<root>.Z.ENTRY
|
||||||
|
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 [operator] declared in kotlin.Any
|
||||||
|
$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.Any
|
||||||
|
$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.Any
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
|
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Any [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
protected final fun clone (): kotlin.Any [fake_override] declared in <root>.Z
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
protected/*protected and package*/ final fun finalize (): kotlin.Unit [fake_override] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:java.lang.Class<<root>.Z?>? [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun getDeclaringClass (): java.lang.Class<<root>.Z?>? [fake_override] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>, other:<root>.Z) returnType:kotlin.Int [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public final fun compareTo (other: <root>.Z): kotlin.Int [fake_override,operator] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
VALUE_PARAMETER name:other index:0 type:<root>.Z
|
||||||
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
overridden:
|
||||||
|
public final fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
VALUE_PARAMETER name:other index:0 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]
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Int [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
public final fun hashCode (): kotlin.Int [fake_override] declared in <root>.Z
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
|
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) 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 [fake_override] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
|
||||||
|
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) 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 [fake_override] declared in <root>.Z
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.String [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String [fake_override] declared in <root>.Z
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Any [fake_override]
|
||||||
overridden:
|
|
||||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
|
||||||
$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.Any
|
|
||||||
$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.Any
|
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
|
||||||
FUN name:values visibility:public modality:FINAL <> ($this:<root>.Z) returnType:kotlin.Array<<root>.Z>
|
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
|
||||||
BLOCK_BODY
|
|
||||||
FUN name:valueOf visibility:public modality:FINAL <> ($this:<root>.Z, value:kotlin.String) returnType:<root>.Z
|
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
|
||||||
VALUE_PARAMETER name:value index:0 type:kotlin.String
|
|
||||||
BLOCK_BODY
|
|
||||||
FUN FAKE_OVERRIDE name:clone visibility:protected modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Any [fake_override]
|
|
||||||
overridden:
|
overridden:
|
||||||
protected final fun clone (): kotlin.Any declared in kotlin.Enum
|
protected final fun clone (): kotlin.Any declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum, other:<root>.Z) returnType:kotlin.Int [fake_override,operator]
|
FUN FAKE_OVERRIDE name:finalize visibility:protected/*protected and package*/ modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Unit [fake_override]
|
||||||
|
overridden:
|
||||||
|
protected/*protected and package*/ final fun finalize (): kotlin.Unit declared in kotlin.Enum
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:getDeclaringClass visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:java.lang.Class<<root>.Z?>? [fake_override]
|
||||||
|
overridden:
|
||||||
|
public final fun getDeclaringClass (): java.lang.Class<E of kotlin.Enum?>? declared in kotlin.Enum
|
||||||
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:compareTo visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>, other:<root>.Z) returnType:kotlin.Int [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum
|
public final fun compareTo (other: E of kotlin.Enum): kotlin.Int [operator] declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
VALUE_PARAMETER name:other index:0 type:<root>.Z
|
VALUE_PARAMETER name:other index:0 type:<root>.Z
|
||||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum
|
public final fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
|
||||||
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum) returnType:kotlin.Int [fake_override]
|
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Int [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
|
public final fun hashCode (): kotlin.Int declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum) returnType:kotlin.String [fake_override]
|
|
||||||
overridden:
|
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Enum
|
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum
|
|
||||||
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
|
PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
|
||||||
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:<root>.Z) returnType:kotlin.String [fake_override]
|
FUN FAKE_OVERRIDE name:<get-name> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.String [fake_override]
|
||||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val]
|
||||||
overridden:
|
overridden:
|
||||||
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
|
public final fun <get-name> (): kotlin.String declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
|
PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
|
||||||
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:<root>.Z) returnType:kotlin.Int [fake_override]
|
FUN FAKE_OVERRIDE name:<get-ordinal> visibility:public modality:FINAL <> ($this:kotlin.Enum<<root>.Z>) returnType:kotlin.Int [fake_override]
|
||||||
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
|
correspondingProperty: PROPERTY FAKE_OVERRIDE name:ordinal visibility:public modality:FINAL [fake_override,val]
|
||||||
overridden:
|
overridden:
|
||||||
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
|
public final fun <get-ordinal> (): kotlin.Int declared in kotlin.Enum
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Enum<<root>.Z>
|
||||||
|
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Enum<<root>.Z>) 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>.Z>
|
||||||
|
FUN ENUM_CLASS_SPECIAL_MEMBER name:values visibility:public modality:FINAL <> () returnType:kotlin.Array<<root>.Z>
|
||||||
|
SYNTHETIC_BODY kind=ENUM_VALUES
|
||||||
|
FUN ENUM_CLASS_SPECIAL_MEMBER name:valueOf visibility:public modality:FINAL <> (value:kotlin.String) returnType:<root>.Z
|
||||||
|
VALUE_PARAMETER name:value index:0 type:kotlin.String
|
||||||
|
SYNTHETIC_BODY kind=ENUM_VALUEOF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user