Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/expresssions/privateVisibility.txt
T
Nick 7145caca40 [FIR] Refactor effective visibility calculation
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00

107 lines
3.3 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|.<HIDDEN: /Private.NotCompanion.foo is invisible>#()
}
public final inner class Inner : R|kotlin/Any| {
public 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|.<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|.<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.Inner.Inner|()
}
local final inner class Inner : R|kotlin/Any| {
public constructor(): R|Local.Inner| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
this@R|/Local|.R|/Local.bar|()
}
}
}
R|/Local.Local|().R|/Local.baz|()
R|/Local.Local|().<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|().<HIDDEN: /Private.bar is invisible>#()
Q|Private|.<HIDDEN: /Private.Nested.Nested is invisible>#()
Q|Private|.<HIDDEN: /Private.Companion.fromCompanion is invisible>#()
}
FILE: second.kt
public final fun secondTest(): R|kotlin/Unit| {
<HIDDEN: /foo is invisible>#()
<HIDDEN: /Private.Private is invisible>#()
}