[FIR] Don't store class functions in local scope
This commit is contained in:
+2
-2
@@ -71,7 +71,7 @@ FILE: first.kt
|
|||||||
private final fun bar(): R|kotlin/Unit|
|
private final fun bar(): R|kotlin/Unit|
|
||||||
|
|
||||||
public[local] final fun baz(): R|kotlin/Unit| {
|
public[local] final fun baz(): R|kotlin/Unit| {
|
||||||
R|/Local.bar|()
|
this@R|/Local|.R|/Local.bar|()
|
||||||
this@R|/Local|.R|/Local.Inner.Inner|()
|
this@R|/Local|.R|/Local.Inner.Inner|()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ FILE: first.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public[local] final fun foo(): R|kotlin/Unit| {
|
public[local] final fun foo(): R|kotlin/Unit| {
|
||||||
R|/Local.bar|()
|
this@R|/Local|.R|/Local.bar|()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ class Case3() {
|
|||||||
fun foo() {
|
fun foo() {
|
||||||
<!UNRESOLVED_REFERENCE!>baseFun<!>() //UNRESOLVED_REFERENCE
|
<!UNRESOLVED_REFERENCE!>baseFun<!>() //UNRESOLVED_REFERENCE
|
||||||
val x = <!UNRESOLVED_REFERENCE!>property<!> //UNRESOLVED_REFERENCE
|
val x = <!UNRESOLVED_REFERENCE!>property<!> //UNRESOLVED_REFERENCE
|
||||||
zoo()
|
<!UNRESOLVED_REFERENCE!>zoo<!>()
|
||||||
hoo()
|
hoo()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ FILE: objectInnerClass.kt
|
|||||||
public final fun foo(): R|kotlin/Unit| {
|
public final fun foo(): R|kotlin/Unit| {
|
||||||
this@R|/anonymous|.R|/Case2.Base.baseFun|()
|
this@R|/anonymous|.R|/Case2.Base.baseFun|()
|
||||||
lval x: R|B| = this@R|/anonymous|.R|/Case2.Base.property|
|
lval x: R|B| = this@R|/anonymous|.R|/Case2.Base.property|
|
||||||
this@R|/anonymous|.R|/anonymous.zoo|()
|
(this@R|/anonymous|, this@R|/anonymous|).R|/anonymous.zoo|()
|
||||||
(this@R|/Case2|, this@R|/anonymous|).R|/Case2.hoo|()
|
(this@R|/Case2|, this@R|/anonymous|).R|/Case2.hoo|()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ FILE: objectInnerClass.kt
|
|||||||
public[local] final fun foo(): R|kotlin/Unit| {
|
public[local] final fun foo(): R|kotlin/Unit| {
|
||||||
<Unresolved name: baseFun>#()
|
<Unresolved name: baseFun>#()
|
||||||
lval x: <ERROR TYPE REF: Unresolved name: property> = <Unresolved name: property>#
|
lval x: <ERROR TYPE REF: Unresolved name: property> = <Unresolved name: property>#
|
||||||
this@R|/Case3.<anonymous>.Child|.R|/Case3.<anonymous>.Child.zoo|()
|
<Unresolved name: zoo>#()
|
||||||
(this@R|/anonymous|, this@R|/Case3.<anonymous>.Child|).R|/anonymous.hoo|()
|
(this@R|/anonymous|, this@R|/Case3.<anonymous>.Child|).R|/anonymous.hoo|()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ FILE: objectInnerClass.kt
|
|||||||
lval base: R|Case3.<anonymous>.Base| = R|/Case3.<anonymous>.Base.Base|(R|/B.B|())
|
lval base: R|Case3.<anonymous>.Base| = R|/Case3.<anonymous>.Base.Base|(R|/B.B|())
|
||||||
R|<local>/base|.<Unresolved name: baseFun>#()
|
R|<local>/base|.<Unresolved name: baseFun>#()
|
||||||
R|<local>/base|.<Unresolved name: property>#
|
R|<local>/base|.<Unresolved name: property>#
|
||||||
R|<local>/base|.R|/anonymous.hoo|()
|
(this@R|/anonymous|, R|<local>/base|).R|/anonymous.hoo|()
|
||||||
}
|
}
|
||||||
|
|
||||||
public final fun caseForChild(): R|kotlin/Unit| {
|
public final fun caseForChild(): R|kotlin/Unit| {
|
||||||
@@ -180,8 +180,8 @@ FILE: objectInnerClass.kt
|
|||||||
R|<local>/child|.<Unresolved name: baseFun>#()
|
R|<local>/child|.<Unresolved name: baseFun>#()
|
||||||
R|<local>/child|.<Unresolved name: property>#
|
R|<local>/child|.<Unresolved name: property>#
|
||||||
R|<local>/child|.<Unresolved name: foo>#()
|
R|<local>/child|.<Unresolved name: foo>#()
|
||||||
R|<local>/child|.R|/anonymous.hoo|()
|
(this@R|/anonymous|, R|<local>/child|).R|/anonymous.hoo|()
|
||||||
R|<local>/child|.R|/anonymous.voo|()
|
(this@R|/anonymous|, R|<local>/child|).R|/anonymous.voo|()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -451,7 +451,7 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
|
|||||||
function: F,
|
function: F,
|
||||||
resolutionMode: ResolutionMode,
|
resolutionMode: ResolutionMode,
|
||||||
): CompositeTransformResult<F> {
|
): CompositeTransformResult<F> {
|
||||||
if (function is FirSimpleFunction) {
|
if (function is FirSimpleFunction && context.containerIfAny !is FirClass<*>) {
|
||||||
context.storeFunction(function)
|
context.storeFunction(function)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
interface T {
|
interface T {
|
||||||
fun result(): String
|
fun result(): String
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
interface T {
|
interface T {
|
||||||
fun result(): String
|
fun result(): String
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user