Files
kotlin-fork/analysis/low-level-api-fir/testdata/lazyResolve/classes/hierarchyWithOverrideAndNestedClass4.txt
T
Dmitrii Gridin 2885df14ee [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
2023-05-19 12:43:45 +00:00

998 lines
42 KiB
Plaintext

RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo2 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(RAW_FIR)] class OuterClass : Foo1 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class NestedClass : Foo2 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class AnotherNestedClass : NestedClass {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo2 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(RAW_FIR)] class OuterClass : Foo1 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class NestedClass : Foo2 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class AnotherNestedClass : NestedClass {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo2 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(RAW_FIR)] class OuterClass : Foo1 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class NestedClass : Foo2 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class AnotherNestedClass : NestedClass {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(RAW_FIR)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo2 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(RAW_FIR)] class OuterClass : Foo1 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(RAW_FIR)] class NestedClass : Foo2 {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(COMPANION_GENERATION)] class AnotherNestedClass : NestedClass {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(SUPER_TYPES)] class OuterClass : R|Foo1| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public? abstract [ResolvedTo(TYPES)] class OuterClass : R|Foo1| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(TYPES)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
STATUS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public abstract [ResolvedTo(STATUS)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo1 : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar(): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val str: String
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo1] get(): String
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
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? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
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? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public? open? override [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public abstract [ResolvedTo(CONTRACTS)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
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? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public? final? [ResolvedTo(SUPER_TYPES)] interface Foo2 : R|Foo1| {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo2] get(): Boolean
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public? abstract [ResolvedTo(SUPER_TYPES)] class NestedClass : R|Foo2| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
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? [ResolvedTo(RAW_FIR)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
LAZY_super<NestedClass>
}
public? open? override [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit| { LAZY_BLOCK }
}
}
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(STATUS)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val str: R|kotlin/String|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public? final? [ResolvedTo(RAW_FIR)] class ClassFromInterface : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
LAZY_super<R|kotlin/Any|>
}
}
}
public abstract [ResolvedTo(STATUS)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] i: R|kotlin/Int|): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] fun bar([ResolvedTo(STATUS)] s: R|kotlin/String|): R|kotlin/Unit|
public abstract [ResolvedTo(STATUS)] val isBoo: R|kotlin/Boolean|
public [ResolvedTo(STATUS)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean|
}
public? final? [ResolvedTo(RAW_FIR)] interface Foo3 : Foo1 {
public? final? [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] i: Int): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] fun bar([ResolvedTo(RAW_FIR)] s: String): R|kotlin/Unit|
public? final? [ResolvedTo(RAW_FIR)] val isBoo: Boolean
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=Foo3] get(): Boolean
}
public abstract [ResolvedTo(STATUS)] class OuterClass : R|Foo1| {
public [ResolvedTo(STATUS)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
LAZY_super<<implicit>>
}
public? final? [ResolvedTo(RAW_FIR)] class SimpleNestedClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
LAZY_super<R|kotlin/Any|>
}
public? final? [ResolvedTo(RAW_FIR)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public abstract [ResolvedTo(STATUS)] class NestedClass : R|Foo2| {
public [ResolvedTo(STATUS)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
LAZY_super<<implicit>>
}
public open override [ResolvedTo(STATUS)] fun foo(): R|kotlin/Unit| { LAZY_BLOCK }
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
super<R|OuterClass.NestedClass|>()
}
public open override [ResolvedTo(BODY_RESOLVE)] fun bar([ResolvedTo(BODY_RESOLVE)] s: R|kotlin/String|): R|kotlin/Unit| {
}
}
}
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] hierarchyWithOverrideAndNestedClass4.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
public abstract [ResolvedTo(BODY_RESOLVE)] interface Foo1 : R|kotlin/Any| {
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] fun bar(): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] val str: R|kotlin/String|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo1] get(): R|kotlin/String|
public final [ResolvedTo(BODY_RESOLVE)] class ClassFromInterface : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=ClassFromInterface] constructor(): R|Foo1.ClassFromInterface| {
super<R|kotlin/Any|>()
}
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface Foo2 : R|Foo1| {
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] fun bar([ResolvedTo(BODY_RESOLVE)] s: R|kotlin/String|): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] val isBoo: R|kotlin/Boolean|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo2] get(): R|kotlin/Boolean|
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface Foo3 : R|Foo1| {
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] i: R|kotlin/Int|): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] fun bar([ResolvedTo(BODY_RESOLVE)] s: R|kotlin/String|): R|kotlin/Unit|
public abstract [ResolvedTo(BODY_RESOLVE)] val isBoo: R|kotlin/Boolean|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=Foo3] get(): R|kotlin/Boolean|
}
public abstract [ResolvedTo(BODY_RESOLVE)] class OuterClass : R|Foo1| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=OuterClass] constructor(): R|OuterClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] class SimpleNestedClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=SimpleNestedClass] constructor(): R|OuterClass.SimpleNestedClass| {
super<R|kotlin/Any|>()
}
public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class NestedClass : R|Foo2| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=NestedClass] constructor(): R|OuterClass.NestedClass| {
super<R|kotlin/Any|>()
}
public open override [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/Unit| {
}
}
public abstract [ResolvedTo(BODY_RESOLVE)] class AnotherNestedClass : R|OuterClass.NestedClass| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=AnotherNestedClass] constructor(): R|OuterClass.AnotherNestedClass| {
super<R|OuterClass.NestedClass|>()
}
public open override [ResolvedTo(BODY_RESOLVE)] fun bar([ResolvedTo(BODY_RESOLVE)] s: R|kotlin/String|): R|kotlin/Unit| {
}
}
}