[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.
This commit is contained in:
+2
-2
@@ -5,11 +5,11 @@ FILE: anonymousInDelegate.kt
|
||||
}
|
||||
public final val x: R|kotlin/Int|by R|kotlin/lazy|<R|kotlin/Int|>(<L> = lazy@fun <anonymous>(): R|kotlin/Int| {
|
||||
lval foo: R|<anonymous>| = object : R|Foo| {
|
||||
private[local] constructor(): R|<anonymous>| {
|
||||
private constructor(): R|<anonymous>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public[local] final override fun bar(): R|kotlin/Int| {
|
||||
public final override fun bar(): R|kotlin/Int| {
|
||||
^bar Int(42)
|
||||
}
|
||||
|
||||
|
||||
Vendored
+3
-3
@@ -24,15 +24,15 @@ FILE: delegateWithAnonymousObject.kt
|
||||
|
||||
public final var issueListView: R|IssueListView|by this@R|/IssuesListUserProfile|.R|/delegate|<R|IssuesListUserProfile|, R|IssuesListUserProfile|, R|IssueListView|>(<L> = delegate@fun <anonymous>(): R|kotlin/properties/ReadWriteProperty<IssuesListUserProfile, IssueListView>| {
|
||||
^ object : R|kotlin/properties/ReadWriteProperty<IssuesListUserProfile, IssueListView>| {
|
||||
private[local] constructor(): R|<anonymous>| {
|
||||
private constructor(): R|<anonymous>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public[local] final override fun getValue(thisRef: R|IssuesListUserProfile|, property: R|kotlin/reflect/KProperty<*>|): R|IssueListView| {
|
||||
public final override fun getValue(thisRef: R|IssuesListUserProfile|, property: R|kotlin/reflect/KProperty<*>|): R|IssueListView| {
|
||||
^getValue R|/IssueListView.IssueListView|()
|
||||
}
|
||||
|
||||
public[local] final override fun setValue(thisRef: R|IssuesListUserProfile|, property: R|kotlin/reflect/KProperty<*>|, value: R|IssueListView|): R|kotlin/Unit| {
|
||||
public final override fun setValue(thisRef: R|IssuesListUserProfile|, property: R|kotlin/reflect/KProperty<*>|, value: R|IssueListView|): R|kotlin/Unit| {
|
||||
^setValue R|/IssueListView.IssueListView|().R|/IssueListView.updateFrom|(R|<local>/value|)
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -27,17 +27,17 @@ FILE: hashTableWithForEach.kt
|
||||
}
|
||||
|
||||
private final class Entry<K, V> : R|kotlin/collections/MutableMap.MutableEntry<K, V>| {
|
||||
public[private] constructor<K, V>(key: R|K|, value: R|V|): R|SomeHashTable.Entry<K, V>| {
|
||||
public constructor<K, V>(key: R|K|, value: R|V|): R|SomeHashTable.Entry<K, V>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public[private] final override val key: R|K| = R|<local>/key|
|
||||
public final override val key: R|K| = R|<local>/key|
|
||||
public get(): R|K|
|
||||
|
||||
public[private] final override val value: R|V| = R|<local>/value|
|
||||
public final override val value: R|V| = R|<local>/value|
|
||||
public get(): R|V|
|
||||
|
||||
public[private] final override fun setValue(newValue: R|V|): R|V| {
|
||||
public final override fun setValue(newValue: R|V|): R|V| {
|
||||
^setValue throw R|java/lang/UnsupportedOperationException.UnsupportedOperationException|()
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ fun test(e: MyException, stream: PrintStream) {
|
||||
val result = e.getLocalizedMessage()
|
||||
}
|
||||
|
||||
fun test(e: YourException, stream: PrintStream) {
|
||||
fun test(<!EXPOSED_PARAMETER_TYPE!>e: YourException<!>, stream: PrintStream) {
|
||||
e.printStackTrace()
|
||||
e.printStackTrace(stream)
|
||||
val result = e.getLocalizedMessage()
|
||||
|
||||
@@ -2,14 +2,14 @@ FILE: problems.kt
|
||||
public final val sb: R|java/lang/StringBuilder| = R|java/lang/StringBuilder.StringBuilder|()
|
||||
public get(): R|java/lang/StringBuilder|
|
||||
public final val o: R|<anonymous>| = object : R|kotlin/Any| {
|
||||
private[local] constructor(): R|<anonymous>| {
|
||||
private constructor(): R|<anonymous>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public[local] final val name: R|kotlin/String| = String(123)
|
||||
public final val name: R|kotlin/String| = String(123)
|
||||
public get(): R|kotlin/String|
|
||||
|
||||
public[local] final fun test(): R|kotlin/Unit| {
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
this@R|/<anonymous>|.R|/<anonymous>.name|
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ FILE: problems.kt
|
||||
public get(): R|<anonymous>|
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
local final class Local : R|kotlin/Any| {
|
||||
public[local] constructor(): R|Local| {
|
||||
public constructor(): R|Local| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user