Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/expresssions/privateVisibility.txt
T
Mikhail Glukhikh 0ffa0b2bd7 [FIR] Fix effective visibility handling for local members
In future 'Local' effective visibility could be used
as a flag of local declaration
2020-06-02 18:47:58 +03:00

107 lines
3.5 KiB
Plaintext
Vendored

FILE: first.kt
private final fun foo(): R|kotlin/Unit| {
}
private final class Private : R|kotlin/Any| {
public[private] constructor(): R|Private| {
super<R|kotlin/Any|>()
}
private final fun bar(): R|kotlin/Unit| {
}
public[private] 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|.<Inapplicable(HIDDEN): [/Private.NotCompanion.foo]>#()
}
public[private] final inner class Inner : R|kotlin/Any| {
public[private] constructor(): R|Private.Inner| {
super<R|kotlin/Any|>()
}
public[private] final fun foo(): R|kotlin/Unit| {
this@R|/Private|.R|/Private.bar|()
this@R|/Private.Companion|.R|/Private.Companion.fromCompanion|()
Q|Private.NotCompanion|.<Inapplicable(HIDDEN): [/Private.NotCompanion.foo]>#()
}
}
private final class Nested : R|kotlin/Any| {
public[private] constructor(): R|Private.Nested| {
super<R|kotlin/Any|>()
}
public[private] final fun foo(): R|kotlin/Unit| {
this@R|/Private.Companion|.R|/Private.Companion.fromCompanion|()
Q|Private.NotCompanion|.<Inapplicable(HIDDEN): [/Private.NotCompanion.foo]>#()
}
}
public[private] final companion object Companion : R|kotlin/Any| {
private constructor(): R|Private.Companion| {
super<R|kotlin/Any|>()
}
private final fun fromCompanion(): R|kotlin/Unit| {
}
}
public[private] 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[local] constructor(): R|Local| {
super<R|kotlin/Any|>()
}
private[local] final fun bar(): R|kotlin/Unit|
public[local] final fun baz(): R|kotlin/Unit| {
this@R|/Local|.R|/Local.bar|()
this@R|/Local|.R|/Local.Inner.Inner|()
}
local final inner class Inner : R|kotlin/Any| {
public[local] constructor(): R|Local.Inner| {
super<R|kotlin/Any|>()
}
public[local] final fun foo(): R|kotlin/Unit| {
this@R|/Local|.R|/Local.bar|()
}
}
}
R|/Local.Local|().R|/Local.baz|()
R|/Local.Local|().<Inapplicable(HIDDEN): [/Local.bar]>#()
}
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|().<Inapplicable(HIDDEN): [/Private.bar]>#()
Q|Private|.<Inapplicable(HIDDEN): [/Private.Nested.Nested]>#()
Q|Private|.<Inapplicable(HIDDEN): [/Private.Companion.fromCompanion]>#()
}
FILE: second.kt
public final fun secondTest(): R|kotlin/Unit| {
<Inapplicable(HIDDEN): [/foo]>#()
<Inapplicable(HIDDEN): [/Private.Private]>#()
}