[FIR] Implement RESOLUTION_TO_CLASSIFIER
This commit is contained in:
@@ -4,7 +4,7 @@ class A(
|
||||
n: Nested = foo(),
|
||||
n2: Nested = Nested(),
|
||||
inn: Inner = null!!,
|
||||
inn2: Inner = Inner(),
|
||||
inn2: Inner = <!RESOLUTION_TO_CLASSIFIER!>Inner<!>(),
|
||||
i: Interface = null!!,
|
||||
c: Int = CONST,
|
||||
cc: Int = Companion.CONST,
|
||||
@@ -19,7 +19,7 @@ class A(
|
||||
n: Nested = foo(),
|
||||
n2: Nested = Nested(),
|
||||
inn: Inner = null!!,
|
||||
inn2: Inner = Inner(),
|
||||
inn2: Inner = <!RESOLUTION_TO_CLASSIFIER!>Inner<!>(),
|
||||
i: Interface = null!!,
|
||||
c: Int = CONST,
|
||||
cc: Int = Companion.CONST,
|
||||
@@ -31,7 +31,7 @@ class A(
|
||||
foo(),
|
||||
Nested(),
|
||||
inn,
|
||||
Inner(),
|
||||
<!RESOLUTION_TO_CLASSIFIER!>Inner<!>(),
|
||||
i,
|
||||
CONST,
|
||||
Companion.CONST,
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface I
|
||||
|
||||
open class S(
|
||||
n: A.Nested,
|
||||
n2: A.Nested,
|
||||
inn: A.Inner,
|
||||
c: Int,
|
||||
cc: Int,
|
||||
cn: Int,
|
||||
ci: Int,
|
||||
t1: Int,
|
||||
t2: Int
|
||||
) : I
|
||||
|
||||
class A : I by S(
|
||||
foo(),
|
||||
Nested(),
|
||||
Inner(),
|
||||
CONST,
|
||||
Companion.CONST,
|
||||
Nested.CONST,
|
||||
Interface.CONST,
|
||||
<!UNRESOLVED_REFERENCE!>a<!>,
|
||||
<!UNRESOLVED_REFERENCE!>b<!>()
|
||||
) {
|
||||
|
||||
class Nested {
|
||||
companion object {
|
||||
const val CONST = 2
|
||||
}
|
||||
}
|
||||
|
||||
inner class Inner
|
||||
|
||||
interface Interface {
|
||||
companion object {
|
||||
const val CONST = 3
|
||||
}
|
||||
}
|
||||
|
||||
val a = 1
|
||||
fun b() = 2
|
||||
|
||||
companion object {
|
||||
const val CONST = 1
|
||||
fun foo(): Nested = null!!
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
interface I
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
open class S(
|
||||
n: A.Nested,
|
||||
n2: A.Nested,
|
||||
inn: A.Inner,
|
||||
c: Int,
|
||||
cc: Int,
|
||||
cn: Int,
|
||||
ci: Int,
|
||||
t1: Int,
|
||||
t2: Int
|
||||
)
|
||||
|
||||
class A : S (
|
||||
foo(),
|
||||
Nested(),
|
||||
Inner(),
|
||||
CONST,
|
||||
Companion.CONST,
|
||||
Nested.CONST,
|
||||
Interface.CONST,
|
||||
<!UNRESOLVED_REFERENCE!>a<!>,
|
||||
<!UNRESOLVED_REFERENCE!>b<!>()
|
||||
) {
|
||||
|
||||
class Nested {
|
||||
companion object {
|
||||
const val CONST = 2
|
||||
}
|
||||
}
|
||||
|
||||
inner class Inner
|
||||
|
||||
interface Interface {
|
||||
companion object {
|
||||
const val CONST = 3
|
||||
}
|
||||
}
|
||||
|
||||
val a = 1
|
||||
fun b() = 2
|
||||
|
||||
companion object {
|
||||
const val CONST = 1
|
||||
fun foo(): Nested = null!!
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
open class S(
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ class A : S {
|
||||
constructor() : super(
|
||||
foo(),
|
||||
Nested(),
|
||||
Inner(),
|
||||
<!RESOLUTION_TO_CLASSIFIER!>Inner<!>(),
|
||||
CONST,
|
||||
Companion.CONST,
|
||||
Nested.CONST,
|
||||
|
||||
@@ -35,10 +35,10 @@ class E: A() {
|
||||
|
||||
object Z {
|
||||
init {
|
||||
B().foo()
|
||||
B().<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>B<!>().<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>B<!>().<!UNRESOLVED_REFERENCE!>bar<!>()
|
||||
|
||||
D()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>D<!>()
|
||||
<!UNRESOLVED_REFERENCE!>C<!>()
|
||||
}
|
||||
}
|
||||
@@ -60,7 +60,7 @@ class F: A() {
|
||||
companion object {
|
||||
init {
|
||||
B().fas()
|
||||
D().f()
|
||||
<!RESOLUTION_TO_CLASSIFIER!>D<!>().<!UNRESOLVED_REFERENCE!>f<!>()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
// FILE: A.java
|
||||
public interface A {
|
||||
public class A_S { // static
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: B.java
|
||||
public class B {
|
||||
public static class B_S {
|
||||
|
||||
}
|
||||
public class B_ {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: C.java
|
||||
public class C extends B implements A {
|
||||
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
|
||||
class X: A {
|
||||
val a_s: <!UNRESOLVED_REFERENCE!>A_S<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
A.A_S()
|
||||
X.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
}
|
||||
|
||||
object xD {
|
||||
val a_: <!UNRESOLVED_REFERENCE!>A_S<!> = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Y: B() {
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
init {
|
||||
B_()
|
||||
B.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
Y.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
|
||||
B_S()
|
||||
B.B_S()
|
||||
Y.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
}
|
||||
|
||||
object X {
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
init {
|
||||
B_()
|
||||
B_S()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class Z: C() {
|
||||
val a_s: <!UNRESOLVED_REFERENCE!>A_S<!> = null!!
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
B_()
|
||||
B_S()
|
||||
}
|
||||
|
||||
object X {
|
||||
val a_s: <!UNRESOLVED_REFERENCE!>A_S<!> = null!!
|
||||
val b_: B_ = null!!
|
||||
val b_s: B_S = null!!
|
||||
|
||||
init {
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
B_()
|
||||
B_S()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: A.java
|
||||
public interface A {
|
||||
public class A_S { // static
|
||||
|
||||
-82
@@ -1,82 +0,0 @@
|
||||
// FILE: A.java
|
||||
public interface A {
|
||||
class A_S {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: B.java
|
||||
public class B {
|
||||
static class B_S {
|
||||
|
||||
}
|
||||
class B_ {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: C.java
|
||||
public class C extends B implements A {
|
||||
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
interface E {
|
||||
class E_S
|
||||
}
|
||||
|
||||
open class D: C(), E
|
||||
|
||||
// FILE: F.java
|
||||
public class F extends D {
|
||||
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
class X: D() {
|
||||
init {
|
||||
B_()
|
||||
B.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
C.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
D.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
X.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
A.A_S()
|
||||
C.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
D.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
X.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
|
||||
B_S()
|
||||
B.B_S()
|
||||
C.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
D.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
X.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
E.E_S()
|
||||
D.<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
X.<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
}
|
||||
}
|
||||
|
||||
class Y: F() {
|
||||
init {
|
||||
|
||||
B_()
|
||||
F.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
Y.<!UNRESOLVED_REFERENCE!>B_<!>()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
F.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
Y.<!UNRESOLVED_REFERENCE!>A_S<!>()
|
||||
|
||||
B_S()
|
||||
F.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
Y.<!UNRESOLVED_REFERENCE!>B_S<!>()
|
||||
|
||||
<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
F.<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
Y.<!UNRESOLVED_REFERENCE!>E_S<!>()
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: A.java
|
||||
public interface A {
|
||||
class A_S {
|
||||
|
||||
Reference in New Issue
Block a user