[FIR] resolve delegate field return type in correct scope

We should resolve it in the same way as delegate constructor call
to avoid access to nested class scopes

^KT-63522 Fixed
^KT-63042
This commit is contained in:
Dmitrii Gridin
2023-11-16 17:51:16 +01:00
committed by Space Team
parent ab6b3a6047
commit 0b253dc815
31 changed files with 362 additions and 231 deletions
@@ -149,7 +149,7 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(TYPES)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(TYPES)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public? final? [ResolvedTo(RAW_FIR)] [IsFromPrimaryConstructor=true] val prop: second.Base = R|<local>/prop|
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] get(): second.Base
@@ -176,12 +176,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(STATUS)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(STATUS)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -203,12 +203,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -230,12 +230,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(CONTRACTS)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(CONTRACTS)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -257,12 +257,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -284,12 +284,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(ANNOTATION_ARGUMENTS)] field $$delegate_0: R|second/MyClass.Base| = LAZY_EXPRESSION
private final [ResolvedTo(ANNOTATION_ARGUMENTS)] field $$delegate_0: R|second/Base| = LAZY_EXPRESSION
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -311,12 +311,12 @@ FILE: [ResolvedTo(IMPORTS)] delegatedFieldNestedNameClashScript.kts
LAZY_super<<implicit>>
}
private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|second/MyClass.Base| = R|<local>/prop|
private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|second/Base| = R|<local>/prop|
public final [ResolvedTo(STATUS)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(STATUS)] [ContainingClassKey=MyClass] get(): R|second/Base|
public? final? [ResolvedTo(SUPER_TYPES)] interface Base : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] interface Base : R|kotlin/Any| {
}
}
@@ -339,7 +339,7 @@ FILE: [ResolvedTo(BODY_RESOLVE)] delegatedFieldNestedNameClashScript.kts
super<R|kotlin/Any|>()
}
private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|second/MyClass.Base| = R|<local>/prop|
private final [ResolvedTo(BODY_RESOLVE)] field $$delegate_0: R|second/Base| = R|<local>/prop|
public final [ResolvedTo(BODY_RESOLVE)] [IsFromPrimaryConstructor=true] val prop: R|second/Base| = R|<local>/prop|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] get(): R|second/Base|
@@ -348,3 +348,4 @@ FILE: [ResolvedTo(BODY_RESOLVE)] delegatedFieldNestedNameClashScript.kts
}
}