RAW_FIR: FILE: [ResolvedTo(RAW_FIR)] secondaryConstructorParameter.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] str: String): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } IMPORTS: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final? [ResolvedTo(RAW_FIR)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] str: String): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } COMPILER_REQUIRED_ANNOTATIONS: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=A] constructor([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] str: String): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } COMPANION_GENERATION: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final? [ResolvedTo(COMPANION_GENERATION)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=A] constructor([ResolvedTo(COMPANION_GENERATION)] str: String): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } SUPER_TYPES: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final? [ResolvedTo(SUPER_TYPES)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=A] constructor([ResolvedTo(SUPER_TYPES)] str: String): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } TYPES: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final? [ResolvedTo(TYPES)] class A : R|kotlin/Any| { public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=/A.prop] prop: Int = LAZY_EXPRESSION, [ResolvedTo(RAW_FIR)] c: String): R|A| { LAZY_super } public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: Int = R|/prop| public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=A] get(): Int public? [ResolvedTo(TYPES)] [ContainingClassKey=A] constructor([ResolvedTo(TYPES)] str: R|kotlin/String|): R|A| { LAZY_this } public? final? [ResolvedTo(RAW_FIR)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } STATUS: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(STATUS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] str: R|kotlin/String|): R|A| { LAZY_this } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } EXPECT_ACTUAL_MATCHING: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=A] constructor([ResolvedTo(EXPECT_ACTUAL_MATCHING)] str: R|kotlin/String|): R|A| { LAZY_this } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } CONTRACTS: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(CONTRACTS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(CONTRACTS)] [ContainingClassKey=A] constructor([ResolvedTo(CONTRACTS)] str: R|kotlin/String|): R|A| { this(str#.myToInt#(), str#) } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } IMPLICIT_TYPES_BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] str: R|kotlin/String|): R|A| { this(str#.myToInt#(), str#) } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } CONSTANT_EVALUATION: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(CONSTANT_EVALUATION)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(CONSTANT_EVALUATION)] [ContainingClassKey=A] constructor([ResolvedTo(CONSTANT_EVALUATION)] str: R|kotlin/String|): R|A| { this(str#.myToInt#(), str#) } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } ANNOTATION_ARGUMENTS: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(ANNOTATION_ARGUMENTS)] [ContainingClassKey=A] constructor([ResolvedTo(ANNOTATION_ARGUMENTS)] str: R|kotlin/String|): R|A| { this(str#.myToInt#(), str#) } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public? final? [ResolvedTo(RAW_FIR)] fun String.myToInt(): Int { LAZY_BLOCK } BODY_RESOLVE: FILE: [ResolvedTo(IMPORTS)] secondaryConstructorParameter.kt public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class A : R|kotlin/Any| { public [ResolvedTo(STATUS)] [ContainingClassKey=A] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = LAZY_EXPRESSION, [ResolvedTo(STATUS)] c: R|kotlin/String|): R|A| { LAZY_super } public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(STATUS)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(BODY_RESOLVE)] str: R|kotlin/String|): R|A| { this(R|/str|.R|/myToInt|(), R|/str|) } public final [ResolvedTo(STATUS)] fun foo(): { LAZY_BLOCK } } public final [ResolvedTo(CONTRACTS)] fun R|kotlin/String|.myToInt(): R|kotlin/Int| { ^myToInt IntegerLiteral(42) } FILE RAW TO BODY: FILE: [ResolvedTo(BODY_RESOLVE)] secondaryConstructorParameter.kt public final [ResolvedTo(BODY_RESOLVE)] class A : R|kotlin/Any| { public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=/A.prop] prop: R|kotlin/Int| = Int(42), [ResolvedTo(BODY_RESOLVE)] c: R|kotlin/String|): R|A| { super() } public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val prop: R|kotlin/Int| = R|/prop| public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] get(): R|kotlin/Int| public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=A] constructor([ResolvedTo(BODY_RESOLVE)] str: R|kotlin/String|): R|A| { this(R|/str|.R|/myToInt|(), R|/str|) } public final [ResolvedTo(BODY_RESOLVE)] fun foo(): R|kotlin/String| { ^foo String(str) } } public final [ResolvedTo(BODY_RESOLVE)] fun R|kotlin/String|.myToInt(): R|kotlin/Int| { ^myToInt Int(42) }