From 5c798d4e132ea357138a594a23361c39cf2b513a Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 14 Oct 2020 00:54:15 +0300 Subject: [PATCH] FIR IDE: fix test data in fir-ide module --- .../basic/common/ClassRedeclaration2.kt | 1 - .../basic/common/ObjectRedeclaration2.kt | 1 - .../checkers/AbstractFirPsiCheckerTest.kt | 26 +++++-------------- idea/testData/checker/ClassObjectInEnum.kt | 1 + idea/testData/checker/Nullability.kt | 1 + idea/testData/checker/Redeclaration.kt | 1 + idea/testData/checker/SupertypeListChecks.kt | 1 + idea/testData/checker/TraitSupertypeList.kt | 2 ++ .../infos/CapturedConstructorParameter.kt | 1 + .../checker/infos/CapturedInInlinedClosure.kt | 1 + .../checker/infos/threeImplicitReceivers.kt | 1 + .../checker/infos/twoImplicitReceivers.kt | 1 + ...32189returnTypeWithTypealiasSubtitution.kt | 1 + .../checker/recovery/namelessMembers.kt | 2 ++ .../recovery/namelessToplevelDeclarations.kt | 2 ++ .../AmbiguityOnLazyTypeComputation.kt | 1 + .../DestructuringDeclarationInLambda.kt | 2 -- .../FunctionLiteralInsideAnnotation.kt | 1 + idea/testData/checker/regression/Jet121.kt | 1 + idea/testData/checker/regression/Jet53.kt | 2 -- ...ariableAsFunctionWithAnonymousObjectArg.kt | 1 + .../extensionMemberInClassObject.kt | 2 -- .../kotlinTraitImplThroughDelegate.0.kt | 1 + idea/testData/highlighter/DelegatingCtor.kt | 2 ++ idea/testData/highlighter/TypeAlias.kt | 1 + idea/testData/highlighter/Variables.kt | 1 + idea/testData/highlighter/deprecated/Class.kt | 2 -- ...assObjectClassLiteralReferenceWithField.kt | 1 + 28 files changed, 32 insertions(+), 29 deletions(-) diff --git a/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt b/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt index 92923b44cff..3432ee1fa20 100644 --- a/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt +++ b/idea/idea-completion/testData/basic/common/ClassRedeclaration2.kt @@ -1,4 +1,3 @@ -// FIR_COMPARISON class A { fun f() : A } diff --git a/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt b/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt index 6fddff733e4..414eb30ff14 100644 --- a/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt +++ b/idea/idea-completion/testData/basic/common/ObjectRedeclaration2.kt @@ -1,4 +1,3 @@ -// FIR_COMPARISON object A { fun f() : S } diff --git a/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt index 9c18af86cd4..dccabc251a7 100644 --- a/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.checkers import com.intellij.rt.execution.junit.FileComparisonFailure +import org.jetbrains.kotlin.idea.completion.FIR_COMPARISON +import org.jetbrains.kotlin.idea.completion.runTestWithCustomEnableDirective import org.jetbrains.kotlin.idea.test.withCustomCompilerOptions import org.jetbrains.kotlin.idea.withPossiblyDisabledDuplicatedFirSourceElementsException import org.jetbrains.kotlin.test.InTextDirectivesUtils @@ -16,13 +18,11 @@ abstract class AbstractFirPsiCheckerTest : AbstractPsiCheckerTest() { override fun isFirPlugin(): Boolean = true - override fun setUp() { - super.setUp() - } - override fun doTest(filePath: String) { - myFixture.configureByFile(fileName()) - checkHighlighting(checkWarnings = false, checkInfos = false, checkWeakWarnings = false) + runTestWithCustomEnableDirective(FIR_COMPARISON, testDataFile()) { + myFixture.configureByFile(fileName()) + checkHighlighting(checkWarnings = false, checkInfos = false, checkWeakWarnings = false) + } } override fun checkHighlighting( @@ -30,27 +30,15 @@ abstract class AbstractFirPsiCheckerTest : AbstractPsiCheckerTest() { checkInfos: Boolean, checkWeakWarnings: Boolean ): Long { - val file = file val fileText = file.text return withCustomCompilerOptions(fileText, project, module) { - val doComparison = InTextDirectivesUtils.isDirectiveDefined(myFixture.file.text, "FIR_COMPARISON") try { withPossiblyDisabledDuplicatedFirSourceElementsException(fileText) { myFixture.checkHighlighting(checkWarnings, checkInfos, checkWeakWarnings) } } catch (e: FileComparisonFailure) { - if (doComparison) { - // Even this is very partial check (only error compatibility, no warnings / infos) - throw FileComparisonFailure(e.message, e.expected, e.actual, File(e.filePath).absolutePath) - } else { - // Here we just check that we haven't crashed due to exception - 0 - } + throw FileComparisonFailure(e.message, e.expected, e.actual, File(e.filePath).absolutePath) } } } - - override fun tearDown() { - super.tearDown() - } } \ No newline at end of file diff --git a/idea/testData/checker/ClassObjectInEnum.kt b/idea/testData/checker/ClassObjectInEnum.kt index b3580c5fac2..3bd384bcbcd 100644 --- a/idea/testData/checker/ClassObjectInEnum.kt +++ b/idea/testData/checker/ClassObjectInEnum.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON enum class E { ENTRY; diff --git a/idea/testData/checker/Nullability.kt b/idea/testData/checker/Nullability.kt index b2c32fb7e98..fca42959394 100644 --- a/idea/testData/checker/Nullability.kt +++ b/idea/testData/checker/Nullability.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON fun test() { val a : Int? = 0 if (a != null) { diff --git a/idea/testData/checker/Redeclaration.kt b/idea/testData/checker/Redeclaration.kt index 26b2c75e6ab..cfdb80e5483 100644 --- a/idea/testData/checker/Redeclaration.kt +++ b/idea/testData/checker/Redeclaration.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -DUPLICATE_CLASS_NAMES val a : Int = 1 val a : Int = 1 diff --git a/idea/testData/checker/SupertypeListChecks.kt b/idea/testData/checker/SupertypeListChecks.kt index 0eb8dd60c24..11f963ca348 100644 --- a/idea/testData/checker/SupertypeListChecks.kt +++ b/idea/testData/checker/SupertypeListChecks.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // KT-286 Check supertype lists /* diff --git a/idea/testData/checker/TraitSupertypeList.kt b/idea/testData/checker/TraitSupertypeList.kt index 505131f1cf9..5996062ddb4 100644 --- a/idea/testData/checker/TraitSupertypeList.kt +++ b/idea/testData/checker/TraitSupertypeList.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + open class bar() interface Foo() : bar(), bar, bar { diff --git a/idea/testData/checker/infos/CapturedConstructorParameter.kt b/idea/testData/checker/infos/CapturedConstructorParameter.kt index 800961a10dc..955975bda25 100644 --- a/idea/testData/checker/infos/CapturedConstructorParameter.kt +++ b/idea/testData/checker/infos/CapturedConstructorParameter.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON import kotlin.reflect.KProperty interface T diff --git a/idea/testData/checker/infos/CapturedInInlinedClosure.kt b/idea/testData/checker/infos/CapturedInInlinedClosure.kt index c292c765c4b..c5cd24bf888 100644 --- a/idea/testData/checker/infos/CapturedInInlinedClosure.kt +++ b/idea/testData/checker/infos/CapturedInInlinedClosure.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON inline fun run(f: () -> T) = f() fun run2(f: () -> Unit) = f() diff --git a/idea/testData/checker/infos/threeImplicitReceivers.kt b/idea/testData/checker/infos/threeImplicitReceivers.kt index 0faf40074c3..44c7f56125f 100644 --- a/idea/testData/checker/infos/threeImplicitReceivers.kt +++ b/idea/testData/checker/infos/threeImplicitReceivers.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON interface IA interface IB interface IC diff --git a/idea/testData/checker/infos/twoImplicitReceivers.kt b/idea/testData/checker/infos/twoImplicitReceivers.kt index 58e56a6fab4..74aaf042762 100644 --- a/idea/testData/checker/infos/twoImplicitReceivers.kt +++ b/idea/testData/checker/infos/twoImplicitReceivers.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON interface IA interface IB diff --git a/idea/testData/checker/kt32189returnTypeWithTypealiasSubtitution.kt b/idea/testData/checker/kt32189returnTypeWithTypealiasSubtitution.kt index 8bbd0255ebe..328794cc896 100644 --- a/idea/testData/checker/kt32189returnTypeWithTypealiasSubtitution.kt +++ b/idea/testData/checker/kt32189returnTypeWithTypealiasSubtitution.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class B { class Builder } diff --git a/idea/testData/checker/recovery/namelessMembers.kt b/idea/testData/checker/recovery/namelessMembers.kt index 967c542d542..4bce5b81a09 100644 --- a/idea/testData/checker/recovery/namelessMembers.kt +++ b/idea/testData/checker/recovery/namelessMembers.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + class C { fun () { diff --git a/idea/testData/checker/recovery/namelessToplevelDeclarations.kt b/idea/testData/checker/recovery/namelessToplevelDeclarations.kt index a7cf09adb91..b7b8fa08d97 100644 --- a/idea/testData/checker/recovery/namelessToplevelDeclarations.kt +++ b/idea/testData/checker/recovery/namelessToplevelDeclarations.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + package fun () { diff --git a/idea/testData/checker/regression/AmbiguityOnLazyTypeComputation.kt b/idea/testData/checker/regression/AmbiguityOnLazyTypeComputation.kt index af4fa396431..6e01e5ead84 100644 --- a/idea/testData/checker/regression/AmbiguityOnLazyTypeComputation.kt +++ b/idea/testData/checker/regression/AmbiguityOnLazyTypeComputation.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON // One of the two passes is making a scope and turning vals into functions // See KT-76 diff --git a/idea/testData/checker/regression/DestructuringDeclarationInLambda.kt b/idea/testData/checker/regression/DestructuringDeclarationInLambda.kt index 6e7dcf0a66c..a181daf6143 100644 --- a/idea/testData/checker/regression/DestructuringDeclarationInLambda.kt +++ b/idea/testData/checker/regression/DestructuringDeclarationInLambda.kt @@ -1,5 +1,3 @@ -// FIR_COMPARISON - data class XY(val x: Int, val y: Int) fun convert(xy: XY, f: (XY) -> Int) = f(xy) diff --git a/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt b/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt index fecf4612689..997b405c3b1 100644 --- a/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt +++ b/idea/testData/checker/regression/FunctionLiteralInsideAnnotation.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON package foo @Anno ({ val x: Int }) diff --git a/idea/testData/checker/regression/Jet121.kt b/idea/testData/checker/regression/Jet121.kt index 28f47188156..44e47a1b7cc 100644 --- a/idea/testData/checker/regression/Jet121.kt +++ b/idea/testData/checker/regression/Jet121.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON package jet121 fun box(): String { diff --git a/idea/testData/checker/regression/Jet53.kt b/idea/testData/checker/regression/Jet53.kt index 662e006a385..bb638c90294 100644 --- a/idea/testData/checker/regression/Jet53.kt +++ b/idea/testData/checker/regression/Jet53.kt @@ -1,5 +1,3 @@ -// FIR_COMPARISON - import java.util.Collections fun checkSubtype(t: T) = t diff --git a/idea/testData/checker/regression/callVariableAsFunctionWithAnonymousObjectArg.kt b/idea/testData/checker/regression/callVariableAsFunctionWithAnonymousObjectArg.kt index b5fc01235ea..1628cebc406 100644 --- a/idea/testData/checker/regression/callVariableAsFunctionWithAnonymousObjectArg.kt +++ b/idea/testData/checker/regression/callVariableAsFunctionWithAnonymousObjectArg.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON fun f() { val g = 3 g(object : Any() {}) diff --git a/idea/testData/checker/regression/extensionMemberInClassObject.kt b/idea/testData/checker/regression/extensionMemberInClassObject.kt index 4ef0359c9c0..4e5a137e04c 100644 --- a/idea/testData/checker/regression/extensionMemberInClassObject.kt +++ b/idea/testData/checker/regression/extensionMemberInClassObject.kt @@ -1,5 +1,3 @@ -// FIR_COMPARISON - interface Bar { fun T.bar() {} } diff --git a/idea/testData/findUsages/kotlin/internal/findFunctionUsages/kotlinTraitImplThroughDelegate.0.kt b/idea/testData/findUsages/kotlin/internal/findFunctionUsages/kotlinTraitImplThroughDelegate.0.kt index 196aaf9c719..148d2b63d7c 100644 --- a/idea/testData/findUsages/kotlin/internal/findFunctionUsages/kotlinTraitImplThroughDelegate.0.kt +++ b/idea/testData/findUsages/kotlin/internal/findFunctionUsages/kotlinTraitImplThroughDelegate.0.kt @@ -1,5 +1,6 @@ // PSI_ELEMENT: org.jetbrains.kotlin.psi.KtNamedFunction // OPTIONS: usages, skipImports +// FIR_COMPARISON package server interface TraitWithImpl { diff --git a/idea/testData/highlighter/DelegatingCtor.kt b/idea/testData/highlighter/DelegatingCtor.kt index 7f5ce9c14a7..8d795a2dba9 100644 --- a/idea/testData/highlighter/DelegatingCtor.kt +++ b/idea/testData/highlighter/DelegatingCtor.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + open class Foo { constructor(i: Int) } diff --git a/idea/testData/highlighter/TypeAlias.kt b/idea/testData/highlighter/TypeAlias.kt index bcabe5b0e63..391e9b61689 100644 --- a/idea/testData/highlighter/TypeAlias.kt +++ b/idea/testData/highlighter/TypeAlias.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // EXPECTED_DUPLICATED_HIGHLIGHTING typealias Predicate<T> = (T) -> Boolean diff --git a/idea/testData/highlighter/Variables.kt b/idea/testData/highlighter/Variables.kt index 0b5ba7192b2..76ccf692242 100644 --- a/idea/testData/highlighter/Variables.kt +++ b/idea/testData/highlighter/Variables.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // EXPECTED_DUPLICATED_HIGHLIGHTING var x = 5 diff --git a/idea/testData/highlighter/deprecated/Class.kt b/idea/testData/highlighter/deprecated/Class.kt index 3c841322c4a..94a426d3836 100644 --- a/idea/testData/highlighter/deprecated/Class.kt +++ b/idea/testData/highlighter/deprecated/Class.kt @@ -1,5 +1,3 @@ -// IGNORE_FIR - package test import java.util.ArrayList diff --git a/idea/testData/resolve/references/ClassObjectClassLiteralReferenceWithField.kt b/idea/testData/resolve/references/ClassObjectClassLiteralReferenceWithField.kt index 10311ac660e..0b4d649b1a3 100644 --- a/idea/testData/resolve/references/ClassObjectClassLiteralReferenceWithField.kt +++ b/idea/testData/resolve/references/ClassObjectClassLiteralReferenceWithField.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR package t class A {