RAW_FIR: FILE: [ResolvedTo(RAW_FIR)] classMembers.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } IMPORTS: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } COMPILER_REQUIRED_ANNOTATIONS: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } COMPANION_GENERATION: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(COMPANION_GENERATION)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } SUPER_TYPES: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final? [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(SUPER_TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } TYPES: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final? [ResolvedTo(TYPES)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public? final? [ResolvedTo(TYPES)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] val x: Int = LAZY_EXPRESSION public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun receive([ResolvedTo(RAW_FIR)] value: String): R|kotlin/Unit| { LAZY_BLOCK } public? final? [ResolvedTo(RAW_FIR)] fun functionWithLazyBody(): String { LAZY_BLOCK } } STATUS: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } EXPECT_ACTUAL_MATCHING: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun resolveMe(): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } CONTRACTS: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(CONTRACTS)] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } CONSTANT_EVALUATION: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(CONSTANT_EVALUATION)] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun resolveMe(): R|kotlin/Unit| { receive#(functionWithLazyBody#()) } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun receive([ResolvedTo(STATUS)] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK } public final [ResolvedTo(STATUS)] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK } } BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] classMembers.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor(): R|A| { LAZY_super } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { this@R|/A|.R|/A.receive|(this@R|/A|.R|/A.functionWithLazyBody|()) } public final [ResolvedTo(STATUS)] val x: R|kotlin/Int| = LAZY_EXPRESSION public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK } public final [ResolvedTo(CONTRACTS)] fun receive([ResolvedTo(CONTRACTS)] value: R|kotlin/String|): R|kotlin/Unit| { } public final [ResolvedTo(CONTRACTS)] fun functionWithLazyBody(): R|kotlin/String| { ^functionWithLazyBody String(42) } } FILE RAW TO BODY: FILE: [ResolvedTo(BODY_RESOLVE)] classMembers.kt public final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| { public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor(): R|A| { super() } public final [ResolvedTo(BODY_RESOLVE)] fun resolveMe(): R|kotlin/Unit| { this@R|/A|.R|/A.receive|(this@R|/A|.R|/A.functionWithLazyBody|()) } public final [ResolvedTo(BODY_RESOLVE)] [IsReferredViaField=true] val x: R|kotlin/Int| = Int(10) public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| { ^ this@R|/A|.F|/A.x| } public final [ResolvedTo(BODY_RESOLVE)] fun receive([ResolvedTo(BODY_RESOLVE)] value: R|kotlin/String|): R|kotlin/Unit| { } public final [ResolvedTo(BODY_RESOLVE)] fun functionWithLazyBody(): R|kotlin/String| { ^functionWithLazyBody String(42) } }