[LL FIR] update phase of value parameters on lazy resolve

Previously, such phases may not be properly set which could cause additional lazy resolve
This commit is contained in:
Ilya Kirillov
2022-08-06 15:30:31 +02:00
parent 56e6d5d6b9
commit cd063d0cd0
14 changed files with 59 additions and 56 deletions
@@ -39,9 +39,12 @@ internal interface LLFirLazyTransformer {
element.replaceResolvePhase(newPhase)
when (element) {
is FirFunction -> {
element.valueParameters.forEach { updatePhaseForNonLocals(it, newPhase) }
}
is FirProperty -> {
element.getter?.run { if (resolvePhase < newPhase) replaceResolvePhase(newPhase) }
element.setter?.run { if (resolvePhase < newPhase) replaceResolvePhase(newPhase) }
element.getter?.let { updatePhaseForNonLocals(it, newPhase) }
element.setter?.let { updatePhaseForNonLocals(it, newPhase) }
}
is FirClass -> {
element.declarations.forEach {
@@ -190,7 +190,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -225,7 +225,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -260,7 +260,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -295,7 +295,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -331,7 +331,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -367,7 +367,7 @@ FILE: annotationParameters.kt
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] annotation class Anno : R|kotlin/Annotation| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=Anno] constructor([COMPILER_REQUIRED_ANNOTATIONS] [CorrespondingProperty=/Anno.args] args: A.X): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -403,7 +403,7 @@ FILE: annotationParameters.kt
}
public final [SUPER_TYPES] annotation class Anno : R|kotlin/Annotation| {
public [STATUS] [ContainingClassKey=Anno] constructor([RAW_FIR] [CorrespondingProperty=/Anno.args] args: <ERROR TYPE REF: Symbol not found for A.X>): R|Anno| {
public [STATUS] [ContainingClassKey=Anno] constructor([STATUS] [CorrespondingProperty=/Anno.args] args: <ERROR TYPE REF: Symbol not found for A.X>): R|Anno| {
super<R|kotlin/Any|>()
}
@@ -101,7 +101,7 @@ FILE: classMembers.kt
public? final? [SUPER_TYPES] val x: Int = LAZY_EXPRESSION
public? [SUPER_TYPES] [ContainingClassKey=A] get(): Int { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([SUPER_TYPES] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun functionWithLazyBody(): String { LAZY_BLOCK }
@@ -119,7 +119,7 @@ FILE: classMembers.kt
public? final? [SUPER_TYPES] val x: Int = LAZY_EXPRESSION
public? [SUPER_TYPES] [ContainingClassKey=A] get(): Int { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([SUPER_TYPES] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun functionWithLazyBody(): String { LAZY_BLOCK }
@@ -137,7 +137,7 @@ FILE: classMembers.kt
public? final? [SUPER_TYPES] val x: Int = LAZY_EXPRESSION
public? [SUPER_TYPES] [ContainingClassKey=A] get(): Int { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([SUPER_TYPES] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun functionWithLazyBody(): String { LAZY_BLOCK }
@@ -157,7 +157,7 @@ FILE: classMembers.kt
public? final? [SUPER_TYPES] val x: Int = LAZY_EXPRESSION
public? [SUPER_TYPES] [ContainingClassKey=A] get(): Int { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([RAW_FIR] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun receive([SUPER_TYPES] value: String): R|kotlin/Unit| { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun functionWithLazyBody(): String { LAZY_BLOCK }
@@ -177,7 +177,7 @@ FILE: classMembers.kt
public final [STATUS] val x: R|kotlin/Int| = LAZY_EXPRESSION
public [STATUS] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK }
public final [STATUS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
public final [STATUS] fun receive([STATUS] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
public final [STATUS] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK }
@@ -197,7 +197,7 @@ FILE: classMembers.kt
public final [STATUS] val x: R|kotlin/Int| = LAZY_EXPRESSION
public [STATUS] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK }
public final [STATUS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
public final [STATUS] fun receive([STATUS] value: R|kotlin/String|): R|kotlin/Unit| { LAZY_BLOCK }
public final [STATUS] fun functionWithLazyBody(): R|kotlin/String| { LAZY_BLOCK }
@@ -217,7 +217,7 @@ FILE: classMembers.kt
public final [STATUS] val x: R|kotlin/Int| = LAZY_EXPRESSION
public [STATUS] [ContainingClassKey=A] get(): R|kotlin/Int| { LAZY_BLOCK }
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/String|): R|kotlin/Unit| {
}
public final [CONTRACTS] fun functionWithLazyBody(): R|kotlin/String| {
@@ -341,7 +341,7 @@ FILE: delegates.kt
R|/variableWithExplicitType| = Int(10)
R|/variableWithImplicitType| = Int(10)
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/Int|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [CONTRACTS] val delegate: R|kotlin/properties/ReadWriteProperty<kotlin/Any?, kotlin/Int>| = object : R|kotlin/properties/ReadWriteProperty<kotlin/Any?, kotlin/Int>| {
private [RAW_FIR] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
@@ -370,14 +370,14 @@ FILE: delegates.kt
public [CONTRACTS] get(): <implicit> {
^ D|/variableWithExplicitType|.getValue#(Null(null), ::R|/variableWithExplicitType|)
}
public [CONTRACTS] set([RAW_FIR] <set-?>: <implicit>): R|kotlin/Unit| {
public [CONTRACTS] set([CONTRACTS] <set-?>: <implicit>): R|kotlin/Unit| {
D|/variableWithExplicitType|.setValue#(Null(null), ::R|/variableWithExplicitType|, R|<local>/variableWithExplicitType|)
}
public final [IMPLICIT_TYPES_BODY_RESOLVE] var variableWithImplicitType: R|kotlin/Int|by R|/delegate|
public [IMPLICIT_TYPES_BODY_RESOLVE] get(): R|kotlin/Int| {
^ D|/variableWithImplicitType|.R|SubstitutionOverride<kotlin/properties/ReadWriteProperty.getValue: R|kotlin/Int|>|(Null(null), ::R|/variableWithImplicitType|)
}
public [IMPLICIT_TYPES_BODY_RESOLVE] set([RAW_FIR] <set-?>: R|kotlin/Int|): R|kotlin/Unit| {
public [IMPLICIT_TYPES_BODY_RESOLVE] set([IMPLICIT_TYPES_BODY_RESOLVE] <set-?>: R|kotlin/Int|): R|kotlin/Unit| {
D|/variableWithImplicitType|.R|SubstitutionOverride<kotlin/properties/ReadWriteProperty.setValue: R|kotlin/Unit|>|(Null(null), ::R|/variableWithImplicitType|, R|<local>/variableWithImplicitType|)
}
@@ -15,43 +15,43 @@ COMPILER_REQUIRED_ANNOTATIONS:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe([RAW_FIR] param: I): <implicit> { LAZY_BLOCK }
public? final? [COMPILER_REQUIRED_ANNOTATIONS] fun resolveMe([COMPILER_REQUIRED_ANNOTATIONS] param: I): <implicit> { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public? final? [COMPANION_GENERATION] fun resolveMe([RAW_FIR] param: I): <implicit> { LAZY_BLOCK }
public? final? [COMPANION_GENERATION] fun resolveMe([COMPANION_GENERATION] param: I): <implicit> { LAZY_BLOCK }
SUPER_TYPES:
FILE: functionWithParameter.kt
public? final? [RAW_FIR] interface I : R|kotlin/Any| {
}
public? final? [SUPER_TYPES] fun resolveMe([RAW_FIR] param: I): <implicit> { LAZY_BLOCK }
public? final? [SUPER_TYPES] fun resolveMe([SUPER_TYPES] param: I): <implicit> { LAZY_BLOCK }
TYPES:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public? final? [TYPES] fun resolveMe([RAW_FIR] param: R|I|): <implicit> { LAZY_BLOCK }
public? final? [TYPES] fun resolveMe([TYPES] param: R|I|): <implicit> { LAZY_BLOCK }
STATUS:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public final [STATUS] fun resolveMe([RAW_FIR] param: R|I|): <implicit> { LAZY_BLOCK }
public final [STATUS] fun resolveMe([STATUS] param: R|I|): <implicit> { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([RAW_FIR] param: R|I|): <implicit> { LAZY_BLOCK }
public final [ARGUMENTS_OF_ANNOTATIONS] fun resolveMe([ARGUMENTS_OF_ANNOTATIONS] param: R|I|): <implicit> { LAZY_BLOCK }
CONTRACTS:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public final [CONTRACTS] fun resolveMe([RAW_FIR] param: R|I|): <implicit> {
public final [CONTRACTS] fun resolveMe([CONTRACTS] param: R|I|): <implicit> {
^resolveMe Unit#
}
@@ -59,7 +59,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe([RAW_FIR] param: R|I|): R|kotlin/Unit| {
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun resolveMe([IMPLICIT_TYPES_BODY_RESOLVE] param: R|I|): R|kotlin/Unit| {
^resolveMe Q|kotlin/Unit|
}
@@ -67,7 +67,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: functionWithParameter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] interface I : R|kotlin/Any| {
}
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([RAW_FIR] param: R|I|): R|kotlin/Unit| {
public final [EXPECT_ACTUAL_MATCHING] fun resolveMe([EXPECT_ACTUAL_MATCHING] param: R|I|): R|kotlin/Unit| {
^resolveMe Q|kotlin/Unit|
}
@@ -188,10 +188,10 @@ FILE: lambdaAsSAMInterface.kt
}
public abstract fun [SUPER_TYPES] interface Foo : R|kotlin/Any| {
public abstract [STATUS] fun foo([RAW_FIR] a: R|foo/Arg|): R|foo/Arg|
public abstract [STATUS] fun foo([STATUS] a: R|foo/Arg|): R|foo/Arg|
}
public final [CONTRACTS] fun testMe([RAW_FIR] f: R|foo/Foo|): R|kotlin/Unit| {
public final [CONTRACTS] fun testMe([CONTRACTS] f: R|foo/Foo|): R|kotlin/Unit| {
}
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|foo/testMe|(<L> = [BODY_RESOLVE] [MatchingParameterFunctionTypeKey=foo/Foo] testMe@fun <anonymous>([BODY_RESOLVE] b: R|foo/Arg|): R|foo/Arg| <inline=NoInline> {
@@ -34,7 +34,7 @@ FILE: parameterOfNonLocalSetter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] var x: Int = LAZY_EXPRESSION
public? [TYPES] [ContainingClassKey=X] get(): Int
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=X] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [COMPILER_REQUIRED_ANNOTATIONS] [ContainingClassKey=X] set([COMPILER_REQUIRED_ANNOTATIONS] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -47,7 +47,7 @@ FILE: parameterOfNonLocalSetter.kt
public? final? [COMPANION_GENERATION] var x: Int = LAZY_EXPRESSION
public? [TYPES] [ContainingClassKey=X] get(): Int
public? [COMPANION_GENERATION] [ContainingClassKey=X] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [COMPANION_GENERATION] [ContainingClassKey=X] set([COMPANION_GENERATION] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -60,7 +60,7 @@ FILE: parameterOfNonLocalSetter.kt
public? final? [SUPER_TYPES] var x: Int = LAZY_EXPRESSION
public? [TYPES] [ContainingClassKey=X] get(): Int
public? [SUPER_TYPES] [ContainingClassKey=X] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [SUPER_TYPES] [ContainingClassKey=X] set([SUPER_TYPES] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -73,7 +73,7 @@ FILE: parameterOfNonLocalSetter.kt
public? final? [TYPES] var x: R|kotlin/Int| = LAZY_EXPRESSION
public? [TYPES] [ContainingClassKey=X] get(): R|kotlin/Int|
public? [TYPES] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public? [TYPES] [ContainingClassKey=X] set([TYPES] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -86,7 +86,7 @@ FILE: parameterOfNonLocalSetter.kt
public final [STATUS] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [BODY_RESOLVE] [ContainingClassKey=X] get(): R|kotlin/Int|
public [STATUS] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public [STATUS] [ContainingClassKey=X] set([STATUS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -99,7 +99,7 @@ FILE: parameterOfNonLocalSetter.kt
public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [BODY_RESOLVE] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public [ARGUMENTS_OF_ANNOTATIONS] [ContainingClassKey=X] set([ARGUMENTS_OF_ANNOTATIONS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -112,7 +112,7 @@ FILE: parameterOfNonLocalSetter.kt
public final [CONTRACTS] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] [ContainingClassKey=X] get(): R|kotlin/Int|
public [CONTRACTS] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [CONTRACTS] [ContainingClassKey=X] set([CONTRACTS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
@@ -127,7 +127,7 @@ FILE: parameterOfNonLocalSetter.kt
public final [IMPLICIT_TYPES_BODY_RESOLVE] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] [ContainingClassKey=X] get(): R|kotlin/Int|
public [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [IMPLICIT_TYPES_BODY_RESOLVE] [ContainingClassKey=X] set([IMPLICIT_TYPES_BODY_RESOLVE] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
@@ -142,7 +142,7 @@ FILE: parameterOfNonLocalSetter.kt
public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] [ContainingClassKey=X] get(): R|kotlin/Int|
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [EXPECT_ACTUAL_MATCHING] [ContainingClassKey=X] set([EXPECT_ACTUAL_MATCHING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
@@ -87,7 +87,7 @@ FILE: propertyWithGetter.kt
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|/receive|(R|/withGetter|)
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/Int|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [CONTRACTS] val withGetter: R|kotlin/Int|
public [CONTRACTS] get(): R|kotlin/Int| {
@@ -102,13 +102,13 @@ FILE: propertyWithGetterAndSetter.kt
R|/receive|(R|/withGetterAndSetter|)
R|/withGetterAndSetter| = Int(123)
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/Int|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/Int|): R|kotlin/Unit| {
}
public final [CONTRACTS] var withGetterAndSetter: R|kotlin/Int| = IntegerLiteral(42)
public [CONTRACTS] get(): R|kotlin/Int| {
^ field#
}
public [CONTRACTS] set([RAW_FIR] value: R|kotlin/Int|): R|kotlin/Unit| {
public [CONTRACTS] set([CONTRACTS] value: R|kotlin/Int|): R|kotlin/Unit| {
field# = value#
}
@@ -142,10 +142,10 @@ FILE: secondaryConstructor.kt
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|/receive|(R|/A.A|(Int(42)))
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|A|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|A|): R|kotlin/Unit| {
}
public final [STATUS] class A : R|kotlin/Any| {
public [STATUS] [ContainingClassKey=A] constructor([RAW_FIR] x: R|kotlin/Int|): R|A| {
public [STATUS] [ContainingClassKey=A] constructor([STATUS] x: R|kotlin/Int|): R|A| {
super<R|kotlin/Any|>()
[RAW_FIR] lval a: <implicit> = x#
}
@@ -76,7 +76,7 @@ FILE: topLevelFunctions.kt
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|/receive|(R|/functionWithLazyBody|())
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/String|): R|kotlin/Unit| {
}
public final [CONTRACTS] fun functionWithLazyBody(): R|kotlin/String| {
^functionWithLazyBody String(42)
@@ -76,7 +76,7 @@ FILE: topLevelFunctionsWithExpressionBodyAndExplicitType.kt
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|/receive|(R|/functionWithLazyBody|())
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/String|): R|kotlin/Unit| {
}
public final [CONTRACTS] fun functionWithLazyBody(): R|kotlin/String| {
^functionWithLazyBody String(42)
@@ -76,7 +76,7 @@ FILE: topLevelFunctionsWithImplicitType.kt
public final [BODY_RESOLVE] fun resolveMe(): R|kotlin/Unit| {
R|/receive|(R|/functionWithLazyBody|())
}
public final [CONTRACTS] fun receive([RAW_FIR] value: R|kotlin/String|): R|kotlin/Unit| {
public final [CONTRACTS] fun receive([CONTRACTS] value: R|kotlin/String|): R|kotlin/Unit| {
}
public final [IMPLICIT_TYPES_BODY_RESOLVE] fun functionWithLazyBody(): R|kotlin/String| {
^functionWithLazyBody String(42)
@@ -15,43 +15,43 @@ COMPILER_REQUIRED_ANNOTATIONS:
FILE: typeParameterOfTopSetter.kt
public? final? [COMPILER_REQUIRED_ANNOTATIONS] var x: Int = LAZY_EXPRESSION
public? [TYPES] get(): Int
public? [COMPILER_REQUIRED_ANNOTATIONS] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [COMPILER_REQUIRED_ANNOTATIONS] set([COMPILER_REQUIRED_ANNOTATIONS] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
COMPANION_GENERATION:
FILE: typeParameterOfTopSetter.kt
public? final? [COMPANION_GENERATION] var x: Int = LAZY_EXPRESSION
public? [TYPES] get(): Int
public? [COMPANION_GENERATION] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [COMPANION_GENERATION] set([COMPANION_GENERATION] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
SUPER_TYPES:
FILE: typeParameterOfTopSetter.kt
public? final? [SUPER_TYPES] var x: Int = LAZY_EXPRESSION
public? [TYPES] get(): Int
public? [SUPER_TYPES] set([RAW_FIR] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
public? [SUPER_TYPES] set([SUPER_TYPES] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
TYPES:
FILE: typeParameterOfTopSetter.kt
public? final? [TYPES] var x: R|kotlin/Int| = LAZY_EXPRESSION
public? [TYPES] get(): R|kotlin/Int|
public? [TYPES] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public? [TYPES] set([TYPES] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
STATUS:
FILE: typeParameterOfTopSetter.kt
public final [STATUS] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [BODY_RESOLVE] get(): R|kotlin/Int|
public [STATUS] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public [STATUS] set([STATUS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
ARGUMENTS_OF_ANNOTATIONS:
FILE: typeParameterOfTopSetter.kt
public final [ARGUMENTS_OF_ANNOTATIONS] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [BODY_RESOLVE] get(): R|kotlin/Int|
public [ARGUMENTS_OF_ANNOTATIONS] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
public [ARGUMENTS_OF_ANNOTATIONS] set([ARGUMENTS_OF_ANNOTATIONS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
CONTRACTS:
FILE: typeParameterOfTopSetter.kt
public final [CONTRACTS] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] get(): R|kotlin/Int|
public [CONTRACTS] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [CONTRACTS] set([CONTRACTS] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
@@ -59,7 +59,7 @@ IMPLICIT_TYPES_BODY_RESOLVE:
FILE: typeParameterOfTopSetter.kt
public final [IMPLICIT_TYPES_BODY_RESOLVE] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] get(): R|kotlin/Int|
public [IMPLICIT_TYPES_BODY_RESOLVE] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [IMPLICIT_TYPES_BODY_RESOLVE] set([IMPLICIT_TYPES_BODY_RESOLVE] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
@@ -67,7 +67,7 @@ EXPECT_ACTUAL_MATCHING:
FILE: typeParameterOfTopSetter.kt
public final [EXPECT_ACTUAL_MATCHING] var x: R|kotlin/Int| = IntegerLiteral(2)
public [BODY_RESOLVE] get(): R|kotlin/Int|
public [EXPECT_ACTUAL_MATCHING] set([RAW_FIR] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
public [EXPECT_ACTUAL_MATCHING] set([EXPECT_ACTUAL_MATCHING] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}