f9c6af4d2a
This prevents `FirConflictsExpressionChecker.kt` from missing conflicting local functions. It used to due to inconsistencies in assigning `<local>`, and this commit makes it a bit more straightforward. The change in KtClassTypeQualifierRenderer prevents `FirOverrideImplementTest.testLocalClass` from failing in `intellij`. It didn't fail for callables, because `KtCallableSignatureRenderer` doesn't try to render packages. ^KT-59186 Fixed
59 lines
1.5 KiB
Plaintext
Vendored
59 lines
1.5 KiB
Plaintext
Vendored
FILE: fromLocalMembers.kt
|
|
public final fun test1(): R|kotlin/Unit| {
|
|
lval x: R|kotlin/Int|
|
|
local final fun func(): R|kotlin/Unit| {
|
|
R|<local>/x| = Int(0)
|
|
}
|
|
|
|
R|kotlin/io/println|(R|<local>/x|)
|
|
}
|
|
public final fun test2(): R|kotlin/Unit| {
|
|
lval x: R|kotlin/Int|
|
|
lval y: R|kotlin/Int|
|
|
lval z: R|kotlin/Int|
|
|
object : R|kotlin/Any| {
|
|
private constructor(): R|<anonymous>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
init {
|
|
R|<local>/x| = Int(0)
|
|
}
|
|
|
|
public final fun localFunc(): R|kotlin/Unit| {
|
|
R|<local>/y| = Int(0)
|
|
}
|
|
|
|
public final val prop: R|kotlin/Int|
|
|
public get(): R|kotlin/Int| {
|
|
R|<local>/z| = Int(0)
|
|
^ Int(2)
|
|
}
|
|
|
|
}
|
|
|
|
R|kotlin/io/println|(R|<local>/x|)
|
|
R|kotlin/io/println|(R|<local>/x|)
|
|
}
|
|
public final fun test3(): R|kotlin/Unit| {
|
|
lval x: R|kotlin/Int|
|
|
lval y: R|kotlin/Int|
|
|
local final class A : R|kotlin/Any| {
|
|
public constructor(): R|<local>/A| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
init {
|
|
R|<local>/x| = Int(0)
|
|
}
|
|
|
|
public final fun localFunc(): R|kotlin/Unit| {
|
|
R|<local>/y| = Int(0)
|
|
}
|
|
|
|
}
|
|
|
|
R|kotlin/io/println|(R|<local>/x|)
|
|
R|kotlin/io/println|(R|<local>/x|)
|
|
}
|