diff --git a/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.fir.kt b/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.fir.kt index c56c6f3492f..fd28027446a 100644 --- a/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.fir.kt +++ b/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.fir.kt @@ -1,3 +1,4 @@ +// FIR_IDE_IGNORE // FILE: I.kt open class I : K() { diff --git a/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.kt b/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.kt index 1df66a7bd15..6b5931e7864 100644 --- a/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.kt +++ b/compiler/testData/diagnostics/tests/cyclicHierarchy/kotlinJavaKotlinCycle.kt @@ -1,3 +1,4 @@ +// FIR_IDE_IGNORE // FILE: I.kt open class I : K() { diff --git a/compiler/testData/diagnostics/tests/typealias/recursive.fir.kt b/compiler/testData/diagnostics/tests/typealias/recursive.fir.kt index a4c437cf15c..f417250e8d5 100644 --- a/compiler/testData/diagnostics/tests/typealias/recursive.fir.kt +++ b/compiler/testData/diagnostics/tests/typealias/recursive.fir.kt @@ -1,3 +1,4 @@ +// FIR_IDE_IGNORE typealias R = R typealias L = List diff --git a/compiler/testData/diagnostics/tests/typealias/recursive.kt b/compiler/testData/diagnostics/tests/typealias/recursive.kt index fcb1651ed59..abab7c911b4 100644 --- a/compiler/testData/diagnostics/tests/typealias/recursive.kt +++ b/compiler/testData/diagnostics/tests/typealias/recursive.kt @@ -1,3 +1,4 @@ +// FIR_IDE_IGNORE typealias R = R typealias L = List diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/localDeclaration.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/localDeclaration.txt index 51a455314f4..7ffaf523cef 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/localDeclaration.txt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/localDeclaration.txt @@ -1,3 +1,4 @@ + RAW_FIR: FILE: localDeclaration.kt public? final? class A : R|kotlin/Any| { @@ -27,14 +28,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -49,14 +50,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -71,14 +72,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -93,14 +94,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -115,14 +116,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -137,14 +138,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=IMPLICIT_TYPES_BODY_RESOLVE] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -225,14 +226,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -269,14 +270,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -291,14 +292,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -313,14 +314,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } @@ -335,14 +336,14 @@ FILE: localDeclaration.kt super() } - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun x(): R|kotlin/Unit| { - local final [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { - public [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun x(): R|kotlin/Unit| { + local final? [ContainingClassKey=A] class resolveMe : R|kotlin/Any| { + public? [ContainingClassKey=resolveMe] constructor(): R|A.resolveMe| { super() } - public final val e: R|kotlin/Int| = Int(2) - [ContainingClassKey=resolveMe] public get(): R|kotlin/Int| + public? final? val e: = IntegerLiteral(2) + [ContainingClassKey=resolveMe] public? get(): } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/parameterOfLocalSetter.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/parameterOfLocalSetter.txt index f95b0205908..f112c0050fd 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/parameterOfLocalSetter.txt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/parameterOfLocalSetter.txt @@ -18,16 +18,16 @@ FILE: parameterOfLocalSetter.kt IMPORTS: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -36,16 +36,16 @@ FILE: parameterOfLocalSetter.kt SUPER_TYPES: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -54,16 +54,16 @@ FILE: parameterOfLocalSetter.kt TYPES: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -72,16 +72,16 @@ FILE: parameterOfLocalSetter.kt STATUS: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -216,16 +216,16 @@ FILE: parameterOfLocalSetter.kt AnnotationType: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -270,16 +270,16 @@ FILE: parameterOfLocalSetter.kt DeclarationStatus: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -288,16 +288,16 @@ FILE: parameterOfLocalSetter.kt ValueParametersTypes: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } @@ -306,16 +306,16 @@ FILE: parameterOfLocalSetter.kt TypeParametersTypes: FILE: parameterOfLocalSetter.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final class XX : R|kotlin/Any| { - public [ContainingClassKey=XX] constructor(): R|XX| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? class XX : R|kotlin/Any| { + public? [ContainingClassKey=XX] constructor(): R|XX| { super() } - public final var x: R|kotlin/Int| = Int(2) - [ContainingClassKey=XX] public get(): R|kotlin/Int| - [ContainingClassKey=XX] public set(resolveMe: R|kotlin/Int|): R|kotlin/Unit| { - ^ Q|kotlin/Unit| + public? final? var x: Int = IntegerLiteral(2) + [ContainingClassKey=XX] public? get(): Int + [ContainingClassKey=XX] public? set(resolveMe: Int): R|kotlin/Unit| { + ^ Unit# } } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypes.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypes.txt index 218e61514f6..0eb108b7057 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypes.txt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypes.txt @@ -63,7 +63,7 @@ FILE: superTypes.kt TYPES: FILE: superTypes.kt - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class A : R|kotlin/Any| { + public? open class A : R|kotlin/Any| { public? [ContainingClassKey=A] constructor(): R|A| { super() } @@ -210,7 +210,7 @@ FILE: superTypes.kt AnnotationType: FILE: superTypes.kt - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class A : R|kotlin/Any| { + public? open class A : R|kotlin/Any| { public? [ContainingClassKey=A] constructor(): R|A| { super() } @@ -294,7 +294,7 @@ FILE: superTypes.kt ValueParametersTypes: FILE: superTypes.kt - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class A : R|kotlin/Any| { + public? open class A : R|kotlin/Any| { public? [ContainingClassKey=A] constructor(): R|A| { super() } @@ -315,7 +315,7 @@ FILE: superTypes.kt TypeParametersTypes: FILE: superTypes.kt - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class A : R|kotlin/Any| { + public? open class A : R|kotlin/Any| { public? [ContainingClassKey=A] constructor(): R|A| { super() } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypesLoop.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypesLoop.txt index 0fb906dd705..dcc7d77f5f2 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypesLoop.txt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/superTypesLoop.txt @@ -60,19 +60,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open class C : A { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -87,19 +87,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class C : /A> { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -114,13 +114,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -141,13 +141,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -168,13 +168,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -195,13 +195,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -249,13 +249,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -276,19 +276,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class C : /A> { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -303,13 +303,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -330,19 +330,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open class C : A { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -357,13 +357,13 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } @@ -384,19 +384,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class C : /A> { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -411,19 +411,19 @@ FILE: superTypesLoop.kt } } - public? open class A : B { + public? open class A : /B> { public? [ContainingClassKey=A] constructor(): R|A| { super() } } - public? open class B : C { + public? open class B : /C> { public? [ContainingClassKey=B] constructor(): R|B| { super() } } - public? open [ResolvePhaseWithForAllDeclarationsKey=SUPER_TYPES] class C : /A> { + public? open class C : /A> { public? [ContainingClassKey=C] constructor(): R|C| { super() } @@ -444,13 +444,13 @@ FILE: superTypesLoop.kt } } - public open [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] class B : R|C| { + public open [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] class B : /C> { public [ContainingClassKey=B] constructor(): R|B| { super() } } - public open [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] class C : R|A| { + public open [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] class C : /A> { public [ContainingClassKey=C] constructor(): R|C| { super() } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/typeParameterOfLocalFunction.txt b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/typeParameterOfLocalFunction.txt index a32081d4dbe..bd94936191a 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/typeParameterOfLocalFunction.txt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/testdata/lazyResolve/typeParameterOfLocalFunction.txt @@ -8,48 +8,48 @@ FILE: typeParameterOfLocalFunction.kt IMPORTS: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } SUPER_TYPES: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } TYPES: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } STATUS: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } CONTRACTS: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } IMPLICIT_TYPES_BODY_RESOLVE: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=IMPLICIT_TYPES_BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } @@ -80,8 +80,8 @@ FILE: typeParameterOfLocalFunction.kt AnnotationType: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } @@ -96,24 +96,24 @@ FILE: typeParameterOfLocalFunction.kt DeclarationStatus: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } ValueParametersTypes: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } TypeParametersTypes: FILE: typeParameterOfLocalFunction.kt - public final [ResolvePhaseWithForAllDeclarationsKey=BODY_RESOLVE] fun ddd(): R|kotlin/Unit| { - local final fun kkk(): R|kotlin/Unit| { + public final [ResolvePhaseWithForAllDeclarationsKey=CONTRACTS] fun ddd(): R|kotlin/Unit| { + local final? fun kkk(): R|kotlin/Unit| { } } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/compiler/based/AbstractCompilerBasedTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/compiler/based/AbstractCompilerBasedTest.kt index 42e5bb952c4..56d4c51f763 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/compiler/based/AbstractCompilerBasedTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/compiler/based/AbstractCompilerBasedTest.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.api.DiagnosticCheckerFilter import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState import org.jetbrains.kotlin.idea.fir.low.level.api.api.getOrBuildFirFile import org.jetbrains.kotlin.idea.fir.low.level.api.createResolveStateForNoCaching +import org.jetbrains.kotlin.idea.fir.low.level.api.transformers.FirLazyTransformerForIDE import org.jetbrains.kotlin.idea.project.withLanguageVersionSettings import org.jetbrains.kotlin.idea.test.* import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.getLanguageLevel @@ -157,7 +158,13 @@ abstract class AbstractCompilerBasedTest : KotlinLightCodeInsightFixtureTestCase fun doTest(path: String) { if (ignoreTest()) return withLanguageLevel(modules.allDirectives) { - TestRunner(configuration).runTest(path) + val oldEnableDeepEnsure = FirLazyTransformerForIDE.enableDeepEnsure + try { + FirLazyTransformerForIDE.enableDeepEnsure = true + TestRunner(configuration).runTest(path) + } catch (_: Exception) { + FirLazyTransformerForIDE.enableDeepEnsure = oldEnableDeepEnsure + } } } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt index be4dad4c140..914b798cd08 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt @@ -9,12 +9,10 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.compiler.based.AbstractCompil import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.runners.baseFirDiagnosticTestConfiguration import org.jetbrains.kotlin.idea.fir.low.level.api.compiler.based.addIdeTestIgnoreHandler -import org.jetbrains.kotlin.idea.fir.low.level.api.transformers.FirLazyTransformerForIDE abstract class AbstractDiagnosisCompilerTestDataTest : AbstractCompilerBasedTest() { override fun TestConfigurationBuilder.configureTest() { baseFirDiagnosticTestConfiguration() - FirLazyTransformerForIDE.enableDeepEnsure = true addIdeTestIgnoreHandler() } } \ No newline at end of file diff --git a/idea/testData/fir/lazyResolve/elvis/main.txt b/idea/testData/fir/lazyResolve/elvis/main.txt index 8370e550749..179e90f61bf 100644 --- a/idea/testData/fir/lazyResolve/elvis/main.txt +++ b/idea/testData/fir/lazyResolve/elvis/main.txt @@ -1,6 +1,6 @@ FILE: main.kt public final [STATUS] class WithElvis : R|kotlin/Any| { - public [STATUS] constructor([STATUS] value: R|kotlin/String?|): R|elvis/WithElvis| { + public? [RAW_FIR] constructor([RAW_FIR] value: String?): R|elvis/WithElvis| { super() } diff --git a/idea/testData/fir/lazyResolve/simple/callMe.txt b/idea/testData/fir/lazyResolve/simple/callMe.txt index 197994dc886..fbf2cad8e87 100644 --- a/idea/testData/fir/lazyResolve/simple/callMe.txt +++ b/idea/testData/fir/lazyResolve/simple/callMe.txt @@ -2,4 +2,4 @@ FILE: callMe.kt public final [BODY_RESOLVE] fun callMe(): R|kotlin/Int| { ^callMe Int(42) } - public final [STATUS] fun other(): R|kotlin/Unit| { LAZY_BLOCK } + public? final? [RAW_FIR] fun other(): R|kotlin/Unit| { LAZY_BLOCK }