Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/expresssions/privateVisibility.fir.txt
T
Dmitrii Gridin ae88726fae [FIR] treat constructors of local classes as local declarations
The main problem: we are trying to lazily resolve local declaration

^KT-58546
^KT-58490
2023-05-10 09:59:15 +00:00

107 lines
3.6 KiB
Plaintext
Vendored

FILE: first.kt
private final fun foo(): R|kotlin/Unit| {
}
private final class Private : R|kotlin/Any| {
public constructor(): R|Private| {
super<R|kotlin/Any|>()
}
private final fun bar(): R|kotlin/Unit| {
}
public final fun baz(): R|kotlin/Unit| {
this@R|/Private|.R|/Private.bar|()
R|/Private.Nested.Nested|()
this@R|/Private.Companion|.R|/Private.Companion.fromCompanion|()
Q|Private.NotCompanion|.R|/Private.NotCompanion.foo<HIDDEN: /Private.NotCompanion.foo is invisible>#|()
}
public final inner class Inner : R|kotlin/Any| {
public Private.constructor(): R|Private.Inner| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
this@R|/Private|.R|/Private.bar|()
this@R|/Private.Companion|.R|/Private.Companion.fromCompanion|()
Q|Private.NotCompanion|.R|/Private.NotCompanion.foo<HIDDEN: /Private.NotCompanion.foo is invisible>#|()
}
}
private final class Nested : R|kotlin/Any| {
public constructor(): R|Private.Nested| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
this@R|/Private.Companion|.R|/Private.Companion.fromCompanion|()
Q|Private.NotCompanion|.R|/Private.NotCompanion.foo<HIDDEN: /Private.NotCompanion.foo is invisible>#|()
}
}
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|Private.Companion| {
super<R|kotlin/Any|>()
}
private final fun fromCompanion(): R|kotlin/Unit| {
}
}
public final object NotCompanion : R|kotlin/Any| {
private constructor(): R|Private.NotCompanion| {
super<R|kotlin/Any|>()
}
private final fun foo(): R|kotlin/Unit| {
}
}
}
public final fun withLocals(): R|kotlin/Unit| {
local final class Local : R|kotlin/Any| {
public constructor(): R|Local| {
super<R|kotlin/Any|>()
}
private final fun bar(): R|kotlin/Unit|
public final fun baz(): R|kotlin/Unit| {
this@R|/Local|.R|<local>/bar|()
this@R|/Local|.R|<local>/Local.Inner.Inner|()
}
local final inner class Inner : R|kotlin/Any| {
public Local.constructor(): R|Local.Inner| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
this@R|/Local|.R|<local>/bar|()
}
}
}
R|<local>/Local.Local|().R|<local>/baz|()
R|<local>/Local.Local|().R|<local>/bar<HIDDEN: <local>/bar is invisible>#|()
}
public final fun test(): R|kotlin/Unit| {
R|/foo|()
R|/Private.Private|().R|/Private.baz|()
R|/Private.Private|().R|/Private.Inner.Inner|()
R|/Private.Private|().R|/Private.bar<HIDDEN: /Private.bar is invisible>#|()
Q|Private|.R|/Private.Nested.Nested<HIDDEN: /Private.Nested.Nested is invisible>#|()
Q|Private|.R|/Private.Companion.fromCompanion<HIDDEN: /Private.Companion.fromCompanion is invisible>#|()
}
FILE: second.kt
public final fun secondTest(): R|kotlin/Unit| {
R|/foo<HIDDEN: /foo is invisible>#|()
R|/Private.Private<HIDDEN: /Private.Private is invisible>#|()
}