7145caca40
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.
107 lines
3.3 KiB
Plaintext
Vendored
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>#()
|
|
}
|