[LL FIR] rewrite status phase transformer

Now we will try to avoid redundant calculation:
* Class-like declarations can be calculated without super types
* Overridden search logic not is out of lock

Unfortunately, right now it is not safe to use
StatusResolveMode.FunctionWithSpecificName and
StatusResolveMode.PropertyWithSpecificName
because lazyResolveToPhaseWithCallableMembers can lead to an incorrect
state of scope. Example:
```
open class A {
  open fun a() {}
  open fun b() {}
}
class C : A()
```
Steps:
1. Resolve constructor of C to STATUS
2. Now we want to call lazyResolveToPhaseWithCallableMembers on
C, and this call will do nothing because this class and all
its declarations (only constructor) are already in STATUS phase,
so class A won't be resolved as expected

^KT-56551
This commit is contained in:
Dmitrii Gridin
2023-05-15 17:08:21 +02:00
committed by Space Team
parent e464af00db
commit 2885df14ee
25 changed files with 701 additions and 572 deletions
@@ -5,9 +5,10 @@
package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers package org.jetbrains.kotlin.analysis.low.level.api.fir.transformers
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDesignationWithFile
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirResolveTarget
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.LLFirSingleResolveTarget
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.asResolveTarget import org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets.asResolveTarget
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.tryCollectDesignationWithFile
import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.file.builder.LLFirLockProvider
import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater import org.jetbrains.kotlin.analysis.low.level.api.fir.lazy.resolve.LLFirPhaseUpdater
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkDeclarationStatusIsResolved
@@ -19,10 +20,11 @@ import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.transformers.FirStatusResolveTransformer import org.jetbrains.kotlin.fir.resolve.transformers.FirStatusResolveTransformer
import org.jetbrains.kotlin.fir.resolve.transformers.StatusComputationSession import org.jetbrains.kotlin.fir.resolve.transformers.StatusComputationSession
import org.jetbrains.kotlin.fir.resolve.transformers.StatusComputationSession.StatusComputationStatus
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirTowerDataContextCollector import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirTowerDataContextCollector
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhaseWithCallableMembers
import org.jetbrains.kotlin.fir.visitors.transformSingle import org.jetbrains.kotlin.fir.visitors.transformSingle
import org.jetbrains.kotlin.name.Name
internal object LLFirStatusLazyResolver : LLFirLazyResolver(FirResolvePhase.STATUS) { internal object LLFirStatusLazyResolver : LLFirLazyResolver(FirResolvePhase.STATUS) {
override fun resolve( override fun resolve(
@@ -32,7 +34,14 @@ internal object LLFirStatusLazyResolver : LLFirLazyResolver(FirResolvePhase.STAT
scopeSession: ScopeSession, scopeSession: ScopeSession,
towerDataContextCollector: FirTowerDataContextCollector?, towerDataContextCollector: FirTowerDataContextCollector?,
) { ) {
val resolver = LLFirStatusTargetResolver(target, lockProvider, session, scopeSession) val resolver = LLFirStatusTargetResolver(
target = target,
lockProvider = lockProvider,
session = session,
scopeSession = scopeSession,
resolveMode = target.resolveMode(),
)
resolver.resolveDesignation() resolver.resolveDesignation()
} }
@@ -44,20 +53,56 @@ internal object LLFirStatusLazyResolver : LLFirLazyResolver(FirResolvePhase.STAT
if (target !is FirAnonymousInitializer) { if (target !is FirAnonymousInitializer) {
target.checkPhase(resolverPhase) target.checkPhase(resolverPhase)
} }
if (target is FirMemberDeclaration) { if (target is FirMemberDeclaration) {
checkDeclarationStatusIsResolved(target) checkDeclarationStatusIsResolved(target)
} }
checkNestedDeclarationsAreResolved(target) checkNestedDeclarationsAreResolved(target)
} }
} }
private sealed class StatusResolveMode(val resolveSupertypes: Boolean) {
abstract fun shouldBeResolved(callableDeclaration: FirCallableDeclaration): Boolean
object OnlyTarget : StatusResolveMode(resolveSupertypes = false) {
override fun shouldBeResolved(callableDeclaration: FirCallableDeclaration): Boolean = false
}
object AllCallables : StatusResolveMode(resolveSupertypes = true) {
override fun shouldBeResolved(callableDeclaration: FirCallableDeclaration): Boolean = true
}
class FunctionWithSpecificName(val name: Name) : StatusResolveMode(resolveSupertypes = true) {
override fun shouldBeResolved(callableDeclaration: FirCallableDeclaration): Boolean {
return callableDeclaration is FirSimpleFunction && callableDeclaration.name == name
}
}
class PropertyWithSpecificName(val name: Name) : StatusResolveMode(resolveSupertypes = true) {
override fun shouldBeResolved(callableDeclaration: FirCallableDeclaration): Boolean {
return callableDeclaration is FirProperty && callableDeclaration.name == name
}
}
}
private fun LLFirResolveTarget.resolveMode(): StatusResolveMode = when (this) {
is LLFirSingleResolveTarget -> when (target) {
is FirClassLikeDeclaration -> StatusResolveMode.OnlyTarget
else -> StatusResolveMode.AllCallables
}
else -> StatusResolveMode.AllCallables
}
private class LLFirStatusTargetResolver( private class LLFirStatusTargetResolver(
target: LLFirResolveTarget, target: LLFirResolveTarget,
lockProvider: LLFirLockProvider, lockProvider: LLFirLockProvider,
session: FirSession, session: FirSession,
scopeSession: ScopeSession, scopeSession: ScopeSession,
private val statusComputationSession: StatusComputationSession = StatusComputationSession() private val statusComputationSession: StatusComputationSession = StatusComputationSession(),
) : LLFirTargetResolver(target, lockProvider, FirResolvePhase.STATUS, isJumpingPhase = true) { private val resolveMode: StatusResolveMode,
) : LLFirTargetResolver(target, lockProvider, FirResolvePhase.STATUS, isJumpingPhase = false) {
private val transformer = Transformer(session, scopeSession) private val transformer = Transformer(session, scopeSession)
override fun withFile(firFile: FirFile, action: () -> Unit) { override fun withFile(firFile: FirFile, action: () -> Unit) {
@@ -66,8 +111,13 @@ private class LLFirStatusTargetResolver(
@Deprecated("Should never be called directly, only for override purposes, please use withRegularClass", level = DeprecationLevel.ERROR) @Deprecated("Should never be called directly, only for override purposes, please use withRegularClass", level = DeprecationLevel.ERROR)
override fun withRegularClassImpl(firClass: FirRegularClass, action: () -> Unit) { override fun withRegularClassImpl(firClass: FirRegularClass, action: () -> Unit) {
firClass.lazyResolveToPhase(resolverPhase.previous) doResolveWithoutLock(firClass)
resolveClass(firClass, action) transformer.storeClass(firClass) {
action()
firClass
}
transformer.statusComputationSession.endComputing(firClass)
} }
private fun resolveClassTypeParameters(klass: FirClass) { private fun resolveClassTypeParameters(klass: FirClass) {
@@ -75,24 +125,60 @@ private class LLFirStatusTargetResolver(
} }
private fun resolveCallableMembers(klass: FirClass) { private fun resolveCallableMembers(klass: FirClass) {
// we need the types to be resolved here to compute visibility
// implicit types will not be handled (see bug in the compiler KT-55446)
klass.lazyResolveToPhaseWithCallableMembers(resolverPhase.previous)
for (member in klass.declarations) { for (member in klass.declarations) {
if (member !is FirCallableDeclaration) continue if (member !is FirCallableDeclaration || !resolveMode.shouldBeResolved(member)) continue
// we need the types to be resolved here to compute visibility
// implicit types will not be handled (see bug in the compiler KT-55446)
member.lazyResolveToPhase(resolverPhase.previous)
performResolve(member) performResolve(member)
} }
} }
override fun doResolveWithoutLock(target: FirElementWithResolveState): Boolean { override fun doResolveWithoutLock(target: FirElementWithResolveState): Boolean = when {
return when (target) { target is FirRegularClass -> {
is FirRegularClass -> { if (transformer.statusComputationSession[target].requiresComputation) {
resolveClass(target, action = {}) target.lazyResolveToPhase(resolverPhase.previous)
true resolveClass(target)
}
else -> {
false
} }
true
}
target is FirSimpleFunction -> {
performResolveWithOverriddenCallables(
target,
{ transformer.statusResolver.getOverriddenFunctions(it, transformer.containingClass) },
{ element, overridden -> transformer.transformSimpleFunction(element, overridden) },
)
true
}
target is FirProperty -> {
performResolveWithOverriddenCallables(
target,
{ transformer.statusResolver.getOverriddenProperties(it, transformer.containingClass) },
{ element, overridden -> transformer.transformProperty(element, overridden) },
)
true
}
else -> {
false
}
}
private inline fun <T : FirCallableDeclaration> performResolveWithOverriddenCallables(
target: T,
getOverridden: (T) -> List<T>,
crossinline transform: (T, List<T>) -> Unit,
) {
if (target.resolvePhase >= resolverPhase) return
val overriddenDeclarations = getOverridden(target)
performCustomResolveUnderLock(target) {
transform(target, overriddenDeclarations)
} }
} }
@@ -107,9 +193,12 @@ private class LLFirStatusTargetResolver(
} }
} }
private fun resolveClass(firClass: FirRegularClass, action: () -> Unit) { private fun resolveClass(firClass: FirRegularClass) {
transformer.statusComputationSession.startComputing(firClass) transformer.statusComputationSession.startComputing(firClass)
transformer.forceResolveStatusesOfSupertypes(firClass)
if (resolveMode.resolveSupertypes) {
transformer.forceResolveStatusesOfSupertypes(firClass)
}
performCustomResolveUnderLock(firClass) { performCustomResolveUnderLock(firClass) {
transformer.transformClassStatus(firClass) transformer.transformClassStatus(firClass)
@@ -120,20 +209,18 @@ private class LLFirStatusTargetResolver(
} }
} }
transformer.storeClass(firClass) { if (resolveMode.resolveSupertypes) {
resolveCallableMembers(firClass) transformer.storeClass(firClass) {
firClass resolveCallableMembers(firClass)
} firClass
}
transformer.storeClass(firClass) { transformer.statusComputationSession.endComputing(firClass)
action() } else {
firClass transformer.statusComputationSession.computeOnlyClassStatus(firClass)
} }
transformer.statusComputationSession.endComputing(firClass)
} }
private inner class Transformer( private inner class Transformer(
session: FirSession, session: FirSession,
scopeSession: ScopeSession, scopeSession: ScopeSession,
@@ -147,11 +234,24 @@ private class LLFirStatusTargetResolver(
} }
override fun resolveClassForSuperType(regularClass: FirRegularClass): Boolean { override fun resolveClassForSuperType(regularClass: FirRegularClass): Boolean {
if (regularClass.resolvePhase >= resolverPhase) return true if (regularClass.resolvePhase >= resolverPhase) {
regularClass.lazyResolveToPhase(resolverPhase.previous) // We can avoid resolve in the case of all declarations in super class are already resolved
val declarations = regularClass.declarations
if (declarations.isNotEmpty() && declarations.all { it.resolvePhase >= resolverPhase }) {
return true
}
}
val target = regularClass.tryCollectDesignationWithFile()?.asResolveTarget() ?: return false
val resolver = LLFirStatusTargetResolver(
target,
lockProvider,
session,
scopeSession,
statusComputationSession,
resolveMode = resolveMode,
)
val designation = regularClass.collectDesignationWithFile().asResolveTarget()
val resolver = LLFirStatusTargetResolver(designation, lockProvider, session, scopeSession, statusComputationSession)
resolver.resolveDesignation() resolver.resolveDesignation()
return true return true
} }
@@ -62,7 +62,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -72,7 +72,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -82,7 +82,7 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -92,7 +92,7 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -102,7 +102,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -112,7 +112,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types]() public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| { @<ERROR TYPE REF: Symbol not found for java.lang.annotation.Target>[Types]() public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -62,7 +62,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -72,7 +72,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -82,7 +82,7 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -92,7 +92,7 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -102,7 +102,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -112,7 +112,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](value = vararg(Q|java/lang/annotation/ElementType|.<Unresolved name: TYPE_USE>#)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| { @R|java/lang/annotation/Target|[Types](value = vararg(Q|java/lang/annotation/ElementType|.<Unresolved name: TYPE_USE>#)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -146,14 +146,14 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(STATUS)] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(STATUS)] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -170,14 +170,14 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -194,14 +194,14 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -218,14 +218,14 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(CONTRACTS)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(CONTRACTS)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -242,14 +242,14 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -266,14 +266,14 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] actual.kt FILE: [ResolvedTo(IMPORTS)] actual.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final actual [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| { public final actual [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ExpectForActualAttributeKey={}] class Actual : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] constructor(): R|Actual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] constructor(): R|Actual| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun memberFun(): R|kotlin/Unit| { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] val a: <implicit> = LAZY_EXPRESSION public? final? [ResolvedTo(RAW_FIR)] val a: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=Actual] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Actual] get(): <implicit>
public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| { public? final? actual [ResolvedTo(RAW_FIR)] class NestedActual : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedActual] constructor(): R|Actual.NestedActual| {
@@ -134,12 +134,12 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
@@ -156,12 +156,12 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
@@ -178,12 +178,12 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
@@ -200,12 +200,12 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
@@ -222,12 +222,12 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|) @R|Anno|[Types](String(string)) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| { public? final? [ResolvedTo(RAW_FIR)] annotation class Anno : R|kotlin/Annotation| {
@@ -244,12 +244,12 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt FILE: [ResolvedTo(IMPORTS)] annotationWithTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|)) @R|Anno|[Types](s = String(string)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| { @R|kotlin/annotation/Target|[Types](allowedTargets = vararg(Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.CLASS|)) @R|Anno|[Types](s = String(string)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/ResolveMe.value] value: R|kotlin/Int|): R|ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/ResolveMe.value] value: Int): R|ResolveMe| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val value: R|kotlin/Int| = R|<local>/value| public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val value: Int = R|<local>/value|
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): Int
} }
public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| { public final [ResolvedTo(STATUS)] annotation class Anno : R|kotlin/Annotation| {
@@ -62,7 +62,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(STATUS)] class ResolveMe<[ResolvedTo(STATUS)] T : R|kotlin/Int|, [ResolvedTo(STATUS)] K> : R|kotlin/Any| { public final [ResolvedTo(STATUS)] class ResolveMe<[ResolvedTo(STATUS)] T : R|kotlin/Int|, [ResolvedTo(STATUS)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(STATUS)] T : R|kotlin/Int|, [ResolvedTo(STATUS)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(STATUS)] T : R|kotlin/Int|, [ResolvedTo(STATUS)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -72,7 +72,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class ResolveMe<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|kotlin/Int|, [ResolvedTo(EXPECT_ACTUAL_MATCHING)] K> : R|kotlin/Any| { public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class ResolveMe<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|kotlin/Int|, [ResolvedTo(EXPECT_ACTUAL_MATCHING)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|kotlin/Int|, [ResolvedTo(EXPECT_ACTUAL_MATCHING)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] T : R|kotlin/Int|, [ResolvedTo(EXPECT_ACTUAL_MATCHING)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -82,7 +82,7 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class ResolveMe<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] T : R|kotlin/Int|, [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] K> : R|kotlin/Any| { public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class ResolveMe<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] T : R|kotlin/Int|, [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] T : R|kotlin/Int|, [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] T : R|kotlin/Int|, [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -92,7 +92,7 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(CONTRACTS)] class ResolveMe<[ResolvedTo(CONTRACTS)] T : R|kotlin/Int|, [ResolvedTo(CONTRACTS)] K> : R|kotlin/Any| { public final [ResolvedTo(CONTRACTS)] class ResolveMe<[ResolvedTo(CONTRACTS)] T : R|kotlin/Int|, [ResolvedTo(CONTRACTS)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(CONTRACTS)] T : R|kotlin/Int|, [ResolvedTo(CONTRACTS)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(CONTRACTS)] T : R|kotlin/Int|, [ResolvedTo(CONTRACTS)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -102,7 +102,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class ResolveMe<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|kotlin/Int|, [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] K> : R|kotlin/Any| { public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class ResolveMe<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|kotlin/Int|, [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|kotlin/Int|, [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] T : R|kotlin/Int|, [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -112,7 +112,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt FILE: [ResolvedTo(IMPORTS)] classWithTypeParameters.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class ResolveMe<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] T : R|kotlin/Int|, [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] K> : R|kotlin/Any| { public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class ResolveMe<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] T : R|kotlin/Int|, [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] K> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] T : R|kotlin/Int|, [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] K>(): R|ResolveMe<T, K>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] T : R|kotlin/Int|, [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] K>(): R|ResolveMe<T, K>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -181,180 +181,180 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(STATUS)] class Usage : R|Foo2| { public abstract [ResolvedTo(STATUS)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class Usage : R|Foo2| { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
ARGUMENTS_OF_ANNOTATIONS: ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class Usage : R|Foo2| { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
CONTRACTS: CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(CONTRACTS)] class Usage : R|Foo2| { public abstract [ResolvedTo(CONTRACTS)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
IMPLICIT_TYPES_BODY_RESOLVE: IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class Usage : R|Foo2| { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
ANNOTATIONS_ARGUMENTS_MAPPING: ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class Usage : R|Foo2| { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class Usage : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=Usage] constructor(): R|Usage| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Usage] constructor(): R|Usage| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -427,13 +427,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -462,7 +462,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -498,13 +498,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -533,7 +533,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -569,13 +569,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
ARGUMENTS_OF_ANNOTATIONS: ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -604,7 +604,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -640,13 +640,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
CONTRACTS: CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -675,7 +675,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(CONTRACTS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(CONTRACTS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -711,13 +711,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
IMPLICIT_TYPES_BODY_RESOLVE: IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -746,7 +746,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -782,13 +782,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
ANNOTATIONS_ARGUMENTS_MAPPING: ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -817,7 +817,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass.kt
} }
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -427,13 +427,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -443,13 +443,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -462,7 +462,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -476,11 +476,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -498,13 +498,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -514,13 +514,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -533,7 +533,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -547,11 +547,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -585,13 +585,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -618,11 +618,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -656,13 +656,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -689,11 +689,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(CONTRACTS)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(CONTRACTS)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -727,13 +727,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -760,11 +760,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -798,13 +798,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -831,11 +831,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass2.kt
} }
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class NestedClass : R|Foo2| { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -427,13 +427,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -462,16 +462,16 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public final [ResolvedTo(STATUS)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(STATUS)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -498,13 +498,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -533,16 +533,16 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -609,11 +609,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -680,11 +680,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public final [ResolvedTo(CONTRACTS)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(CONTRACTS)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -751,11 +751,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -822,11 +822,11 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass3.kt
} }
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class SimpleNestedClass : R|kotlin/Any| { public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -427,13 +427,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -443,13 +443,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -462,7 +462,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -475,21 +475,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(STATUS)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(STATUS)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -498,13 +498,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String| public? final? [ResolvedTo(RAW_FIR)] val str: String
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| { public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
@@ -514,13 +514,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -533,7 +533,7 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| { public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
@@ -546,21 +546,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -585,13 +585,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -617,21 +617,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -656,13 +656,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -688,21 +688,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(CONTRACTS)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(CONTRACTS)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -727,13 +727,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -759,21 +759,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -798,13 +798,13 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
} }
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean| public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
} }
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 { public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
@@ -830,21 +830,21 @@ FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
} }
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| { public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
} }
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class AnotherNestedClass : R|OuterClass.NestedClass| { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<R|OuterClass.NestedClass|> LAZY_super<NestedClass>
} }
public open override [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -175,25 +175,25 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] nestedClass.kt FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class TopLevelClass : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
} }
public open [ResolvedTo(STATUS)] class AnotherTopLevelClass : R|TopLevelClass| { public? open [ResolvedTo(SUPER_TYPES)] class AnotherTopLevelClass : R|TopLevelClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherTopLevelClass] constructor(): R|AnotherTopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherTopLevelClass] constructor(): R|AnotherTopLevelClass| {
LAZY_super<R|TopLevelClass|> LAZY_super<TopLevelClass>
} }
} }
public final [ResolvedTo(STATUS)] class OuterClass : R|AnotherTopLevelClass| { public final [ResolvedTo(STATUS)] class OuterClass : R|AnotherTopLevelClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<R|AnotherTopLevelClass|> LAZY_super<AnotherTopLevelClass>
} }
public final [ResolvedTo(STATUS)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(STATUS)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -204,25 +204,25 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] nestedClass.kt FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class TopLevelClass : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
} }
public open [ResolvedTo(STATUS)] class AnotherTopLevelClass : R|TopLevelClass| { public? open [ResolvedTo(SUPER_TYPES)] class AnotherTopLevelClass : R|TopLevelClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=AnotherTopLevelClass] constructor(): R|AnotherTopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherTopLevelClass] constructor(): R|AnotherTopLevelClass| {
LAZY_super<R|TopLevelClass|> LAZY_super<TopLevelClass>
} }
} }
public final [ResolvedTo(STATUS)] class OuterClass : R|AnotherTopLevelClass| { public final [ResolvedTo(STATUS)] class OuterClass : R|AnotherTopLevelClass| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<R|AnotherTopLevelClass|> LAZY_super<AnotherTopLevelClass>
} }
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -251,7 +251,7 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
} }
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -280,7 +280,7 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
} }
public final [ResolvedTo(CONTRACTS)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(CONTRACTS)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -309,7 +309,7 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
} }
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -338,7 +338,7 @@ FILE: [ResolvedTo(IMPORTS)] nestedClass.kt
} }
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class NestedClass : R|kotlin/Any| { public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class NestedClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -152,16 +152,16 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface OV : R|kotlin/Any| { public abstract [ResolvedTo(STATUS)] interface OV : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] val originalExpressions: R|A| public? final? [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OV] get(): A
public final [ResolvedTo(STATUS)] class ResolveMe : R|OV| { public final [ResolvedTo(STATUS)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -177,16 +177,16 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface OV : R|kotlin/Any| { public abstract [ResolvedTo(STATUS)] interface OV : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] val originalExpressions: R|A| public? final? [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OV] get(): A
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class ResolveMe : R|OV| { public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -206,12 +206,12 @@ FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A|
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class ResolveMe : R|OV| { public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -231,12 +231,12 @@ FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A|
public final [ResolvedTo(CONTRACTS)] class ResolveMe : R|OV| { public final [ResolvedTo(CONTRACTS)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -256,12 +256,12 @@ FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class ResolveMe : R|OV| { public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -281,12 +281,12 @@ FILE: [ResolvedTo(IMPORTS)] nestedClassWithPropertiesOverrides.kt
public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A| public [ResolvedTo(STATUS)] [ContainingClassKey=OV] get(): R|A|
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class ResolveMe : R|OV| { public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class ResolveMe : R|OV| {
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|OV.ResolveMe| {
LAZY_super<<implicit>> LAZY_super<<implicit>>
} }
public open override [ResolvedTo(STATUS)] val originalExpressions: R|A| public? open? override [ResolvedTo(RAW_FIR)] val originalExpressions: A
public [ResolvedTo(STATUS)] [ContainingClassKey=ResolveMe] get(): R|A| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] get(): A
} }
@@ -98,7 +98,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(STATUS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -114,7 +114,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -130,7 +130,7 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -146,7 +146,7 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(CONTRACTS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(CONTRACTS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -162,7 +162,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -178,7 +178,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -98,7 +98,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(STATUS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -114,7 +114,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(EXPECT_ACTUAL_MATCHING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -130,7 +130,7 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -146,7 +146,7 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(CONTRACTS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(CONTRACTS)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -162,7 +162,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -178,7 +178,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt FILE: [ResolvedTo(IMPORTS)] simpleLoopInOverride2.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> { public abstract [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] interface Foo1 : <ERROR TYPE REF: Loop in supertype: /Foo1 -> /Foo2> {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
} }
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> { public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : <ERROR TYPE REF: Loop in supertype: /Foo2 -> /Foo3> {
@@ -140,8 +140,8 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -163,8 +163,8 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -186,8 +186,8 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -209,8 +209,8 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(CONTRACTS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(CONTRACTS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -232,8 +232,8 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -255,8 +255,8 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> { public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /D> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|D|> LAZY_super<D>
} }
public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> { public? open [ResolvedTo(SUPER_TYPES)] class CC : <ERROR TYPE REF: Loop in supertype: /C.CC -> kotlin/Any> {
@@ -153,8 +153,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(STATUS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(STATUS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -176,8 +176,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -199,8 +199,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -222,8 +222,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(CONTRACTS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(CONTRACTS)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -245,8 +245,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -268,8 +268,8 @@ FILE: [ResolvedTo(IMPORTS)] cyclicNestedHierarchy2.kt
} }
public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> { public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class D : <ERROR TYPE REF: Loop in supertype: /D -> /C.CC> {
public [ResolvedTo(STATUS)] [ContainingClassKey=D] constructor(): R|D| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=D] constructor(): R|D| {
LAZY_super<R|C.CC|> LAZY_super<C.CC>
} }
} }
@@ -62,7 +62,7 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] class TopLevelClass : R|kotlin/Any| { @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -72,7 +72,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class TopLevelClass : R|kotlin/Any| { @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -84,7 +84,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
@<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String { @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String {
} }
.invoke#()) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class TopLevelClass : R|kotlin/Any| { .invoke#()) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -96,7 +96,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
@<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String { @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String {
} }
.invoke#()) public final [ResolvedTo(CONTRACTS)] class TopLevelClass : R|kotlin/Any| { .invoke#()) public final [ResolvedTo(CONTRACTS)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -108,7 +108,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
@<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String { @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): String {
} }
.invoke#()) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| { .invoke#()) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -118,7 +118,7 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
@<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class TopLevelClass : R|kotlin/Any| { @<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -383,17 +383,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -445,17 +445,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -507,17 +507,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -569,17 +569,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(CONTRACTS)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(CONTRACTS)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -631,17 +631,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](String(FirstClass)) @R|Anno|[Types](String(FirstClass)) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -693,17 +693,17 @@ FILE: [ResolvedTo(IMPORTS)] nestedCompilerRequiredAnnotations.kt
} }
@R|kotlin/Deprecated|[Types](message = String(FirstClass)) @R|Anno|[Types](s = String(FirstClass)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class FirstClass : R|kotlin/Any| { @R|kotlin/Deprecated|[Types](message = String(FirstClass)) @R|Anno|[Types](s = String(FirstClass)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class FirstClass : R|kotlin/Any| {
@R|kotlin/Deprecated|[Types](String(constructor)) @R|Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/FirstClass.a] @R|Anno|[Types](LAZY_EXPRESSION) a: R|kotlin/Int|): R|FirstClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@R|kotlin/Deprecated|[Types](String(constructorProperty)) public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val a: R|kotlin/Int| = R|<local>/a| @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val a: Int = R|<local>/a|
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): R|kotlin/Int| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): Int
@R|kotlin/Deprecated|[Types](String(memberFunction)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK } @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] fun memberFunction(): R|kotlin/Unit| { LAZY_BLOCK }
@R|kotlin/Deprecated|[Types](String(memberProperty)) @R|Anno|[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] val memberProperty: <implicit> = LAZY_EXPRESSION @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] val memberProperty: <implicit> = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=FirstClass] get(): <implicit> public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=FirstClass] get(): <implicit>
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] class NestedClass : R|kotlin/Any| {
@Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| { @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/FirstClass.NestedClass.a] @Deprecated[Unresolved](LAZY_EXPRESSION) @Anno[Unresolved](LAZY_EXPRESSION) a: Int): R|FirstClass.NestedClass| {
@@ -188,8 +188,8 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(STATUS)] class OuterClass<[ResolvedTo(STATUS)] T1> : R|SuperForOuter| { public final [ResolvedTo(STATUS)] class OuterClass<[ResolvedTo(STATUS)] T1> : R|SuperForOuter| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor<[ResolvedTo(STATUS)] T1>(): R|OuterClass<T1>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor<[ResolvedTo(STATUS)] T1>(): R|OuterClass<T1>| {
LAZY_super<R|SuperForOuter|> LAZY_super<SuperForOuter>
} }
public? final? [ResolvedTo(SUPER_TYPES)] class NestedClass<[ResolvedTo(SUPER_TYPES)] T2> : R|Another| { public? final? [ResolvedTo(SUPER_TYPES)] class NestedClass<[ResolvedTo(SUPER_TYPES)] T2> : R|Another| {
@@ -208,8 +208,8 @@ FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt
} }
} }
public open [ResolvedTo(STATUS)] class SuperForOuter : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class SuperForOuter : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SuperForOuter] constructor(): R|SuperForOuter| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SuperForOuter] constructor(): R|SuperForOuter| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -219,8 +219,8 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(STATUS)] class OuterClass<[ResolvedTo(STATUS)] T1> : R|SuperForOuter| { public final [ResolvedTo(STATUS)] class OuterClass<[ResolvedTo(STATUS)] T1> : R|SuperForOuter| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor<[ResolvedTo(STATUS)] T1>(): R|OuterClass<T1>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor<[ResolvedTo(STATUS)] T1>(): R|OuterClass<T1>| {
LAZY_super<R|SuperForOuter|> LAZY_super<SuperForOuter>
} }
public? final? [ResolvedTo(SUPER_TYPES)] class NestedClass<[ResolvedTo(SUPER_TYPES)] T2> : R|Another| { public? final? [ResolvedTo(SUPER_TYPES)] class NestedClass<[ResolvedTo(SUPER_TYPES)] T2> : R|Another| {
@@ -239,8 +239,8 @@ FILE: [ResolvedTo(IMPORTS)] nestedTypeAlias.kt
} }
} }
public open [ResolvedTo(STATUS)] class SuperForOuter : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class SuperForOuter : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=SuperForOuter] constructor(): R|SuperForOuter| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SuperForOuter] constructor(): R|SuperForOuter| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -133,8 +133,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
STATUS: STATUS:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -146,8 +146,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(STATUS)] class resolveMe : R|A| { public open [ResolvedTo(STATUS)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -155,8 +155,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
EXPECT_ACTUAL_MATCHING: EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -168,8 +168,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class resolveMe : R|A| { public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -177,8 +177,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
ARGUMENTS_OF_ANNOTATIONS: ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -190,8 +190,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class resolveMe : R|A| { public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -199,8 +199,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
CONTRACTS: CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -212,8 +212,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(CONTRACTS)] class resolveMe : R|A| { public open [ResolvedTo(CONTRACTS)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -221,8 +221,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
IMPLICIT_TYPES_BODY_RESOLVE: IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -234,8 +234,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class resolveMe : R|A| { public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -243,8 +243,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
ANNOTATIONS_ARGUMENTS_MAPPING: ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] superTypes.kt FILE: [ResolvedTo(IMPORTS)] superTypes.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public? open [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
@@ -256,8 +256,8 @@ FILE: [ResolvedTo(IMPORTS)] superTypes.kt
} }
public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class resolveMe : R|A| { public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class resolveMe : R|A| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -170,8 +170,8 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(STATUS)] class resolveMe : R|C| { public open [ResolvedTo(STATUS)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -187,9 +187,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -198,8 +198,8 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class resolveMe : R|C| { public open [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -215,9 +215,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -226,8 +226,8 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class resolveMe : R|C| { public open [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -243,9 +243,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -254,8 +254,8 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(CONTRACTS)] class resolveMe : R|C| { public open [ResolvedTo(CONTRACTS)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -271,9 +271,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -282,8 +282,8 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class resolveMe : R|C| { public open [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -299,9 +299,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -310,8 +310,8 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class resolveMe : R|C| { public open [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class resolveMe : R|C| {
public [ResolvedTo(STATUS)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=resolveMe] constructor(): R|resolveMe| {
LAZY_super<R|C|> LAZY_super<C>
} }
} }
@@ -327,9 +327,9 @@ FILE: [ResolvedTo(IMPORTS)] superTypesLoop.kt
} }
} }
public open [ResolvedTo(STATUS)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> { public? open [ResolvedTo(SUPER_TYPES)] class C : <ERROR TYPE REF: Loop in supertype: /C -> /A> {
public [ResolvedTo(STATUS)] [ContainingClassKey=C] constructor(): R|C| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=C] constructor(): R|C| {
LAZY_super<R|A|> LAZY_super<A>
} }
} }
@@ -74,11 +74,11 @@ STATUS:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(STATUS)] class MyClass<[ResolvedTo(STATUS)] Type> : R|kotlin/Any| { public final [ResolvedTo(STATUS)] class MyClass<[ResolvedTo(STATUS)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(STATUS)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(STATUS)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -86,11 +86,11 @@ EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class MyClass<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] Type> : R|kotlin/Any| { public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class MyClass<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(EXPECT_ACTUAL_MATCHING)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -98,11 +98,11 @@ ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class MyClass<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] Type> : R|kotlin/Any| { public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] class MyClass<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -110,11 +110,11 @@ CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(CONTRACTS)] class MyClass<[ResolvedTo(CONTRACTS)] Type> : R|kotlin/Any| { public final [ResolvedTo(CONTRACTS)] class MyClass<[ResolvedTo(CONTRACTS)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(CONTRACTS)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(CONTRACTS)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -122,11 +122,11 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class MyClass<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] Type> : R|kotlin/Any| { public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class MyClass<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -134,11 +134,11 @@ ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt FILE: [ResolvedTo(IMPORTS)] typeParameterOfClass.kt
[ResolvedTo(BODY_RESOLVE)] annotations container [ResolvedTo(BODY_RESOLVE)] annotations container
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class MyClass<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] Type> : R|kotlin/Any| { public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] class MyClass<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] Type> : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] Type>(): R|MyClass<Type>| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor<[ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] Type>(): R|MyClass<Type>| {
LAZY_super<R|kotlin/Any|> LAZY_super<R|kotlin/Any|>
} }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] t: R|Type|): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] t: Type): R|kotlin/Unit| { LAZY_BLOCK }
} }
@@ -16,10 +16,12 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNa
import org.jetbrains.kotlin.fir.scopes.FirCompositeScope import org.jetbrains.kotlin.fir.scopes.FirCompositeScope
import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhaseWithCallableMembers
import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.types.coneType import org.jetbrains.kotlin.fir.types.coneType
import org.jetbrains.kotlin.fir.types.toSymbol import org.jetbrains.kotlin.fir.types.toSymbol
@@ -197,7 +199,7 @@ abstract class AbstractFirStatusResolveTransformer(
val statusResolver = FirStatusResolver(session, scopeSession) val statusResolver = FirStatusResolver(session, scopeSession)
@OptIn(PrivateForInline::class) @OptIn(PrivateForInline::class)
protected val containingClass: FirClass? get() = classes.lastOrNull() val containingClass: FirClass? get() = classes.lastOrNull()
protected abstract fun FirDeclaration.needResolveMembers(): Boolean protected abstract fun FirDeclaration.needResolveMembers(): Boolean
protected abstract fun FirDeclaration.needResolveNestedClassifiers(): Boolean protected abstract fun FirDeclaration.needResolveNestedClassifiers(): Boolean
@@ -332,7 +334,11 @@ abstract class AbstractFirStatusResolveTransformer(
private fun forceResolveStatusOfCorrespondingClass(typeRef: FirTypeRef) { private fun forceResolveStatusOfCorrespondingClass(typeRef: FirTypeRef) {
val superClassSymbol = typeRef.coneType.toSymbol(session) val superClassSymbol = typeRef.coneType.toSymbol(session)
if (isTransformerForLocalDeclarations) { if (isTransformerForLocalDeclarations) {
superClassSymbol?.lazyResolveToPhase(FirResolvePhase.STATUS) if (superClassSymbol is FirClassSymbol) {
superClassSymbol.lazyResolveToPhaseWithCallableMembers(FirResolvePhase.STATUS)
} else {
superClassSymbol?.lazyResolveToPhase(FirResolvePhase.STATUS)
}
} else { } else {
superClassSymbol?.lazyResolveToPhase(FirResolvePhase.STATUS.previous) superClassSymbol?.lazyResolveToPhase(FirResolvePhase.STATUS.previous)
} }
@@ -413,11 +419,27 @@ abstract class AbstractFirStatusResolveTransformer(
override fun transformSimpleFunction( override fun transformSimpleFunction(
simpleFunction: FirSimpleFunction, simpleFunction: FirSimpleFunction,
data: FirResolvedDeclarationStatus? data: FirResolvedDeclarationStatus?,
): FirStatement = whileAnalysing(session, simpleFunction) { ): FirStatement = whileAnalysing(session, simpleFunction) {
val resolvedStatus = statusResolver.resolveStatus(simpleFunction, containingClass, isLocal = false) val overriddenFunctions = statusResolver.getOverriddenFunctions(simpleFunction, containingClass)
transformSimpleFunction(simpleFunction, overriddenFunctions, data)
return simpleFunction
}
fun transformSimpleFunction(
simpleFunction: FirSimpleFunction,
overriddenFunctions: List<FirSimpleFunction>,
data: FirResolvedDeclarationStatus? = null,
) {
val resolvedStatus = statusResolver.resolveStatus(
simpleFunction,
containingClass,
isLocal = false,
overriddenFunctions.map { it.status as FirResolvedDeclarationStatus },
)
simpleFunction.transformStatus(this, resolvedStatus) simpleFunction.transformStatus(this, resolvedStatus)
return transformDeclaration(simpleFunction, data) as FirStatement transformDeclaration(simpleFunction, data) as FirStatement
} }
override fun transformProperty( override fun transformProperty(
@@ -425,17 +447,20 @@ abstract class AbstractFirStatusResolveTransformer(
data: FirResolvedDeclarationStatus? data: FirResolvedDeclarationStatus?
): FirStatement = whileAnalysing(session, property) { ): FirStatement = whileAnalysing(session, property) {
val overridden = statusResolver.getOverriddenProperties(property, containingClass) val overridden = statusResolver.getOverriddenProperties(property, containingClass)
transformProperty(property, overridden)
return property
}
val overriddenProperties = overridden.map { it.status as FirResolvedDeclarationStatus } fun transformProperty(property: FirProperty, overriddenProperties: List<FirProperty>) {
val overriddenStatuses = overriddenProperties.map { it.status as FirResolvedDeclarationStatus }
val overriddenSetters = overridden.mapNotNull { val overriddenSetters = overriddenProperties.mapNotNull {
val setter = it.setter ?: return@mapNotNull null val setter = it.setter ?: return@mapNotNull null
setter.status as FirResolvedDeclarationStatus setter.status as FirResolvedDeclarationStatus
} }
property.transformStatus( property.transformStatus(
this, this,
statusResolver.resolveStatus(property, containingClass, false, overriddenProperties) statusResolver.resolveStatus(property, containingClass, false, overriddenStatuses)
) )
property.getter?.let { transformPropertyAccessor(it, property) } property.getter?.let { transformPropertyAccessor(it, property) }
@@ -447,8 +472,6 @@ abstract class AbstractFirStatusResolveTransformer(
statusResolver.resolveStatus(it, containingClass, property, isLocal = false) statusResolver.resolveStatus(it, containingClass, property, isLocal = false)
) )
} }
return property
} }
override fun transformField( override fun transformField(
@@ -120,15 +120,15 @@ class FirStatusResolver(
return resolveStatus(property, status, containingClass, null, isLocal, statuses) return resolveStatus(property, status, containingClass, null, isLocal, statuses)
} }
private fun getOverriddenStatuses( fun getOverriddenFunctions(
function: FirSimpleFunction, function: FirSimpleFunction,
containingClass: FirClass? containingClass: FirClass?
): List<FirResolvedDeclarationStatus> { ): List<FirSimpleFunction> {
if (containingClass == null) { if (containingClass == null) {
return emptyList() return emptyList()
} }
return buildList<FirCallableDeclaration> { return buildList {
val scope = containingClass.unsubstitutedScope( val scope = containingClass.unsubstitutedScope(
session, session,
scopeSession, scopeSession,
@@ -147,17 +147,23 @@ class FirStatusResolver(
} }
ProcessorAction.NEXT ProcessorAction.NEXT
} }
}.map {
it.status as FirResolvedDeclarationStatus
} }
} }
fun resolveStatus(function: FirSimpleFunction, containingClass: FirClass?, isLocal: Boolean): FirResolvedDeclarationStatus { fun resolveStatus(
function: FirSimpleFunction,
containingClass: FirClass?,
isLocal: Boolean,
overriddenStatuses: List<FirResolvedDeclarationStatus>? = null,
): FirResolvedDeclarationStatus {
val status = function.applyExtensionTransformers { val status = function.applyExtensionTransformers {
transformStatus(it, function, containingClass?.symbol, isLocal) transformStatus(it, function, containingClass?.symbol, isLocal)
} }
val overriddenStatuses = getOverriddenStatuses(function, containingClass)
return resolveStatus(function, status, containingClass, null, isLocal, overriddenStatuses) val statuses = overriddenStatuses
?: getOverriddenFunctions(function, containingClass).map { it.status as FirResolvedDeclarationStatus }
return resolveStatus(function, status, containingClass, null, isLocal, statuses)
} }
fun resolveStatus( fun resolveStatus(