[LL FIR] introduce test with reversed resolve order

^KT-56543

Merge-request: KT-MR-9299
Merged-by: Dmitrii Gridin <dmitry.gridin@jetbrains.com>
This commit is contained in:
Dmitrii Gridin
2023-03-22 17:34:07 +00:00
committed by Space Team
parent 8528519d96
commit 9a4a3d1f49
413 changed files with 55387 additions and 45 deletions
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
import kotlin.reflect.KClass
enum class SomeEnum {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-55493
// WITH_STDLIB
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-55493
// WITH_STDLIB
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-56863
interface I
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
annotation class Ann
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface AutoCloseable {
fun close()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
class Foo {
init {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface B
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface Out<out E>
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
abstract class A(func: () -> String)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
import kotlin.contracts.*
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo(): A
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
annotation class Ann1(vararg val a: String)
annotation class Ann2(val a: IntArray)
annotation class Ann3(val a: Array<String>)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
import kotlin.reflect.KClass
@Repeatable
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
annotation class A() {
<!ANNOTATION_CLASS_MEMBER!><!PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED!>constructor(s: Nothing?)<!> {}<!>
<!ANNOTATION_CLASS_MEMBER!>init {}<!>
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
annotation class Ann(val a: Array<String>)
val foo = ""
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
open class A {
open var test: Number = 10
}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
open <!REPEATED_MODIFIER!>open<!> class A
internal <!REPEATED_MODIFIER!>internal<!> object B
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
// ISSUE: KT-37091
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
package org.jetbrains.kotlin.codegen.range.inExpression
interface ExpressionCodegen
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class NoPrimary {
val x: String
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !CHECK_TYPE
// UNEXPECTED BEHAVIOUR
// ISSUES: KT-37066
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FILE: MagicConstant.java
public @interface MagicConstant {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
class B(p0: String) {
val p1 = p0
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
interface FirElement {
fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FILE: A.kt
open class A {
open fun getScope(): String? = null
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo(): Boolean
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
class A {
val s: String = ""
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
open class Base
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
fun test_0(x: Any) {
if (x is String) {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-39080
// !DUMP_CFG
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo(): Boolean
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface A {
fun foo()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
// There would be ambiguities if some expression was smartcasted to (A & B) and foo() was called.
// There was a bug where 2 variables were "bound" together if they are assigned from the same function call or property.
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
// CONTAINS ERRORS
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
class A {
fun foo() {}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
// ----------------- Stable -----------------
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
fun String.foo(b: Boolean): String = ""
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
interface I
interface S : I {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-49747
// DUMP_CFG
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
fun getNothing(): Nothing = throw Exception()
fun getNullableNothing(): Nothing? = null
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
open class A(open val x: Any)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
class A {
fun foo() {}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
fun <T, R> use(x: (T) -> R): (T) -> R = x
fun foo() = use(::bar)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DUMP_CFG
import kotlin.properties.ReadWriteProperty
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class C(val map: MutableMap<String, Any>) {
var foo by map
}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// ISSUE: KT-39005
// !DUMP_CFG
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// MODULE: lib
// FILE: A.kt
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
val items: List<String>
field = mutableListOf()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
val list: List<String>
field = mutableListOf<String>()
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class A {
val it: Number
field = 4
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class Some(var foo: Int) {
init {
if (foo < 0) {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class TestInitValInLambdaCalledOnce {
val x: Int
init {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// http://youtrack.jetbrains.net/issue/KT-419
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
interface NoC {
<!ANONYMOUS_INITIALIZER_IN_INTERFACE!>init<!> {
+1
View File
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNUSED_ANONYMOUS_PARAMETER
// TODO Uncomment all the examples when there will be no problems with light classes
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
fun foo(a: (String) -> Unit) {
"".<!UNRESOLVED_REFERENCE!>a<!>()
}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
fun foo(a: (String) -> Unit) {
"".<!UNRESOLVED_REFERENCE!>a<!>()
}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: +UNUSED_PARAMETER
import kotlin.reflect.KProperty
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: +UNUSED_PARAMETER
import kotlin.reflect.KProperty
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: +UNUSED_VALUE, +UNUSED_CHANGED_VALUE, +UNUSED_PARAMETER, +UNUSED_VARIABLE
package unused_variables
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: +UNUSED_VALUE, +UNUSED_CHANGED_VALUE, +UNUSED_PARAMETER, +UNUSED_VARIABLE
package unused_variables
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: -ClassTypeParameterAnnotations
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class A1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: -ClassTypeParameterAnnotations
@Target(AnnotationTarget.TYPE_PARAMETER)
annotation class A1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: +ClassTypeParameterAnnotations
annotation class A1
annotation class A2(val some: Int = 12)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: +ClassTypeParameterAnnotations
annotation class A1
annotation class A2(val some: Int = 12)
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions -ClassTypeParameterAnnotations
annotation class A1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions -ClassTypeParameterAnnotations
annotation class A1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// Functions can be recursively annotated
annotation class ann(val x: Int)
@ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>bar()<!>) fun foo() = 1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// Functions can be recursively annotated
annotation class ann(val x: Int)
@ann(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>bar()<!>) fun foo() = 1
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
annotation class Ann
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
annotation class Ann
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// !LANGUAGE: +NestedClassesInAnnotations
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: -NestedClassesInAnnotations
annotation class Annotation2() {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !LANGUAGE: -NestedClassesInAnnotations
annotation class Annotation2() {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// !LANGUAGE: +NestedClassesInAnnotations
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class A {
@ann init {}
@aaa init {}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class A {
<!WRONG_ANNOTATION_TARGET!>@ann<!> init {}
<!WRONG_ANNOTATION_TARGET!>@<!UNRESOLVED_REFERENCE!>aaa<!><!> init {}
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
annotation class base
@base class My {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
annotation class base
@base class My {
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// !LANGUAGE: -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
package test
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// FIR_IDENTICAL
// !LANGUAGE: -ProhibitSimplificationOfNonTrivialConstBooleanExpressions
package test
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER
class A
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNUSED_PARAMETER
class A
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class My(val v: Int) {
// Ok: setter is just private
var x: Int
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
class My(val v: Int) {
// Ok: setter is just private
var x: Int
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
abstract class My(val v: Int) {
// Ok: variable is just abstract
abstract var x: Int
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
abstract class My(val v: Int) {
// Ok: variable is just abstract
abstract var x: Int
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_VARIABLE
package test
@@ -1,3 +1,4 @@
// IGNORE_REVERSED_RESOLVE
// !DIAGNOSTICS: -UNUSED_VARIABLE
package test

Some files were not shown because too many files have changed in this diff Show More