[LL FIR] avoid body resolve on attempt to build symbol for parameters

^KT-57850
This commit is contained in:
Dmitrii Gridin
2023-04-20 14:43:41 +02:00
committed by Space Team
parent 3394097f47
commit 9fe77d6a56
9 changed files with 289 additions and 344 deletions
@@ -1,96 +1,84 @@
RAW_FIR:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
FILE: [ResolvedTo(RAW_FIR)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(RAW_FIR)] var x: Int = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] get(): Int
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] set([ResolvedTo(RAW_FIR)] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(RAW_FIR)] var x: Int = LAZY_EXPRESSION
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] get(): Int
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] set([ResolvedTo(RAW_FIR)] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] var x: Int = LAZY_EXPRESSION
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=X] get(): Int
public? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] [ContainingClassKey=X] set([ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(RAW_FIR)] class X : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(COMPANION_GENERATION)] var x: Int = LAZY_EXPRESSION
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=X] get(): Int
public? [ResolvedTo(COMPANION_GENERATION)] [ContainingClassKey=X] set([ResolvedTo(COMPANION_GENERATION)] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(SUPER_TYPES)] class X : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(SUPER_TYPES)] var x: Int = LAZY_EXPRESSION
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=X] get(): Int
public? [ResolvedTo(SUPER_TYPES)] [ContainingClassKey=X] set([ResolvedTo(SUPER_TYPES)] resolveMe: Int): R|kotlin/Unit| { LAZY_BLOCK }
}
TYPES:
FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
[ResolvedTo(RAW_FIR)] annotations container
public final [ResolvedTo(STATUS)] class X : R|kotlin/Any| {
public [ResolvedTo(STATUS)] [ContainingClassKey=X] constructor(): R|X| {
public? final? [ResolvedTo(TYPES)] class X : R|kotlin/Any| {
public? [ResolvedTo(TYPES)] [ContainingClassKey=X] constructor(): R|X| {
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public? final? [ResolvedTo(TYPES)] var x: R|kotlin/Int| = LAZY_EXPRESSION
public? [ResolvedTo(TYPES)] [ContainingClassKey=X] get(): R|kotlin/Int|
public? [ResolvedTo(TYPES)] [ContainingClassKey=X] set([ResolvedTo(TYPES)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -102,11 +90,9 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public final [ResolvedTo(STATUS)] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [ResolvedTo(STATUS)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(STATUS)] [ContainingClassKey=X] set([ResolvedTo(STATUS)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -118,11 +104,9 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] [ContainingClassKey=X] set([ResolvedTo(EXPECT_ACTUAL_MATCHING)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -134,11 +118,9 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
}
public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] var x: R|kotlin/Int| = LAZY_EXPRESSION
public [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] [ContainingClassKey=X] set([ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| { LAZY_BLOCK }
}
@@ -150,10 +132,10 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
public final [ResolvedTo(CONTRACTS)] var x: R|kotlin/Int| = IntegerLiteral(2)
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(CONTRACTS)] [ContainingClassKey=X] set([ResolvedTo(CONTRACTS)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}
@@ -166,10 +148,10 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] var x: R|kotlin/Int| = IntegerLiteral(2)
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}
@@ -182,10 +164,10 @@ FILE: [ResolvedTo(IMPORTS)] parameterOfNonLocalSetter.kt
LAZY_super<R|kotlin/Any|>
}
public final [ResolvedTo(BODY_RESOLVE)] var x: R|kotlin/Int| = Int(2)
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=X] set([ResolvedTo(BODY_RESOLVE)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Q|kotlin/Unit|
public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] var x: R|kotlin/Int| = IntegerLiteral(2)
public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=X] get(): R|kotlin/Int|
public [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] [ContainingClassKey=X] set([ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] resolveMe: R|kotlin/Int|): R|kotlin/Unit| {
^ Unit#
}
}