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,12 +0,0 @@
package test
import kotlin.reflect.KClass
annotation class AnnClass(val a: KClass<*>)
class MyClass {
@AnnClass(MyClass::class)
companion object {
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
package test
import kotlin.reflect.KClass
@@ -1,5 +0,0 @@
class C {
val plainField: Int = 1
@delegate:Transient
val lazy by lazy { 1 }
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
class C {
val plainField: Int = 1
@delegate:Transient
@@ -1,9 +0,0 @@
// FILE: A.java
public @interface A {
double b();
Class<?> x1();
int a();
String value();
Class<?> x();
Class<?> x2();
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
double b();
@@ -1,8 +0,0 @@
// FILE: A.java
public @interface A {
double b();
Class<?> x1();
int a();
Class<?> x();
Class<?> x2();
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
double b();
@@ -1,15 +0,0 @@
// FILE: A.java
public @interface A {
String[] value();
}
// FILE: b.kt
@A("1", "2", "3") fun test1() {}
@A("4") fun test2() {}
@A(*arrayOf("5", "6"), "7") fun test3() {}
@A() fun test4() {}
@A fun test5() {}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
String[] value();
@@ -1,15 +0,0 @@
// FILE: A.java
public @interface A {
String[] value() default {"abc", "cde"};
}
// FILE: b.kt
@A("1", "2", "3") fun test1() {}
@A("4") fun test2() {}
@A(*arrayOf("5", "6"), "7") fun test3() {}
@A() fun test4() {}
@A fun test5() {}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
String[] value() default {"abc", "cde"};
@@ -1,7 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> arg();
}
// FILE: b.kt
@A(arg = String::class) class MyClass3
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> arg();
@@ -1,9 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> arg();
int x() default 1;
}
// FILE: b.kt
@A(arg = String::class) class MyClass1
@A(arg = String::class, x = 2) class MyClass2
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> arg();
@@ -1,7 +0,0 @@
// FILE: A.java
public @interface A {
Class<?>[] arg();
}
// FILE: b.kt
@A(arg = arrayOf(String::class, Int::class)) class MyClass
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?>[] arg();
@@ -1,8 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> arg() default Integer.class;
}
// FILE: b.kt
@A(arg = String::class) class MyClass1
@A class MyClass2
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> arg() default Integer.class;
@@ -1,9 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> arg() default Integer.class;
int x();
}
// FILE: b.kt
@A(arg = String::class, x = 4) class MyClass2
@A(x = 5) class MyClass3
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> arg() default Integer.class;
@@ -1,8 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> arg1();
Class<?> arg2();
}
// FILE: b.kt
@A(arg1 = String::class, arg2 = Int::class) class MyClass
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> arg1();
@@ -1,8 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> value();
}
// FILE: b.kt
@A(String::class) class MyClass1
@A(value = String::class) class MyClass2
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> value();
@@ -1,12 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> value();
int x() default 1;
}
// FILE: b.kt
@A(String::class) class MyClass1
@A(value = String::class) class MyClass2
@A(String::class, x = 2) class MyClass3
@A(value = String::class, x = 4) class MyClass4
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> value();
@@ -1,9 +0,0 @@
// FILE: A.java
public @interface A {
Class<?>[] value();
}
// FILE: b.kt
@A(String::class, Int::class) class MyClass1
@A(*arrayOf(String::class, Int::class)) class MyClass2
@A(value = [String::class, Int::class]) class MyClass3
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?>[] value();
@@ -1,9 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> value() default Integer.class;
}
// FILE: b.kt
@A(String::class) class MyClass1
@A(value = String::class) class MyClass2
@A class MyClass3
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> value() default Integer.class;
@@ -1,10 +0,0 @@
// FILE: A.java
public @interface A {
Class<?> value() default Integer.class;
int x();
}
// FILE: b.kt
@A(String::class, x = 2) class MyClass1
@A(value = String::class, x = 4) class MyClass2
@A(x = 5) class MyClass3
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: A.java
public @interface A {
Class<?> value() default Integer.class;
@@ -1,12 +0,0 @@
@file:JvmName("SomeName")
@JvmField
val c = 4
@JvmField
var g = 5
class C {
@JvmField
var g = 5
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
@file:JvmName("SomeName")
@JvmField
@@ -1,7 +0,0 @@
import kotlin.reflect.KClass
open class A
class B1 : A()
class B2 : A()
annotation class Ann1(val arg: Array<out KClass<out A>>)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlin.reflect.KClass
open class A
@@ -1,5 +0,0 @@
annotation class Ann(val x: Int, val value: String, val y: Double)
@Ann(value = "a", x = 1, y = 1.0) fun foo1() {}
@Ann(2, "b", 2.0) fun foo2() {}
@Ann(3, "c", y = 2.0) fun foo3() {}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
annotation class Ann(val x: Int, val value: String, val y: Double)
@Ann(value = "a", x = 1, y = 1.0) fun foo1() {}
@@ -1,21 +0,0 @@
// FILE: TargetUse.java
import java.lang.annotation.Target;
public class TargetUse {
public static String foo(kotlin.annotation.Target aTarget) {
return aTarget.toString();
}
public static String bar(Target aTarget) {
return aTarget.toString();
}
}
// FILE: TargetUse.kt
import java.lang.annotation.Target as JTarget
fun fooUse(aTarget: Target): String = TargetUse.foo(aTarget)
fun barUse(aTarget: JTarget): String = TargetUse.bar(aTarget)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: TargetUse.java
import java.lang.annotation.Target;