Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed

This commit is contained in:
Mikhail Glukhikh
2020-03-04 17:54:33 +03:00
parent 186e0b0cba
commit 8884cbe415
2268 changed files with 1175 additions and 19754 deletions
@@ -1,76 +0,0 @@
// MODULE: m1
// FILE: a.kt
package a.b
class c {
fun ab_c() {}
}
// MODULE: m2
// FILE: b.kt
package a
class b<T> {
class c {
fun a_bc() {}
}
}
// MODULE: m3(m1, m2)
// FILE: c.kt
import a.b.c
fun test(ab_c: c) {
ab_c.ab_c()
val ab_c2: a.b.c = a.b.c()
ab_c2.ab_c()
val ab_c3 = a.b.c()
ab_c3.ab_c()
}
// NB according to the maximum package prefix rule, 'a.b.c' denotes 'c' in package 'a.b' (thus ab_c, not a_bc)
fun test2(ab_c: a.b.c) {
ab_c.<!UNRESOLVED_REFERENCE!>a_bc<!>()
ab_c.ab_c()
}
//---------------------------TOP LEVEL----------
// MODULE: top_m1
// FILE: top_a.kt
package a
class b {
fun a_b() {}
}
// MODULE: top_m2
// FILE: top_b.kt
class a<T> {
class b {
fun _ab() {}
}
fun _a() {}
}
// MODULE: top_m3(top_m1, top_m2)
// FILE: top_c.kt
import a.b
fun test(a_b: b) {
a_b.a_b()
val _ab: a.b = a.b()
_ab._ab()
val _ab2 = a.b()
_ab2._ab()
}
fun test2(_ab: a.b) {
_ab._ab()
_ab.<!UNRESOLVED_REFERENCE!>a_b<!>()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// MODULE: m1
// FILE: a.kt
package a.b
@@ -1,9 +0,0 @@
// FILE: Owner.java
public class Owner {
public static final String name = "Owner";
}
// FILE: Use.kt
val x = Owner.name
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: Owner.java
public class Owner {
@@ -1,88 +0,0 @@
// MODULE: m1
// FILE: a.kt
package a.b
class c {
fun ab_c() {}
}
// MODULE: m2
// FILE: b.kt
package a
fun a_fun() {}
class b {
fun a_b() {}
class c {
fun a_bc() {}
}
}
// MODULE: m3(m1, m2)
// FILE: c.kt
fun test(a_b: a.b) {
a_b.a_b()
val ab_c: a.b.c = a.b.c()
ab_c.ab_c()
ab_c.<!UNRESOLVED_REFERENCE!>a_bc<!>()
val ab_c2 = a.b.c()
ab_c2.ab_c()
ab_c2.<!UNRESOLVED_REFERENCE!>a_bc<!>()
}
fun test2(ab_c: a.b.c) {
ab_c.ab_c()
}
//---- Changed dependence order
// MODULE: _m1
// FILE: _a.kt
package a.b
fun ab_fun() {}
class c {
fun ab_c() {}
class d {
fun ab_cd() {}
}
}
// MODULE: _m2
// FILE: _b.kt
package a
fun a_fun() {}
class b {
fun a_b() {}
class c {
fun a_bc() {}
}
}
// MODULE: _m3(_m1, _m2)
// FILE: _c.kt
fun test(a_b: a.b) {
a_b.a_b()
val ab_c: a.b.c = a.b.c()
ab_c.ab_c()
ab_c.<!UNRESOLVED_REFERENCE!>a_bc<!>()
val ab_c2 = a.b.c()
ab_c2.ab_c()
ab_c2.<!UNRESOLVED_REFERENCE!>a_bc<!>()
}
fun test2(ab_c: a.b.c) {
ab_c.ab_c()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// MODULE: m1
// FILE: a.kt
package a.b
@@ -1,33 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// MODULE: m1
// FILE: a.kt
package a
class a {
companion object {}
}
class b {
fun a_b() {}
}
// MODULE: m2(m1)
// FILE: b.kt
package test
class a
val x = a.<!UNRESOLVED_REFERENCE!>b<!>()
// MODULE: m3(m1)
// FILE: c.kt
package test
import a.a
fun foo(i: a) {
a
a()
a.<!UNRESOLVED_REFERENCE!>a<!>
a.<!UNRESOLVED_REFERENCE!>a<!>()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// MODULE: m1
// FILE: a.kt
@@ -1,44 +0,0 @@
// MODULE: m1
// FILE: a.kt
package a
class b {
fun a_b() {}
}
// MODULE: m2
// FILE: b.kt
class a {
class b {
fun _ab() {}
}
}
// MODULE: m3(m1, m2)
// FILE: c1.kt
package some
fun test(a_b: a.b) {
a_b.a_b()
val a_b2 = a.b()
a_b2.a_b()
}
// FILE: c2.kt
package a
fun test(a_b: a.b) {
a_b.a_b()
val a_b2 = a.b()
a_b2.a_b()
}
// FILE: c3.kt
fun test(_ab: a.b) {
_ab._ab()
val _ab2 = a.b()
_ab2._ab() // todo
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// MODULE: m1
// FILE: a.kt
package a