FIR2IR: get rid of setParentAndContent + fixes around anonymous objects
This commit is contained in:
+144
-95
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.psi
|
|||||||
import org.jetbrains.kotlin.fir.render
|
import org.jetbrains.kotlin.fir.render
|
||||||
import org.jetbrains.kotlin.fir.resolve.*
|
import org.jetbrains.kotlin.fir.resolve.*
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
|
import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -37,6 +38,7 @@ import org.jetbrains.kotlin.ir.types.IrType
|
|||||||
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
||||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||||
import org.jetbrains.kotlin.ir.util.constructors
|
import org.jetbrains.kotlin.ir.util.constructors
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.KtFunctionLiteral
|
import org.jetbrains.kotlin.psi.KtFunctionLiteral
|
||||||
@@ -179,69 +181,8 @@ class Fir2IrDeclarationStorage(
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrClass(klass: FirClass<*>, setParentAndContent: Boolean = true): IrClass {
|
private fun addDeclarationsToExternalClass(regularClass: FirRegularClass, irClass: IrClass) {
|
||||||
val regularClass = klass as? FirRegularClass
|
if (regularClass.symbol.classId.packageFqName.startsWith(Name.identifier("kotlin"))) {
|
||||||
|
|
||||||
fun create(): IrClass {
|
|
||||||
val descriptor = WrappedClassDescriptor()
|
|
||||||
val origin = IrDeclarationOrigin.DEFINED
|
|
||||||
val modality = regularClass?.modality ?: Modality.FINAL
|
|
||||||
val visibility = regularClass?.visibility ?: Visibilities.PUBLIC
|
|
||||||
return klass.convertWithOffsets { startOffset, endOffset ->
|
|
||||||
irSymbolTable.declareClass(startOffset, endOffset, origin, descriptor, modality, visibility) { symbol ->
|
|
||||||
IrClassImpl(
|
|
||||||
startOffset,
|
|
||||||
endOffset,
|
|
||||||
origin,
|
|
||||||
symbol,
|
|
||||||
regularClass?.name ?: Name.special("<anonymous>"),
|
|
||||||
klass.classKind,
|
|
||||||
regularClass?.visibility ?: Visibilities.LOCAL,
|
|
||||||
modality,
|
|
||||||
isCompanion = regularClass?.isCompanion == true,
|
|
||||||
isInner = regularClass?.isInner == true,
|
|
||||||
isData = regularClass?.isData == true,
|
|
||||||
isExternal = regularClass?.isExternal == true,
|
|
||||||
isInline = regularClass?.isInline == true,
|
|
||||||
isExpect = regularClass?.isExpect == true,
|
|
||||||
isFun = false // TODO FirRegularClass.isFun
|
|
||||||
).apply {
|
|
||||||
descriptor.bind(this)
|
|
||||||
if (setParentAndContent && regularClass != null) {
|
|
||||||
val classId = regularClass.classId
|
|
||||||
val parentId = classId.outerClassId
|
|
||||||
if (parentId != null) {
|
|
||||||
val parentFirSymbol = firSymbolProvider.getClassLikeSymbolByFqName(parentId)
|
|
||||||
if (parentFirSymbol is FirClassSymbol) {
|
|
||||||
val parentIrSymbol = getIrClassSymbol(parentFirSymbol)
|
|
||||||
parent = parentIrSymbol.owner
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
val packageFqName = classId.packageFqName
|
|
||||||
parent = getIrExternalPackageFragment(packageFqName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (regularClass?.visibility == Visibilities.LOCAL || klass is FirAnonymousObject) {
|
|
||||||
val cached = localStorage.getLocalClass(klass)
|
|
||||||
if (cached != null) return cached
|
|
||||||
val created = create()
|
|
||||||
localStorage.putLocalClass(klass, created)
|
|
||||||
created.declareSupertypesAndTypeParameters(klass)
|
|
||||||
created.setThisReceiver()
|
|
||||||
return created
|
|
||||||
}
|
|
||||||
// NB: klass can be either FirRegularClass or FirAnonymousObject
|
|
||||||
return classCache.getOrPut(klass as FirRegularClass, { create() }) { irClass ->
|
|
||||||
irClass.declareSupertypesAndTypeParameters(klass)
|
|
||||||
irClass.setThisReceiver()
|
|
||||||
if (setParentAndContent && regularClass != null &&
|
|
||||||
regularClass.symbol.classId.packageFqName.startsWith(Name.identifier("kotlin"))
|
|
||||||
) {
|
|
||||||
// Note: yet this is necessary only for *Range / *Progression classes
|
// Note: yet this is necessary only for *Range / *Progression classes
|
||||||
// due to BE optimizations (for lowering) that use their first / last / step members
|
// due to BE optimizations (for lowering) that use their first / last / step members
|
||||||
// TODO: think how to refactor this piece of code and/or merge it with similar Fir2IrVisitor fragment
|
// TODO: think how to refactor this piece of code and/or merge it with similar Fir2IrVisitor fragment
|
||||||
@@ -250,13 +191,13 @@ class Fir2IrDeclarationStorage(
|
|||||||
irClass.declarations += when (declaration) {
|
irClass.declarations += when (declaration) {
|
||||||
is FirSimpleFunction -> {
|
is FirSimpleFunction -> {
|
||||||
processedNames += declaration.name
|
processedNames += declaration.name
|
||||||
getIrFunction(declaration, irClass, shouldLeaveScope = true)
|
getIrFunction(declaration, irClass)
|
||||||
}
|
}
|
||||||
is FirProperty -> {
|
is FirProperty -> {
|
||||||
processedNames += declaration.name
|
processedNames += declaration.name
|
||||||
getIrProperty(declaration, irClass)
|
getIrProperty(declaration, irClass)
|
||||||
}
|
}
|
||||||
is FirConstructor -> getIrConstructor(declaration, irClass, shouldLeaveScope = true)
|
is FirConstructor -> getIrConstructor(declaration, irClass)
|
||||||
is FirRegularClass -> getIrClass(declaration)
|
is FirRegularClass -> getIrClass(declaration)
|
||||||
else -> continue
|
else -> continue
|
||||||
}
|
}
|
||||||
@@ -271,7 +212,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
if (functionSymbol is FirNamedFunctionSymbol) {
|
if (functionSymbol is FirNamedFunctionSymbol) {
|
||||||
val fakeOverrideSymbol =
|
val fakeOverrideSymbol =
|
||||||
FirClassSubstitutionScope.createFakeOverrideFunction(session, functionSymbol.fir, functionSymbol)
|
FirClassSubstitutionScope.createFakeOverrideFunction(session, functionSymbol.fir, functionSymbol)
|
||||||
irClass.declarations += getIrFunction(fakeOverrideSymbol.fir, irClass, shouldLeaveScope = true)
|
irClass.declarations += getIrFunction(fakeOverrideSymbol.fir, irClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scope.processPropertiesByName(name) { propertySymbol ->
|
scope.processPropertiesByName(name) { propertySymbol ->
|
||||||
@@ -288,14 +229,69 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getCachedIrClass(klass: FirClass<*>): IrClass? {
|
||||||
|
return if (klass is FirAnonymousObject || klass is FirRegularClass && klass.visibility == Visibilities.LOCAL) {
|
||||||
|
localStorage.getLocalClass(klass)
|
||||||
|
} else {
|
||||||
|
classCache[klass]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrAnonymousObject(anonymousObject: FirAnonymousObject): IrClass {
|
private fun createIrClass(klass: FirClass<*>): IrClass {
|
||||||
|
// NB: klass can be either FirRegularClass or FirAnonymousObject
|
||||||
|
if (klass is FirAnonymousObject) {
|
||||||
|
return createIrAnonymousObject(klass)
|
||||||
|
}
|
||||||
|
val regularClass = klass as FirRegularClass
|
||||||
|
|
||||||
|
val descriptor = WrappedClassDescriptor()
|
||||||
|
val origin = IrDeclarationOrigin.DEFINED
|
||||||
|
val modality = regularClass.modality ?: Modality.FINAL
|
||||||
|
val visibility = regularClass.visibility
|
||||||
|
val irClass = klass.convertWithOffsets { startOffset, endOffset ->
|
||||||
|
irSymbolTable.declareClass(startOffset, endOffset, origin, descriptor, modality, visibility) { symbol ->
|
||||||
|
IrClassImpl(
|
||||||
|
startOffset,
|
||||||
|
endOffset,
|
||||||
|
origin,
|
||||||
|
symbol,
|
||||||
|
regularClass.name,
|
||||||
|
klass.classKind,
|
||||||
|
regularClass.visibility,
|
||||||
|
modality,
|
||||||
|
isCompanion = regularClass.isCompanion,
|
||||||
|
isInner = regularClass.isInner,
|
||||||
|
isData = regularClass.isData,
|
||||||
|
isExternal = regularClass.isExternal,
|
||||||
|
isInline = regularClass.isInline,
|
||||||
|
isExpect = regularClass.isExpect,
|
||||||
|
isFun = false // TODO FirRegularClass.isFun
|
||||||
|
).apply {
|
||||||
|
descriptor.bind(this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (regularClass.visibility == Visibilities.LOCAL) {
|
||||||
|
localStorage.putLocalClass(klass, irClass)
|
||||||
|
} else {
|
||||||
|
classCache[klass] = irClass
|
||||||
|
}
|
||||||
|
irClass.declareSupertypesAndTypeParameters(klass)
|
||||||
|
irClass.setThisReceiver()
|
||||||
|
return irClass
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getIrClass(klass: FirClass<*>): IrClass {
|
||||||
|
return getCachedIrClass(klass) ?: createIrClass(klass)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun createIrAnonymousObject(anonymousObject: FirAnonymousObject): IrClass {
|
||||||
val descriptor = WrappedClassDescriptor()
|
val descriptor = WrappedClassDescriptor()
|
||||||
val origin = IrDeclarationOrigin.DEFINED
|
val origin = IrDeclarationOrigin.DEFINED
|
||||||
val modality = Modality.FINAL
|
val modality = Modality.FINAL
|
||||||
val visibility = Visibilities.LOCAL
|
val visibility = Visibilities.LOCAL
|
||||||
return anonymousObject.convertWithOffsets { startOffset, endOffset ->
|
val result = anonymousObject.convertWithOffsets { startOffset, endOffset ->
|
||||||
irSymbolTable.declareClass(startOffset, endOffset, origin, descriptor, modality, visibility) { symbol ->
|
irSymbolTable.declareClass(startOffset, endOffset, origin, descriptor, modality, visibility) { symbol ->
|
||||||
IrClassImpl(
|
IrClassImpl(
|
||||||
startOffset, endOffset, origin, symbol,
|
startOffset, endOffset, origin, symbol,
|
||||||
@@ -309,6 +305,13 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.declareSupertypesAndTypeParameters(anonymousObject)
|
}.declareSupertypesAndTypeParameters(anonymousObject)
|
||||||
|
localStorage.putLocalClass(anonymousObject, result)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getIrAnonymousObject(anonymousObject: FirAnonymousObject): IrClass {
|
||||||
|
localStorage.getLocalClass(anonymousObject)?.let { return it }
|
||||||
|
return createIrAnonymousObject(anonymousObject)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getIrEnumEntryClass(enumEntry: FirEnumEntry, anonymousObject: FirAnonymousObject, irParent: IrClass?): IrClass {
|
private fun getIrEnumEntryClass(enumEntry: FirEnumEntry, anonymousObject: FirAnonymousObject, irParent: IrClass?): IrClass {
|
||||||
@@ -389,10 +392,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun findIrParent(callableDeclaration: FirCallableDeclaration<*>): IrDeclarationParent? {
|
private fun findIrParent(packageFqName: FqName, parentClassId: ClassId?, firBasedSymbol: FirBasedSymbol<*>): IrDeclarationParent? {
|
||||||
val firBasedSymbol = callableDeclaration.symbol
|
|
||||||
val callableId = firBasedSymbol.callableId
|
|
||||||
val parentClassId = callableId.classId
|
|
||||||
return if (parentClassId != null) {
|
return if (parentClassId != null) {
|
||||||
// TODO: this will never work for local classes
|
// TODO: this will never work for local classes
|
||||||
val parentFirSymbol = firSymbolProvider.getClassLikeSymbolByFqName(parentClassId)
|
val parentFirSymbol = firSymbolProvider.getClassLikeSymbolByFqName(parentClassId)
|
||||||
@@ -403,16 +403,26 @@ class Fir2IrDeclarationStorage(
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val containerFile = firProvider.getFirCallableContainerFile(firBasedSymbol)
|
val containerFile = when (firBasedSymbol) {
|
||||||
|
is FirCallableSymbol -> firProvider.getFirCallableContainerFile(firBasedSymbol)
|
||||||
|
is FirClassLikeSymbol -> firProvider.getFirClassifierContainerFileIfAny(firBasedSymbol)
|
||||||
|
else -> throw AssertionError("Unexpected: $firBasedSymbol")
|
||||||
|
}
|
||||||
|
|
||||||
if (containerFile != null) {
|
if (containerFile != null) {
|
||||||
fileCache[containerFile]
|
fileCache[containerFile]
|
||||||
} else {
|
} else {
|
||||||
val packageFqName = callableId.packageName
|
|
||||||
getIrExternalPackageFragment(packageFqName)
|
getIrExternalPackageFragment(packageFqName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal fun findIrParent(callableDeclaration: FirCallableDeclaration<*>): IrDeclarationParent? {
|
||||||
|
val firBasedSymbol = callableDeclaration.symbol
|
||||||
|
val callableId = firBasedSymbol.callableId
|
||||||
|
return findIrParent(callableId.packageName, callableId.classId, firBasedSymbol)
|
||||||
|
}
|
||||||
|
|
||||||
private fun IrDeclaration.setAndModifyParent(irParent: IrDeclarationParent?) {
|
private fun IrDeclaration.setAndModifyParent(irParent: IrDeclarationParent?) {
|
||||||
if (irParent != null) {
|
if (irParent != null) {
|
||||||
parent = irParent
|
parent = irParent
|
||||||
@@ -504,18 +514,13 @@ class Fir2IrDeclarationStorage(
|
|||||||
descriptor: WrappedCallableDescriptor<T>,
|
descriptor: WrappedCallableDescriptor<T>,
|
||||||
irParent: IrDeclarationParent?,
|
irParent: IrDeclarationParent?,
|
||||||
isStatic: Boolean,
|
isStatic: Boolean,
|
||||||
shouldLeaveScope: Boolean,
|
|
||||||
parentPropertyReceiverType: FirTypeRef? = null
|
parentPropertyReceiverType: FirTypeRef? = null
|
||||||
): T {
|
): T {
|
||||||
if (irParent != null) {
|
if (irParent != null) {
|
||||||
parent = irParent
|
parent = irParent
|
||||||
}
|
}
|
||||||
descriptor.bind(this)
|
descriptor.bind(this)
|
||||||
enterScope(descriptor)
|
|
||||||
declareParameters(function, irParent as? IrClass, isStatic, parentPropertyReceiverType)
|
declareParameters(function, irParent as? IrClass, isStatic, parentPropertyReceiverType)
|
||||||
if (shouldLeaveScope) {
|
|
||||||
leaveScope(descriptor)
|
|
||||||
}
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -531,7 +536,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
fun getIrFunction(
|
fun getIrFunction(
|
||||||
function: FirSimpleFunction,
|
function: FirSimpleFunction,
|
||||||
irParent: IrDeclarationParent?,
|
irParent: IrDeclarationParent?,
|
||||||
shouldLeaveScope: Boolean = false,
|
shouldLeaveScope: Boolean = true,
|
||||||
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
|
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
|
||||||
): IrSimpleFunction {
|
): IrSimpleFunction {
|
||||||
fun create(): IrSimpleFunction {
|
fun create(): IrSimpleFunction {
|
||||||
@@ -555,9 +560,8 @@ class Fir2IrDeclarationStorage(
|
|||||||
isOperator = function.isOperator
|
isOperator = function.isOperator
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
leaveScope(descriptor)
|
|
||||||
result
|
result
|
||||||
}.bindAndDeclareParameters(function, descriptor, irParent, isStatic = function.isStatic, shouldLeaveScope = shouldLeaveScope)
|
}.bindAndDeclareParameters(function, descriptor, irParent, isStatic = function.isStatic)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (function.visibility == Visibilities.LOCAL) {
|
if (function.visibility == Visibilities.LOCAL) {
|
||||||
@@ -566,6 +570,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
||||||
}
|
}
|
||||||
val created = create()
|
val created = create()
|
||||||
|
if (shouldLeaveScope) {
|
||||||
|
leaveScope(created.descriptor)
|
||||||
|
}
|
||||||
localStorage.putLocalFunction(function, created)
|
localStorage.putLocalFunction(function, created)
|
||||||
return created
|
return created
|
||||||
}
|
}
|
||||||
@@ -574,6 +581,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
||||||
}
|
}
|
||||||
val created = create()
|
val created = create()
|
||||||
|
if (shouldLeaveScope) {
|
||||||
|
leaveScope(created.descriptor)
|
||||||
|
}
|
||||||
if (function.symbol.callableId.isKFunctionInvoke()) {
|
if (function.symbol.callableId.isKFunctionInvoke()) {
|
||||||
(function.symbol.overriddenSymbol as? FirNamedFunctionSymbol)?.let {
|
(function.symbol.overriddenSymbol as? FirNamedFunctionSymbol)?.let {
|
||||||
created.overriddenSymbols += getIrFunctionSymbol(it) as IrSimpleFunctionSymbol
|
created.overriddenSymbols += getIrFunctionSymbol(it) as IrSimpleFunctionSymbol
|
||||||
@@ -586,7 +596,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
fun getIrLocalFunction(
|
fun getIrLocalFunction(
|
||||||
function: FirAnonymousFunction,
|
function: FirAnonymousFunction,
|
||||||
irParent: IrDeclarationParent? = null,
|
irParent: IrDeclarationParent? = null,
|
||||||
shouldLeaveScope: Boolean = false
|
shouldLeaveScope: Boolean = true
|
||||||
): IrSimpleFunction {
|
): IrSimpleFunction {
|
||||||
val descriptor = WrappedSimpleFunctionDescriptor()
|
val descriptor = WrappedSimpleFunctionDescriptor()
|
||||||
val isLambda = function.psi is KtFunctionLiteral
|
val isLambda = function.psi is KtFunctionLiteral
|
||||||
@@ -604,17 +614,23 @@ class Fir2IrDeclarationStorage(
|
|||||||
isExpect = false,
|
isExpect = false,
|
||||||
isFakeOverride = false,
|
isFakeOverride = false,
|
||||||
isOperator = false
|
isOperator = false
|
||||||
)
|
).apply {
|
||||||
|
enterScope(descriptor)
|
||||||
|
}
|
||||||
}.bindAndDeclareParameters(
|
}.bindAndDeclareParameters(
|
||||||
function, descriptor, irParent = irParent, isStatic = false, shouldLeaveScope = shouldLeaveScope
|
function, descriptor, irParent = irParent, isStatic = false
|
||||||
)
|
).apply {
|
||||||
|
if (shouldLeaveScope) {
|
||||||
|
leaveScope(descriptor)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getIrConstructor(
|
fun getIrConstructor(
|
||||||
constructor: FirConstructor,
|
constructor: FirConstructor,
|
||||||
irParent: IrDeclarationParent? = null,
|
irParent: IrDeclarationParent? = null,
|
||||||
shouldLeaveScope: Boolean = false
|
shouldLeaveScope: Boolean = true
|
||||||
): IrConstructor {
|
): IrConstructor {
|
||||||
val cached = constructorCache[constructor]
|
val cached = constructorCache[constructor]
|
||||||
if (cached != null) {
|
if (cached != null) {
|
||||||
@@ -635,7 +651,13 @@ class Fir2IrDeclarationStorage(
|
|||||||
Name.special("<init>"), visibility,
|
Name.special("<init>"), visibility,
|
||||||
constructor.returnTypeRef.toIrType(),
|
constructor.returnTypeRef.toIrType(),
|
||||||
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false
|
||||||
).bindAndDeclareParameters(constructor, descriptor, irParent, isStatic = true, shouldLeaveScope = shouldLeaveScope)
|
).apply {
|
||||||
|
enterScope(descriptor)
|
||||||
|
}.bindAndDeclareParameters(constructor, descriptor, irParent, isStatic = true).apply {
|
||||||
|
if (shouldLeaveScope) {
|
||||||
|
leaveScope(descriptor)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
constructorCache[constructor] = created
|
constructorCache[constructor] = created
|
||||||
@@ -685,10 +707,12 @@ class Fir2IrDeclarationStorage(
|
|||||||
property.returnTypeRef.toIrType(ConversionTypeContext.DEFAULT.inSetter())
|
property.returnTypeRef.toIrType(ConversionTypeContext.DEFAULT.inSetter())
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
enterScope(descriptor)
|
||||||
}.bindAndDeclareParameters(
|
}.bindAndDeclareParameters(
|
||||||
propertyAccessor, descriptor, irParent, isStatic = irParent !is IrClass, shouldLeaveScope = true,
|
propertyAccessor, descriptor, irParent, isStatic = irParent !is IrClass,
|
||||||
parentPropertyReceiverType = property.receiverTypeRef
|
parentPropertyReceiverType = property.receiverTypeRef
|
||||||
).apply {
|
).apply {
|
||||||
|
leaveScope(descriptor)
|
||||||
if (irParent != null) {
|
if (irParent != null) {
|
||||||
parent = irParent
|
parent = irParent
|
||||||
}
|
}
|
||||||
@@ -738,8 +762,16 @@ class Fir2IrDeclarationStorage(
|
|||||||
fun getIrProperty(
|
fun getIrProperty(
|
||||||
property: FirProperty,
|
property: FirProperty,
|
||||||
irParent: IrDeclarationParent?,
|
irParent: IrDeclarationParent?,
|
||||||
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED
|
origin: IrDeclarationOrigin = IrDeclarationOrigin.DEFINED,
|
||||||
|
shouldLeaveScope: Boolean = true
|
||||||
): IrProperty {
|
): IrProperty {
|
||||||
|
val cached = propertyCache[property]
|
||||||
|
if (cached != null) {
|
||||||
|
if (!shouldLeaveScope) {
|
||||||
|
enterScope(cached.descriptor)
|
||||||
|
}
|
||||||
|
return cached
|
||||||
|
}
|
||||||
return propertyCache.getOrPut(property) {
|
return propertyCache.getOrPut(property) {
|
||||||
val containerSource = property.containerSource
|
val containerSource = property.containerSource
|
||||||
val descriptor = containerSource?.let { WrappedPropertyDescriptorWithContainerSource(it) } ?: WrappedPropertyDescriptor()
|
val descriptor = containerSource?.let { WrappedPropertyDescriptorWithContainerSource(it) } ?: WrappedPropertyDescriptor()
|
||||||
@@ -789,7 +821,9 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (shouldLeaveScope) {
|
||||||
leaveScope(descriptor)
|
leaveScope(descriptor)
|
||||||
|
}
|
||||||
result
|
result
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -913,7 +947,22 @@ class Fir2IrDeclarationStorage(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>): IrClassSymbol {
|
fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>): IrClassSymbol {
|
||||||
val irClass = getIrClass(firClassSymbol.fir)
|
val firClass = firClassSymbol.fir
|
||||||
|
getCachedIrClass(firClass)?.let { return irSymbolTable.referenceClass(it.descriptor) }
|
||||||
|
val irClass = createIrClass(firClass)
|
||||||
|
if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.LOCAL) {
|
||||||
|
return irSymbolTable.referenceClass(irClass.descriptor)
|
||||||
|
}
|
||||||
|
val classId = firClassSymbol.classId
|
||||||
|
val parentId = classId.outerClassId
|
||||||
|
val irParent = findIrParent(classId.packageFqName, parentId, firClassSymbol)
|
||||||
|
if (irParent != null) {
|
||||||
|
irClass.parent = irParent
|
||||||
|
}
|
||||||
|
if (irParent is IrExternalPackageFragment) {
|
||||||
|
addDeclarationsToExternalClass(firClass as FirRegularClass, irClass)
|
||||||
|
}
|
||||||
|
|
||||||
return irSymbolTable.referenceClass(irClass.descriptor)
|
return irSymbolTable.referenceClass(irClass.descriptor)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -930,19 +979,19 @@ class Fir2IrDeclarationStorage(
|
|||||||
val irParent = (firDeclaration as? FirCallableDeclaration<*>)?.let { findIrParent(it) }
|
val irParent = (firDeclaration as? FirCallableDeclaration<*>)?.let { findIrParent(it) }
|
||||||
return when (firDeclaration) {
|
return when (firDeclaration) {
|
||||||
is FirSimpleFunction -> {
|
is FirSimpleFunction -> {
|
||||||
val irDeclaration = getIrFunction(firDeclaration, irParent, shouldLeaveScope = true).apply {
|
val irDeclaration = getIrFunction(firDeclaration, irParent).apply {
|
||||||
setAndModifyParent(irParent)
|
setAndModifyParent(irParent)
|
||||||
}
|
}
|
||||||
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
||||||
}
|
}
|
||||||
is FirAnonymousFunction -> {
|
is FirAnonymousFunction -> {
|
||||||
val irDeclaration = getIrLocalFunction(firDeclaration, irParent, shouldLeaveScope = true).apply {
|
val irDeclaration = getIrLocalFunction(firDeclaration, irParent).apply {
|
||||||
setAndModifyParent(irParent)
|
setAndModifyParent(irParent)
|
||||||
}
|
}
|
||||||
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
||||||
}
|
}
|
||||||
is FirConstructor -> {
|
is FirConstructor -> {
|
||||||
val irDeclaration = getIrConstructor(firDeclaration, irParent, shouldLeaveScope = true).apply {
|
val irDeclaration = getIrConstructor(firDeclaration, irParent).apply {
|
||||||
setAndModifyParent(irParent)
|
setAndModifyParent(irParent)
|
||||||
}
|
}
|
||||||
irSymbolTable.referenceConstructor(irDeclaration.descriptor)
|
irSymbolTable.referenceConstructor(irDeclaration.descriptor)
|
||||||
@@ -996,7 +1045,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
is FirEnumEntry -> {
|
is FirEnumEntry -> {
|
||||||
val containingFile = firProvider.getFirCallableContainerFile(firVariableSymbol)
|
val containingFile = firProvider.getFirCallableContainerFile(firVariableSymbol)
|
||||||
val parentClassSymbol = firVariableSymbol.callableId.classId?.let { firSymbolProvider.getClassLikeSymbolByFqName(it) }
|
val parentClassSymbol = firVariableSymbol.callableId.classId?.let { firSymbolProvider.getClassLikeSymbolByFqName(it) }
|
||||||
val irParentClass = (parentClassSymbol?.fir as? FirClass<*>)?.let { getIrClass(it, setParentAndContent = false) }
|
val irParentClass = (parentClassSymbol?.fir as? FirClass<*>)?.let { getIrClass(it) }
|
||||||
val irEnumEntry = getIrEnumEntry(
|
val irEnumEntry = getIrEnumEntry(
|
||||||
firDeclaration,
|
firDeclaration,
|
||||||
irParent = irParentClass,
|
irParent = irParentClass,
|
||||||
|
|||||||
+2
-4
@@ -73,8 +73,7 @@ class Fir2IrFakeOverrideGenerator(
|
|||||||
val baseSymbol = functionSymbol.deepestOverriddenSymbol() as FirNamedFunctionSymbol
|
val baseSymbol = functionSymbol.deepestOverriddenSymbol() as FirNamedFunctionSymbol
|
||||||
val irFunction = declarationStorage.getIrFunction(
|
val irFunction = declarationStorage.getIrFunction(
|
||||||
// TODO: parents for functions and properties should be consistent
|
// TODO: parents for functions and properties should be consistent
|
||||||
originalFunction, declarationStorage.findIrParent(baseSymbol.fir),
|
originalFunction, declarationStorage.findIrParent(baseSymbol.fir), origin = origin
|
||||||
origin = origin, shouldLeaveScope = true
|
|
||||||
)
|
)
|
||||||
// In fake overrides, parent logic is a bit specific, because
|
// In fake overrides, parent logic is a bit specific, because
|
||||||
// parent of *original* function (base class) is used for dispatch receiver,
|
// parent of *original* function (base class) is used for dispatch receiver,
|
||||||
@@ -91,8 +90,7 @@ class Fir2IrFakeOverrideGenerator(
|
|||||||
val fakeOverrideFunction = fakeOverrideSymbol.fir
|
val fakeOverrideFunction = fakeOverrideSymbol.fir
|
||||||
|
|
||||||
val irFunction = declarationStorage.getIrFunction(
|
val irFunction = declarationStorage.getIrFunction(
|
||||||
fakeOverrideFunction, declarationStorage.findIrParent(originalFunction),
|
fakeOverrideFunction, declarationStorage.findIrParent(originalFunction), origin = origin
|
||||||
origin = origin, shouldLeaveScope = true
|
|
||||||
)
|
)
|
||||||
val overriddenSymbol = declarationStorage.getIrFunctionSymbol(functionSymbol) as IrSimpleFunctionSymbol
|
val overriddenSymbol = declarationStorage.getIrFunctionSymbol(functionSymbol) as IrSimpleFunctionSymbol
|
||||||
declarations += irFunction.withFunction {
|
declarations += irFunction.withFunction {
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ class Fir2IrVisitor(
|
|||||||
|
|
||||||
override fun visitRegularClass(regularClass: FirRegularClass, data: Any?): IrElement {
|
override fun visitRegularClass(regularClass: FirRegularClass, data: Any?): IrElement {
|
||||||
return conversionScope.withParent(
|
return conversionScope.withParent(
|
||||||
applyParentFromStackTo(declarationStorage.getIrClass(regularClass, setParentAndContent = false))
|
applyParentFromStackTo(declarationStorage.getIrClass(regularClass))
|
||||||
) {
|
) {
|
||||||
setClassContent(regularClass)
|
setClassContent(regularClass)
|
||||||
}
|
}
|
||||||
@@ -228,7 +228,7 @@ class Fir2IrVisitor(
|
|||||||
|
|
||||||
override fun visitConstructor(constructor: FirConstructor, data: Any?): IrElement {
|
override fun visitConstructor(constructor: FirConstructor, data: Any?): IrElement {
|
||||||
val irConstructor = declarationStorage.getIrConstructor(
|
val irConstructor = declarationStorage.getIrConstructor(
|
||||||
constructor, irParent = conversionScope.lastClass()
|
constructor, irParent = conversionScope.lastClass(), shouldLeaveScope = false
|
||||||
)
|
)
|
||||||
return conversionScope.withFunction(irConstructor) {
|
return conversionScope.withFunction(irConstructor) {
|
||||||
setFunctionContent(irConstructor.descriptor, constructor)
|
setFunctionContent(irConstructor.descriptor, constructor)
|
||||||
@@ -285,7 +285,7 @@ class Fir2IrVisitor(
|
|||||||
|
|
||||||
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Any?): IrElement {
|
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Any?): IrElement {
|
||||||
val irFunction = declarationStorage.getIrFunction(
|
val irFunction = declarationStorage.getIrFunction(
|
||||||
simpleFunction, irParent = conversionScope.parent()
|
simpleFunction, irParent = conversionScope.parent(), shouldLeaveScope = false
|
||||||
)
|
)
|
||||||
return conversionScope.withFunction(irFunction) {
|
return conversionScope.withFunction(irFunction) {
|
||||||
setFunctionContent(irFunction.descriptor, simpleFunction)
|
setFunctionContent(irFunction.descriptor, simpleFunction)
|
||||||
@@ -294,7 +294,7 @@ class Fir2IrVisitor(
|
|||||||
|
|
||||||
override fun visitAnonymousFunction(anonymousFunction: FirAnonymousFunction, data: Any?): IrElement {
|
override fun visitAnonymousFunction(anonymousFunction: FirAnonymousFunction, data: Any?): IrElement {
|
||||||
return anonymousFunction.convertWithOffsets { startOffset, endOffset ->
|
return anonymousFunction.convertWithOffsets { startOffset, endOffset ->
|
||||||
val irFunction = declarationStorage.getIrLocalFunction(anonymousFunction, conversionScope.parent())
|
val irFunction = declarationStorage.getIrLocalFunction(anonymousFunction, conversionScope.parent(), shouldLeaveScope = false)
|
||||||
conversionScope.withFunction(irFunction) {
|
conversionScope.withFunction(irFunction) {
|
||||||
setFunctionContent(irFunction.descriptor, anonymousFunction)
|
setFunctionContent(irFunction.descriptor, anonymousFunction)
|
||||||
}
|
}
|
||||||
@@ -360,7 +360,6 @@ class Fir2IrVisitor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun IrProperty.setPropertyContent(descriptor: PropertyDescriptor, property: FirProperty): IrProperty {
|
private fun IrProperty.setPropertyContent(descriptor: PropertyDescriptor, property: FirProperty): IrProperty {
|
||||||
declarationStorage.enterScope(descriptor)
|
|
||||||
val initializer = property.initializer
|
val initializer = property.initializer
|
||||||
val delegate = property.delegate
|
val delegate = property.delegate
|
||||||
val irParent = this.parent
|
val irParent = this.parent
|
||||||
@@ -399,7 +398,7 @@ class Fir2IrVisitor(
|
|||||||
|
|
||||||
override fun visitProperty(property: FirProperty, data: Any?): IrElement {
|
override fun visitProperty(property: FirProperty, data: Any?): IrElement {
|
||||||
if (property.isLocal) return visitLocalVariable(property)
|
if (property.isLocal) return visitLocalVariable(property)
|
||||||
val irProperty = declarationStorage.getIrProperty(property, irParent = conversionScope.parent())
|
val irProperty = declarationStorage.getIrProperty(property, irParent = conversionScope.parent(), shouldLeaveScope = false)
|
||||||
return conversionScope.withProperty(irProperty) { setPropertyContent(irProperty.descriptor, property) }
|
return conversionScope.withProperty(irProperty) { setPropertyContent(irProperty.descriptor, property) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -556,7 +555,7 @@ class Fir2IrVisitor(
|
|||||||
val irClass = symbol.owner
|
val irClass = symbol.owner
|
||||||
val fir = firSymbol?.fir as? FirClass<*>
|
val fir = firSymbol?.fir as? FirClass<*>
|
||||||
val irConstructor = fir?.getPrimaryConstructorIfAny()?.let { firConstructor ->
|
val irConstructor = fir?.getPrimaryConstructorIfAny()?.let { firConstructor ->
|
||||||
declarationStorage.getIrConstructor(firConstructor, irParent = irClass, shouldLeaveScope = true)
|
declarationStorage.getIrConstructor(firConstructor, irParent = irClass)
|
||||||
}?.apply {
|
}?.apply {
|
||||||
this.parent = irClass
|
this.parent = irClass
|
||||||
}
|
}
|
||||||
@@ -646,7 +645,7 @@ class Fir2IrVisitor(
|
|||||||
it is FirAnonymousObject || it is FirRegularClass && it.classKind == ClassKind.OBJECT
|
it is FirAnonymousObject || it is FirRegularClass && it.classKind == ClassKind.OBJECT
|
||||||
}
|
}
|
||||||
firClass?.convertWithOffsets { startOffset, endOffset ->
|
firClass?.convertWithOffsets { startOffset, endOffset ->
|
||||||
val irClass = declarationStorage.getIrClass(firClass, setParentAndContent = false)
|
val irClass = declarationStorage.getIrClass(firClass)
|
||||||
IrGetObjectValueImpl(startOffset, endOffset, irClass.defaultType, irClass.symbol)
|
IrGetObjectValueImpl(startOffset, endOffset, irClass.defaultType, irClass.symbol)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -714,7 +713,7 @@ class Fir2IrVisitor(
|
|||||||
it is FirAnonymousObject || it is FirRegularClass && it.classKind == ClassKind.OBJECT
|
it is FirAnonymousObject || it is FirRegularClass && it.classKind == ClassKind.OBJECT
|
||||||
}
|
}
|
||||||
if (firObject != null) {
|
if (firObject != null) {
|
||||||
val irObject = declarationStorage.getIrClass(firObject, setParentAndContent = false)
|
val irObject = declarationStorage.getIrClass(firObject)
|
||||||
if (irObject != conversionScope.lastClass()) {
|
if (irObject != conversionScope.lastClass()) {
|
||||||
return thisReceiverExpression.convertWithOffsets { startOffset, endOffset ->
|
return thisReceiverExpression.convertWithOffsets { startOffset, endOffset ->
|
||||||
IrGetObjectValueImpl(startOffset, endOffset, irObject.defaultType, irObject.symbol)
|
IrGetObjectValueImpl(startOffset, endOffset, irObject.defaultType, irObject.symbol)
|
||||||
|
|||||||
+11
-11
@@ -75,7 +75,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST1
|
ENUM_ENTRY name:TEST1
|
||||||
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
||||||
x: CONST Int type=kotlin.Int value=1
|
x: CONST Int type=kotlin.Int value=1
|
||||||
@@ -83,7 +83,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST2
|
ENUM_ENTRY name:TEST2
|
||||||
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
||||||
x: CONST Int type=kotlin.Int value=2
|
x: CONST Int type=kotlin.Int value=2
|
||||||
@@ -91,7 +91,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST3
|
ENUM_ENTRY name:TEST3
|
||||||
class: CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
class: CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[<root>.TestEnum2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST3
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum2.TEST3
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum2'
|
||||||
x: CONST Int type=kotlin.Int value=3
|
x: CONST Int type=kotlin.Int value=3
|
||||||
@@ -147,7 +147,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum3.TEST
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum3.TEST
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum3'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum3'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum3]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum3]'
|
||||||
@@ -221,7 +221,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST1
|
ENUM_ENTRY name:TEST1
|
||||||
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum4]
|
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum4]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum4.TEST1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum4.TEST1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum4'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum4'
|
||||||
x: CONST Int type=kotlin.Int value=1
|
x: CONST Int type=kotlin.Int value=1
|
||||||
@@ -234,7 +234,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST2
|
ENUM_ENTRY name:TEST2
|
||||||
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum4]
|
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum4]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum4.TEST2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum4.TEST2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum4'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum4'
|
||||||
x: CONST Int type=kotlin.Int value=2
|
x: CONST Int type=kotlin.Int value=2
|
||||||
@@ -251,7 +251,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ANONYMOUS_INITIALIZER isStatic=false
|
ANONYMOUS_INITIALIZER isStatic=false
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:private [final]' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:private [final]' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
receiver: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
value: GET_VAR 'x: kotlin.Int declared in <root>.TestEnum4.<init>' type=kotlin.Int origin=null
|
value: GET_VAR 'x: kotlin.Int declared in <root>.TestEnum4.<init>' type=kotlin.Int origin=null
|
||||||
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.TestEnum4.TEST2) returnType:kotlin.Unit
|
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.TestEnum4.TEST2) returnType:kotlin.Unit
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnum4.TEST2
|
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnum4.TEST2
|
||||||
@@ -325,21 +325,21 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST1
|
ENUM_ENTRY name:TEST1
|
||||||
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
class: CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST1 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]'
|
||||||
ENUM_ENTRY name:TEST2
|
ENUM_ENTRY name:TEST2
|
||||||
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
class: CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:TEST2 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]'
|
||||||
ENUM_ENTRY name:TEST3
|
ENUM_ENTRY name:TEST3
|
||||||
class: CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
class: CLASS ENUM_ENTRY name:TEST3 modality:FINAL visibility:private superTypes:[<root>.TestEnum5]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST3
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum5.TEST3
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestEnum5'
|
||||||
x: CONST Int type=kotlin.Int value=0
|
x: CONST Int type=kotlin.Int value=0
|
||||||
@@ -423,7 +423,7 @@ FILE fqName:<root> fileName:/enum.kt
|
|||||||
ENUM_ENTRY name:TEST
|
ENUM_ENTRY name:TEST
|
||||||
class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum6]
|
class: CLASS ENUM_ENTRY name:TEST modality:FINAL visibility:private superTypes:[<root>.TestEnum6]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum6.TEST
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum6.TEST
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int, y: kotlin.Int) [primary] declared in <root>.TestEnum6'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int, y: kotlin.Int) [primary] declared in <root>.TestEnum6'
|
||||||
x: CALL 'public final fun f (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
x: CALL 'public final fun f (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
ENUM_ENTRY name:X1
|
ENUM_ENTRY name:X1
|
||||||
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum2]
|
class: CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestFinalEnum2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum2.X1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestFinalEnum2.X1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestFinalEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.TestFinalEnum2'
|
||||||
x: CONST Int type=kotlin.Int value=1
|
x: CONST Int type=kotlin.Int value=1
|
||||||
@@ -182,7 +182,7 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum1.X1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum1.X1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestOpenEnum1'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestOpenEnum1'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum1]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum1]'
|
||||||
@@ -242,7 +242,7 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum2.X1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestOpenEnum2.X1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestOpenEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestOpenEnum2'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum2]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestOpenEnum2]'
|
||||||
@@ -303,7 +303,7 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum1.X1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum1.X1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestAbstractEnum1'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestAbstractEnum1'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum1]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum1]'
|
||||||
@@ -380,7 +380,7 @@ FILE fqName:<root> fileName:/enumClassModality.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum2.X1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAbstractEnum2.X1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestAbstractEnum2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestAbstractEnum2'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum2]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:X1 modality:FINAL visibility:private superTypes:[<root>.TestAbstractEnum2]'
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ FILE fqName:<root> fileName:/enumWithMultipleCtors.kt
|
|||||||
ENUM_ENTRY name:X
|
ENUM_ENTRY name:X
|
||||||
class: CLASS ENUM_ENTRY name:X modality:FINAL visibility:private superTypes:[<root>.A]
|
class: CLASS ENUM_ENTRY name:X modality:FINAL visibility:private superTypes:[<root>.A]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.X
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.X
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (arg: kotlin.String) declared in <root>.A'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (arg: kotlin.String) declared in <root>.A'
|
||||||
arg: CONST String type=kotlin.String value="asd"
|
arg: CONST String type=kotlin.String value="asd"
|
||||||
@@ -12,7 +12,7 @@ FILE fqName:<root> fileName:/enumWithMultipleCtors.kt
|
|||||||
ENUM_ENTRY name:Y
|
ENUM_ENTRY name:Y
|
||||||
class: CLASS ENUM_ENTRY name:Y modality:FINAL visibility:private superTypes:[<root>.A]
|
class: CLASS ENUM_ENTRY name:Y modality:FINAL visibility:private superTypes:[<root>.A]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.Y
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.Y
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.A'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.A'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Y modality:FINAL visibility:private superTypes:[<root>.A]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Y modality:FINAL visibility:private superTypes:[<root>.A]'
|
||||||
@@ -27,7 +27,7 @@ FILE fqName:<root> fileName:/enumWithMultipleCtors.kt
|
|||||||
ENUM_ENTRY name:Z
|
ENUM_ENTRY name:Z
|
||||||
class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.A]
|
class: CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.A]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.Z
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A.Z
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) declared in <root>.A'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) declared in <root>.A'
|
||||||
x: CONST Int type=kotlin.Int value=5
|
x: CONST Int type=kotlin.Int value=5
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
ENUM_ENTRY name:ZERO
|
ENUM_ENTRY name:ZERO
|
||||||
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test0]
|
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test0]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test0.ZERO
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test0.ZERO
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test0'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test0'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test0]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test0]'
|
||||||
@@ -92,14 +92,14 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
ENUM_ENTRY name:ZERO
|
ENUM_ENTRY name:ZERO
|
||||||
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test1]
|
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test1]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1.ZERO
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1.ZERO
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test1'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test1'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test1]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test1]'
|
||||||
ENUM_ENTRY name:ONE
|
ENUM_ENTRY name:ONE
|
||||||
class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:private superTypes:[<root>.Test1]
|
class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:private superTypes:[<root>.Test1]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1.ONE
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1.ONE
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.Test1'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.Test1'
|
||||||
x: CONST Int type=kotlin.Int value=1
|
x: CONST Int type=kotlin.Int value=1
|
||||||
@@ -171,7 +171,7 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
ENUM_ENTRY name:ZERO
|
ENUM_ENTRY name:ZERO
|
||||||
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test2]
|
class: CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.ZERO
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.ZERO
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () declared in <root>.Test2'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test2]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ZERO modality:FINAL visibility:private superTypes:[<root>.Test2]'
|
||||||
@@ -183,7 +183,7 @@ FILE fqName:<root> fileName:/enumWithSecondaryCtor.kt
|
|||||||
ENUM_ENTRY name:ONE
|
ENUM_ENTRY name:ONE
|
||||||
class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:private superTypes:[<root>.Test2]
|
class: CLASS ENUM_ENTRY name:ONE modality:FINAL visibility:private superTypes:[<root>.Test2]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.ONE
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.ONE
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.Test2'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.Int) [primary] declared in <root>.Test2'
|
||||||
x: CONST Int type=kotlin.Int value=1
|
x: CONST Int type=kotlin.Int value=1
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
|
|||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
PROPERTY name:test1 visibility:public modality:FINAL [val]
|
PROPERTY name:test1 visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:test1 type:<uninitialized parent>.<anonymous> visibility:private [final,static]
|
FIELD PROPERTY_BACKING_FIELD name:test1 type:<root>.test1.<no name provided> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.test1.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test1.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
||||||
@@ -27,13 +27,13 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
|
|||||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]'
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test1.<no name provided>' type=<root>.test1.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test1.<no name provided>' type=<root>.test1.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:<root>.test1.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): <root>.test1.<no name provided> declared in <root>'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:<uninitialized parent>.<anonymous> visibility:private [final,static]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:<root>.test1.<no name provided> visibility:private [final,static]' type=<root>.test1.<no name provided> origin=null
|
||||||
PROPERTY name:test2 visibility:public modality:FINAL [val]
|
PROPERTY name:test2 visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:test2 type:<uninitialized parent>.<anonymous> visibility:private [final,static]
|
FIELD PROPERTY_BACKING_FIELD name:test2 type:<root>.test2.<no name provided> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.test2.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test2.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IFoo]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.IFoo]
|
||||||
@@ -48,11 +48,11 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
|
|||||||
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
||||||
message: CONST String type=kotlin.String value="foo"
|
message: CONST String type=kotlin.String value="foo"
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test2.<no name provided>' type=<root>.test2.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test2.<no name provided>' type=<root>.test2.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:<root>.test2.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): <root>.test2.<no name provided> declared in <root>'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:<uninitialized parent>.<anonymous> visibility:private [final,static]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:<root>.test2.<no name provided> visibility:private [final,static]' type=<root>.test2.<no name provided> origin=null
|
||||||
CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]
|
CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer
|
||||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer [primary]
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer [primary]
|
||||||
@@ -82,10 +82,10 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
|
|||||||
overridden:
|
overridden:
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
FUN name:test3 visibility:public modality:FINAL <> ($this:<root>.Outer) returnType:<uninitialized parent>.<anonymous>
|
FUN name:test3 visibility:public modality:FINAL <> ($this:<root>.Outer) returnType:<root>.Outer.test3.<no name provided>
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Outer
|
$this: VALUE_PARAMETER name:<this> type:<root>.Outer
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test3 (): <uninitialized parent>.<anonymous> declared in <root>.Outer'
|
RETURN type=kotlin.Nothing from='public final fun test3 (): <root>.Outer.test3.<no name provided> declared in <root>.Outer'
|
||||||
BLOCK type=<root>.Outer.test3.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.Outer.test3.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.test3.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.test3.<no name provided>
|
||||||
@@ -112,10 +112,10 @@ FILE fqName:<root> fileName:/objectLiteralExpressions.kt
|
|||||||
overridden:
|
overridden:
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
FUN name:test4 visibility:public modality:FINAL <> ($receiver:<root>.Outer) returnType:<uninitialized parent>.<anonymous>
|
FUN name:test4 visibility:public modality:FINAL <> ($receiver:<root>.Outer) returnType:<root>.test4.<no name provided>
|
||||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
|
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test4 (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun test4 (): <root>.test4.<no name provided> declared in <root>'
|
||||||
BLOCK type=<root>.test4.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test4.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test4.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test4.<no name provided>
|
||||||
|
|||||||
+2
-2
@@ -39,7 +39,7 @@ FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
|
|||||||
annotations:
|
annotations:
|
||||||
TestAnn(x = 'ENTRY1')
|
TestAnn(x = 'ENTRY1')
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum.ENTRY1
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum.ENTRY1
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY1 modality:FINAL visibility:private superTypes:[<root>.TestEnum]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY1 modality:FINAL visibility:private superTypes:[<root>.TestEnum]'
|
||||||
@@ -48,7 +48,7 @@ FILE fqName:<root> fileName:/enumEntriesWithAnnotations.kt
|
|||||||
annotations:
|
annotations:
|
||||||
TestAnn(x = 'ENTRY2')
|
TestAnn(x = 'ENTRY2')
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum.ENTRY2
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestEnum.ENTRY2
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.TestEnum'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:private superTypes:[<root>.TestEnum]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY2 modality:FINAL visibility:private superTypes:[<root>.TestEnum]'
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ FILE fqName:<root> fileName:/enumEntryAsReceiver.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X.B
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X.B
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.X'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.X'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:B modality:FINAL visibility:private superTypes:[<root>.X]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:B modality:FINAL visibility:private superTypes:[<root>.X]'
|
||||||
@@ -32,7 +32,7 @@ FILE fqName:<root> fileName:/enumEntryAsReceiver.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.X.B.value'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.X.B.value'
|
||||||
CALL 'public final fun <get-value2> (): kotlin.String declared in <root>.X.B' type=kotlin.String origin=GET_PROPERTY
|
CALL 'public final fun <get-value2> (): kotlin.String declared in <root>.X.B' type=kotlin.String origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.X.B) returnType:kotlin.Function0<kotlin.String>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:<root>.X.B) returnType:kotlin.Function0<kotlin.String>
|
||||||
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:value visibility:public modality:FINAL [val]
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.X.B
|
$this: VALUE_PARAMETER name:<this> type:<root>.X.B
|
||||||
|
|||||||
+13
-13
@@ -9,7 +9,7 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum.Z
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyEnum.Z
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.MyEnum'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.MyEnum'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.MyEnum]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:Z modality:FINAL visibility:private superTypes:[<root>.MyEnum]'
|
||||||
@@ -39,10 +39,10 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
receiver: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
value: CONST Int type=kotlin.Int value=1
|
value: CONST Int type=kotlin.Int value=1
|
||||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
@@ -50,10 +50,10 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
receiver: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
value: CONST Int type=kotlin.Int value=1
|
value: CONST Int type=kotlin.Int value=1
|
||||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aLambda> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:kotlin.Function0<kotlin.Unit>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aLambda> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:kotlin.Function0<kotlin.Unit>
|
||||||
correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||||
@@ -62,7 +62,7 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]' type=kotlin.Function0<kotlin.Unit> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]' type=kotlin.Function0<kotlin.Unit> origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z.<get-aLambda>' type=<root>.MyEnum.Z origin=null
|
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z.<get-aLambda>' type=<root>.MyEnum.Z origin=null
|
||||||
PROPERTY name:anObject visibility:public modality:FINAL [val]
|
PROPERTY name:anObject visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:anObject type:<uninitialized parent>.<anonymous> visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:anObject type:<root>.MyEnum.Z.anObject.<no name provided> visibility:private [final]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.MyEnum.Z.anObject.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.MyEnum.Z.anObject.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
||||||
@@ -74,25 +74,25 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
|||||||
ANONYMOUS_INITIALIZER isStatic=false
|
ANONYMOUS_INITIALIZER isStatic=false
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
receiver: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
value: CONST Int type=kotlin.Int value=1
|
value: CONST Int type=kotlin.Int value=1
|
||||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
FUN name:test visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z.anObject.<no name provided>) returnType:kotlin.Unit
|
FUN name:test visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z.anObject.<no name provided>) returnType:kotlin.Unit
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z.anObject.<no name provided>
|
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z.anObject.<no name provided>
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
|
||||||
receiver: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
receiver: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
value: CONST Int type=kotlin.Int value=1
|
value: CONST Int type=kotlin.Int value=1
|
||||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.MyEnum.Z.anObject.<no name provided>' type=<root>.MyEnum.Z.anObject.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.MyEnum.Z.anObject.<no name provided>' type=<root>.MyEnum.Z.anObject.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anObject> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anObject> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:<root>.MyEnum.Z.anObject.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val]
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-anObject> (): <uninitialized parent>.<anonymous> declared in <root>.MyEnum.Z'
|
RETURN type=kotlin.Nothing from='public final fun <get-anObject> (): <root>.MyEnum.Z.anObject.<no name provided> declared in <root>.MyEnum.Z'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:<uninitialized parent>.<anonymous> visibility:private [final]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:<root>.MyEnum.Z.anObject.<no name provided> visibility:private [final]' type=<root>.MyEnum.Z.anObject.<no name provided> origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z.<get-anObject>' type=<root>.MyEnum.Z origin=null
|
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z.<get-anObject>' type=<root>.MyEnum.Z origin=null
|
||||||
FUN name:values visibility:public modality:FINAL <> ($this:<root>.MyEnum) returnType:kotlin.Array<<root>.MyEnum>
|
FUN name:values visibility:public modality:FINAL <> ($this:<root>.MyEnum) returnType:kotlin.Array<<root>.MyEnum>
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum
|
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ FILE fqName:<root> fileName:/partialSam.kt
|
|||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
PROPERTY name:fsi visibility:public modality:FINAL [val]
|
PROPERTY name:fsi visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:fsi type:<uninitialized parent>.<anonymous> visibility:private [final,static]
|
FIELD PROPERTY_BACKING_FIELD name:fsi type:<root>.fsi.<no name provided> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.fsi.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.fsi.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Fn<kotlin.String, kotlin.Int>]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Fn<kotlin.String, kotlin.Int>]
|
||||||
@@ -74,13 +74,13 @@ FILE fqName:<root> fileName:/partialSam.kt
|
|||||||
RETURN type=kotlin.Nothing from='public final fun run (s: kotlin.String, i: kotlin.Int, t: kotlin.String): kotlin.Int declared in <root>.fsi.<no name provided>'
|
RETURN type=kotlin.Nothing from='public final fun run (s: kotlin.String, i: kotlin.Int, t: kotlin.String): kotlin.Int declared in <root>.fsi.<no name provided>'
|
||||||
CONST Int type=kotlin.Int value=1
|
CONST Int type=kotlin.Int value=1
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.fsi.<no name provided>' type=<root>.fsi.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.fsi.<no name provided>' type=<root>.fsi.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-fsi> visibility:public modality:FINAL <> () returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-fsi> visibility:public modality:FINAL <> () returnType:<root>.fsi.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:fsi visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:fsi visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-fsi> (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-fsi> (): <root>.fsi.<no name provided> declared in <root>'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fsi type:<uninitialized parent>.<anonymous> visibility:private [final,static]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fsi type:<root>.fsi.<no name provided> visibility:private [final,static]' type=<root>.fsi.<no name provided> origin=null
|
||||||
PROPERTY name:fis visibility:public modality:FINAL [val]
|
PROPERTY name:fis visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:fis type:<uninitialized parent>.<anonymous> visibility:private [final,static]
|
FIELD PROPERTY_BACKING_FIELD name:fis type:<root>.fis.<no name provided> visibility:private [final,static]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.fis.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.fis.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Fn<kotlin.Int, kotlin.String>]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Fn<kotlin.Int, kotlin.String>]
|
||||||
@@ -98,17 +98,17 @@ FILE fqName:<root> fileName:/partialSam.kt
|
|||||||
RETURN type=kotlin.Nothing from='public final fun run (s: kotlin.String, i: kotlin.Int, t: kotlin.Int): kotlin.String declared in <root>.fis.<no name provided>'
|
RETURN type=kotlin.Nothing from='public final fun run (s: kotlin.String, i: kotlin.Int, t: kotlin.Int): kotlin.String declared in <root>.fis.<no name provided>'
|
||||||
CONST String type=kotlin.String value=""
|
CONST String type=kotlin.String value=""
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.fis.<no name provided>' type=<root>.fis.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.fis.<no name provided>' type=<root>.fis.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-fis> visibility:public modality:FINAL <> () returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-fis> visibility:public modality:FINAL <> () returnType:<root>.fis.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:fis visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:fis visibility:public modality:FINAL [val]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-fis> (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun <get-fis> (): <root>.fis.<no name provided> declared in <root>'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fis type:<uninitialized parent>.<anonymous> visibility:private [final,static]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:fis type:<root>.fis.<no name provided> visibility:private [final,static]' type=<root>.fis.<no name provided> origin=null
|
||||||
FUN name:test visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
FUN name:test visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public final fun runConversion (f1: <root>.Fn<kotlin.String, kotlin.Int>, f2: <root>.Fn<kotlin.Int, kotlin.String>): kotlin.Int declared in <root>.J' type=kotlin.Int origin=null
|
CALL 'public final fun runConversion (f1: <root>.Fn<kotlin.String, kotlin.Int>, f2: <root>.Fn<kotlin.Int, kotlin.String>): kotlin.Int declared in <root>.J' type=kotlin.Int origin=null
|
||||||
$this: GET_VAR 'j: <root>.J declared in <root>.test' type=<root>.J origin=null
|
$this: GET_VAR 'j: <root>.J declared in <root>.test' type=<root>.J origin=null
|
||||||
f1: CALL 'public final fun <get-fsi> (): <uninitialized parent>.<anonymous> declared in <root>' type=<uninitialized parent>.<anonymous> origin=GET_PROPERTY
|
f1: CALL 'public final fun <get-fsi> (): <root>.fsi.<no name provided> declared in <root>' type=<uninitialized parent>.<no name provided> origin=GET_PROPERTY
|
||||||
f2: FUN_EXPR type=kotlin.Function3<kotlin.String, kotlin.Int, kotlin.Int, kotlin.String> origin=LAMBDA
|
f2: FUN_EXPR type=kotlin.Function3<kotlin.String, kotlin.Int, kotlin.Int, kotlin.String> origin=LAMBDA
|
||||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (s:kotlin.String, i:kotlin.Int, ti:kotlin.Int) returnType:kotlin.String
|
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> (s:kotlin.String, i:kotlin.Int, ti:kotlin.Int) returnType:kotlin.String
|
||||||
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
VALUE_PARAMETER name:s index:0 type:kotlin.String
|
||||||
@@ -127,4 +127,4 @@ FILE fqName:<root> fileName:/partialSam.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (s: kotlin.String, i: kotlin.Int, ts: kotlin.String): kotlin.Int declared in <root>.test'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (s: kotlin.String, i: kotlin.Int, ts: kotlin.String): kotlin.Int declared in <root>.test'
|
||||||
CONST Int type=kotlin.Int value=1
|
CONST Int type=kotlin.Int value=1
|
||||||
f2: CALL 'public final fun <get-fis> (): <uninitialized parent>.<anonymous> declared in <root>' type=<uninitialized parent>.<anonymous> origin=GET_PROPERTY
|
f2: CALL 'public final fun <get-fis> (): <root>.fis.<no name provided> declared in <root>' type=<uninitialized parent>.<no name provided> origin=GET_PROPERTY
|
||||||
|
|||||||
@@ -67,11 +67,11 @@ FILE fqName:<root> fileName:/multipleThisReferences.kt
|
|||||||
RETURN type=kotlin.Nothing from='public final fun <get-y> (): kotlin.Int declared in <root>.Host'
|
RETURN type=kotlin.Nothing from='public final fun <get-y> (): kotlin.Int declared in <root>.Host'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-y>' type=<root>.Host origin=null
|
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-y>' type=<root>.Host origin=null
|
||||||
FUN name:test visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:<root>.Outer) returnType:<uninitialized parent>.<anonymous>
|
FUN name:test visibility:public modality:FINAL <> ($this:<root>.Host, $receiver:<root>.Outer) returnType:<root>.Host.test.<no name provided>
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
|
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test (): <uninitialized parent>.<anonymous> declared in <root>.Host'
|
RETURN type=kotlin.Nothing from='public final fun test (): <root>.Host.test.<no name provided> declared in <root>.Host'
|
||||||
BLOCK type=<root>.Host.test.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.Host.test.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host.test.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host.test.<no name provided>
|
||||||
@@ -85,7 +85,7 @@ FILE fqName:<root> fileName:/multipleThisReferences.kt
|
|||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
|
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
|
||||||
$this: CALL 'public final fun <get-x> (): kotlin.Int declared in <root>.Outer.Inner' type=kotlin.Int origin=GET_PROPERTY
|
$this: CALL 'public final fun <get-x> (): kotlin.Int declared in <root>.Outer.Inner' type=kotlin.Int origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <root>.Host.test.<no name provided> declared in <root>.Host.test.<no name provided>' type=<root>.Host.test.<no name provided> origin=null
|
||||||
other: GET_VAR 'y: kotlin.Int declared in <root>.Host.<init>' type=kotlin.Int origin=null
|
other: GET_VAR 'y: kotlin.Int declared in <root>.Host.<init>' type=kotlin.Int origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xx> visibility:public modality:FINAL <> ($this:<root>.Host.test.<no name provided>) returnType:kotlin.Int
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xx> visibility:public modality:FINAL <> ($this:<root>.Host.test.<no name provided>) returnType:kotlin.Int
|
||||||
correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val]
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ FILE fqName:<root> fileName:/objectReference.kt
|
|||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]' type=kotlin.Function0<kotlin.Unit> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:private [final]' type=kotlin.Function0<kotlin.Unit> origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Z declared in <root>.Z.<get-aLambda>' type=<root>.Z origin=null
|
receiver: GET_VAR '<this>: <root>.Z declared in <root>.Z.<get-aLambda>' type=<root>.Z origin=null
|
||||||
PROPERTY name:anObject visibility:public modality:FINAL [val]
|
PROPERTY name:anObject visibility:public modality:FINAL [val]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:anObject type:<uninitialized parent>.<anonymous> visibility:private [final]
|
FIELD PROPERTY_BACKING_FIELD name:anObject type:<root>.Z.anObject.<no name provided> visibility:private [final]
|
||||||
EXPRESSION_BODY
|
EXPRESSION_BODY
|
||||||
BLOCK type=<root>.Z.anObject.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.Z.anObject.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[kotlin.Any]
|
||||||
@@ -143,12 +143,12 @@ FILE fqName:<root> fileName:/objectReference.kt
|
|||||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Z' type=kotlin.Unit origin=null
|
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Z' type=kotlin.Unit origin=null
|
||||||
$this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Z
|
$this: GET_OBJECT 'CLASS OBJECT name:Z modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Z
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z.anObject.<no name provided>' type=<root>.Z.anObject.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z.anObject.<no name provided>' type=<root>.Z.anObject.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anObject> visibility:public modality:FINAL <> ($this:<root>.Z) returnType:<uninitialized parent>.<anonymous>
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anObject> visibility:public modality:FINAL <> ($this:<root>.Z) returnType:<root>.Z.anObject.<no name provided>
|
||||||
correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val]
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
$this: VALUE_PARAMETER name:<this> type:<root>.Z
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-anObject> (): <uninitialized parent>.<anonymous> declared in <root>.Z'
|
RETURN type=kotlin.Nothing from='public final fun <get-anObject> (): <root>.Z.anObject.<no name provided> declared in <root>.Z'
|
||||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:<uninitialized parent>.<anonymous> visibility:private [final]' type=<uninitialized parent>.<anonymous> origin=null
|
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:anObject type:<root>.Z.anObject.<no name provided> visibility:private [final]' type=<root>.Z.anObject.<no name provided> origin=null
|
||||||
receiver: GET_VAR '<this>: <root>.Z declared in <root>.Z.<get-anObject>' type=<root>.Z origin=null
|
receiver: GET_VAR '<this>: <root>.Z declared in <root>.Z.<get-anObject>' type=<root>.Z origin=null
|
||||||
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:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ FILE fqName:<root> fileName:/temporaryInEnumEntryInitializer.kt
|
|||||||
ENUM_ENTRY name:ENTRY
|
ENUM_ENTRY name:ENTRY
|
||||||
class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.En]
|
class: CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.En]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En.ENTRY
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.En.ENTRY
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.String?) [primary] declared in <root>.En'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> (x: kotlin.String?) [primary] declared in <root>.En'
|
||||||
x: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String? origin=null
|
x: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String? origin=null
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ FILE fqName:<root> fileName:/thisOfGenericOuterClass.kt
|
|||||||
overridden:
|
overridden:
|
||||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||||
FUN name:test visibility:public modality:FINAL <> ($receiver:<root>.Outer<kotlin.Int>) returnType:<uninitialized parent>.<anonymous>
|
FUN name:test visibility:public modality:FINAL <> ($receiver:<root>.Outer<kotlin.Int>) returnType:<root>.test.<no name provided>
|
||||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer<kotlin.Int>
|
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer<kotlin.Int>
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun test (): <uninitialized parent>.<anonymous> declared in <root>'
|
RETURN type=kotlin.Nothing from='public final fun test (): <root>.test.<no name provided> declared in <root>'
|
||||||
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner<kotlin.Int>]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.Outer.Inner<kotlin.Int>]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
||||||
@@ -81,7 +81,7 @@ FILE fqName:<root> fileName:/thisOfGenericOuterClass.kt
|
|||||||
$this: CALL 'public final fun <get-x> (): T of <root>.Outer declared in <root>.Outer' type=kotlin.Int origin=GET_PROPERTY
|
$this: CALL 'public final fun <get-x> (): T of <root>.Outer declared in <root>.Outer' type=kotlin.Int origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <root>.Outer<kotlin.Int> declared in <root>.test' type=<root>.Outer<kotlin.Int> origin=null
|
$this: GET_VAR '<this>: <root>.Outer<kotlin.Int> declared in <root>.test' type=<root>.Outer<kotlin.Int> origin=null
|
||||||
other: CALL 'public final fun <get-y> (): kotlin.Int declared in <root>.Outer.Inner' type=kotlin.Int origin=GET_PROPERTY
|
other: CALL 'public final fun <get-y> (): kotlin.Int declared in <root>.Outer.Inner' type=kotlin.Int origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <root>.test.<no name provided> declared in <root>.test.<no name provided>' type=<root>.test.<no name provided> origin=null
|
||||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xx> visibility:public modality:FINAL <> ($this:<root>.test.<no name provided>) returnType:kotlin.Int
|
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xx> visibility:public modality:FINAL <> ($this:<root>.test.<no name provided>) returnType:kotlin.Int
|
||||||
correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val]
|
correspondingProperty: PROPERTY name:xx visibility:public modality:FINAL [val]
|
||||||
$this: VALUE_PARAMETER name:<this> type:<root>.test.<no name provided>
|
$this: VALUE_PARAMETER name:<this> type:<root>.test.<no name provided>
|
||||||
|
|||||||
+2
-2
@@ -2,7 +2,7 @@ FILE fqName:<root> fileName:/thisReferenceBeforeClassDeclared.kt
|
|||||||
FUN name:test visibility:public modality:FINAL <> ($receiver:<root>.WithCompanion) returnType:kotlin.Unit
|
FUN name:test visibility:public modality:FINAL <> ($receiver:<root>.WithCompanion) returnType:kotlin.Unit
|
||||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.WithCompanion
|
$receiver: VALUE_PARAMETER name:<this> type:<root>.WithCompanion
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
VAR name:test1 type:<uninitialized parent>.<anonymous> [val]
|
VAR name:test1 type:<root>.test.<no name provided> [val]
|
||||||
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
||||||
@@ -11,7 +11,7 @@ FILE fqName:<root> fileName:/thisReferenceBeforeClassDeclared.kt
|
|||||||
ERROR_CALL 'Cannot find delegated constructor call' type=<root>.WithCompanion
|
ERROR_CALL 'Cannot find delegated constructor call' type=<root>.WithCompanion
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]'
|
||||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test.<no name provided>' type=<root>.test.<no name provided> origin=null
|
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.test.<no name provided>' type=<root>.test.<no name provided> origin=null
|
||||||
VAR name:test2 type:<uninitialized parent>.<anonymous> [val]
|
VAR name:test2 type:<root>.test.<no name provided> [val]
|
||||||
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
BLOCK type=<root>.test.<no name provided> origin=OBJECT_LITERAL
|
||||||
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]
|
CLASS OBJECT name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.WithCompanion]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.test.<no name provided>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ FILE fqName:<root> fileName:/enumEntry.kt
|
|||||||
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]
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Z.ENTRY
|
||||||
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<anonymous> [primary]
|
CONSTRUCTOR visibility:private <> () returnType:<uninitialized parent>.<no name provided> [primary]
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z'
|
ENUM_CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.Z'
|
||||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.Z]'
|
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS ENUM_ENTRY name:ENTRY modality:FINAL visibility:private superTypes:[<root>.Z]'
|
||||||
@@ -26,7 +26,7 @@ FILE fqName:<root> fileName:/enumEntry.kt
|
|||||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY.A
|
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY.A
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
CALL 'public final fun test (): kotlin.Unit declared in <root>.Z.ENTRY' type=kotlin.Unit origin=null
|
CALL 'public final fun test (): kotlin.Unit declared in <root>.Z.ENTRY' type=kotlin.Unit origin=null
|
||||||
$this: GET_VAR '<this>: <uninitialized parent>.<anonymous> declared in <no parent>.<anonymous>' type=<uninitialized parent>.<anonymous> origin=null
|
$this: GET_VAR '<this>: <uninitialized parent>.<no name provided> declared in <no parent>.<no name provided>' type=<uninitialized parent>.<no name provided> origin=null
|
||||||
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:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
|
||||||
|
|||||||
Reference in New Issue
Block a user