[FIR] fix resolve contract violation from scopes

We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier

^KT-54890
^KTIJ-23587 fixed
This commit is contained in:
Ilya Kirillov
2022-12-28 09:59:12 +01:00
committed by teamcity
parent 0d1e7e83b5
commit 1bbcae5ed2
311 changed files with 108 additions and 347 deletions
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface A<H> {
fun foo() : Int = 1
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
abstract class A : Function1<Any, Unit>
abstract class B : (Int)->Unit
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
abstract class A : Function1<Any, Unit>
abstract class B : (Int)->Unit
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface Aaa<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_EXTENDED_CHECKERS
// FILE: a.kt
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_EXTENDED_CHECKERS
// FILE: a.kt
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
class X {
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val x : Int<!>
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
annotation class Ann
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
annotation class Ann
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !RENDER_DIAGNOSTICS_MESSAGES
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.PROPERTY)
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !RENDER_DIAGNOSTICS_MESSAGES
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.PROPERTY)
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
import kotlin.reflect.KMutableProperty0
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FILE: a.kt
package test
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FILE: a.kt
package test
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// See KT-15566
// NI_EXPECTED_FILE
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// See KT-15566
// NI_EXPECTED_FILE
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_EXPRESSION
// !CHECK_TYPE
// Issue: KT-30406
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_EXPRESSION
// !CHECK_TYPE
// Issue: KT-30406
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS, -ABSTRACT_MEMBER_NOT_IMPLEMENTED, -ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
// DIAGNOSTICS: -CONFLICTING_INHERITED_MEMBERS, -CONFLICTING_OVERLOADS
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !LANGUAGE: +SuspendFunctionAsSupertype
// SKIP_TXT
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: -ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: -ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !LANGUAGE: +ProhibitDataClassesOverridingCopy
interface WithCopy<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_STDLIB
// !DIAGNOSTICS: -UNUSED_PARAMETER
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
// WITH_STDLIB
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
// WITH_STDLIB
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface A<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface A<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -CONFLICTING_JVM_DECLARATIONS
interface One {
public fun foo(): Any?
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -CONFLICTING_JVM_DECLARATIONS
interface One {
public fun foo(): Any?
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
open class Final {
fun foo() {}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IStr {
val foo: String
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IStr {
val foo: String
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IStr {
fun foo(): String
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IStr {
fun foo(): String
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface IVar {
var foo: Int
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface IBase1 {
fun foo(): Any
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IBase1 {
fun foo(): Any
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface IBase1 {
fun foo(): Any
}
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface IA {
fun foo(): Number
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface IBase1 {
fun foo(): Any
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// ISSUE: KT-40510
// FILE: foo/A.java
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// ISSUE: KT-40510
// FILE: foo/A.java
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_STDLIB
// FILE: test.kt
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// WITH_STDLIB
// FILE: test.kt
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
interface A<T> {
fun foo()
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
public interface Base {
fun getValue(): String
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<X> {
fun foo(x: X)
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<X> {
fun foo(x: X)
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
open class B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface B<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// !DIAGNOSTICS: -UNUSED_PARAMETER
interface Foo<T> {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface Foo
class Bar(f: Foo) : Foo by f {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
interface Foo
class <!CONFLICTING_JVM_DECLARATIONS!>Bar(f: Foo)<!> : Foo by f {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
enum class E : Cloneable {
A;
<!OVERRIDING_FINAL_MEMBER!>override<!> fun clone(): Any {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
enum class E : Cloneable {
A;
<!OVERRIDING_FINAL_MEMBER!>override<!> fun clone(): Any {
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
enum class E {
ENTRY;
@@ -1,4 +1,3 @@
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
// FIR_IDENTICAL
// !LANGUAGE: +DefinitelyNonNullableTypes

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