From 24cce758994879263c5418662a4214094887b19c Mon Sep 17 00:00:00 2001 From: Ivan Cilcic Date: Thu, 29 Aug 2019 22:25:57 +0300 Subject: [PATCH] Add FIR_IGNORE directive to test files that must be skipped --- .../rawBuilder/declarations/NestedOfAliasedType.kt | 1 + .../rawBuilder/declarations/complexTypes.kt | 1 + .../testData/rawBuilder/declarations/enums.kt | 1 + .../testData/rawBuilder/declarations/enums2.kt | 1 + .../rawBuilder/declarations/functionTypes.kt | 1 + .../declarations/noPrimaryConstructor.kt | 1 + .../declarations/typeParameterVsNested.kt | 1 + .../testData/rawBuilder/expressions/annotated.kt | 1 + .../testData/rawBuilder/expressions/branches.kt | 1 + .../rawBuilder/expressions/callableReferences.kt | 1 + .../testData/rawBuilder/expressions/calls.kt | 1 + .../rawBuilder/expressions/classReference.kt | 1 + .../rawBuilder/expressions/collectionLiterals.kt | 1 + .../rawBuilder/expressions/destructuring.kt | 1 + .../testData/rawBuilder/expressions/for.kt | 1 + .../rawBuilder/expressions/genericCalls.kt | 1 + .../testData/rawBuilder/expressions/in.kt | 1 + .../testData/rawBuilder/expressions/init.kt | 1 + .../testData/rawBuilder/expressions/lambda.kt | 1 + .../testData/rawBuilder/expressions/locals.kt | 1 + .../rawBuilder/expressions/modifications.kt | 1 + .../testData/rawBuilder/expressions/super.kt | 1 + .../testData/rawBuilder/expressions/these.kt | 1 + .../rawBuilder/expressions/typeOperators.kt | 1 + .../testData/rawBuilder/expressions/unary.kt | 1 + .../testData/rawBuilder/expressions/variables.kt | 1 + .../testData/rawBuilder/expressions/while.kt | 1 + .../uncommonCases/resultFiles/dataClass.kt | 1 + .../uncommonCases/resultFiles/delegation.kt | 1 + .../uncommonCases/resultFiles/innerWith.kt | 1 + .../testData/uncommonCases/resultFiles/lists.kt | 1 + .../uncommonCases/resultFiles/properties.kt | 1 + .../uncommonCases/resultFiles/superTypes.kt | 1 + .../testData/uncommonCases/resultFiles/variance.kt | 1 + .../testData/uncommonCases/resultFiles/where.kt | 1 + .../kotlin/visualizer/fir/AbstractFirVisualizer.kt | 14 +++++++++++++- .../kotlin/visualizer/psi/AbstractPsiVisualizer.kt | 4 +++- 37 files changed, 51 insertions(+), 2 deletions(-) diff --git a/compiler/visualizer/testData/rawBuilder/declarations/NestedOfAliasedType.kt b/compiler/visualizer/testData/rawBuilder/declarations/NestedOfAliasedType.kt index 893bccbcd6f..283d4c9a091 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/NestedOfAliasedType.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/NestedOfAliasedType.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE abstract class A { abstract class Nested } diff --git a/compiler/visualizer/testData/rawBuilder/declarations/complexTypes.kt b/compiler/visualizer/testData/rawBuilder/declarations/complexTypes.kt index 84312b028db..d093f4d7f25 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/complexTypes.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/complexTypes.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package a.b class C { diff --git a/compiler/visualizer/testData/rawBuilder/declarations/enums.kt b/compiler/visualizer/testData/rawBuilder/declarations/enums.kt index 8b737c48b42..0a4a4e27d7b 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/enums.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/enums.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE import my.println enum class Order { diff --git a/compiler/visualizer/testData/rawBuilder/declarations/enums2.kt b/compiler/visualizer/testData/rawBuilder/declarations/enums2.kt index 69b95daab0e..19d3b8ec0a8 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/enums2.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/enums2.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE interface Some object O1 : Some diff --git a/compiler/visualizer/testData/rawBuilder/declarations/functionTypes.kt b/compiler/visualizer/testData/rawBuilder/declarations/functionTypes.kt index 1ea5eb3f32b..7982bab6391 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/functionTypes.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/functionTypes.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // Unit // │ fun ((T) -> Unit).invoke(T): Unit // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/declarations/noPrimaryConstructor.kt b/compiler/visualizer/testData/rawBuilder/declarations/noPrimaryConstructor.kt index 5a2d35e9013..466c23da8ff 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/noPrimaryConstructor.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/noPrimaryConstructor.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE class NoPrimary { // String // │ diff --git a/compiler/visualizer/testData/rawBuilder/declarations/typeParameterVsNested.kt b/compiler/visualizer/testData/rawBuilder/declarations/typeParameterVsNested.kt index 2be275db8b2..a5991ad262f 100644 --- a/compiler/visualizer/testData/rawBuilder/declarations/typeParameterVsNested.kt +++ b/compiler/visualizer/testData/rawBuilder/declarations/typeParameterVsNested.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package test interface Some diff --git a/compiler/visualizer/testData/rawBuilder/expressions/annotated.kt b/compiler/visualizer/testData/rawBuilder/expressions/annotated.kt index 819770b6583..95d250bfca2 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/annotated.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/annotated.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE //constructor annotation/Target(vararg annotation/AnnotationTarget) //│ enum class annotation/AnnotationTarget: Enum //│ │ enum entry annotation/AnnotationTarget.EXPRESSION diff --git a/compiler/visualizer/testData/rawBuilder/expressions/branches.kt b/compiler/visualizer/testData/rawBuilder/expressions/branches.kt index c4c3fa57739..7fd1bb60903 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/branches.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/branches.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // foo.a: Int // │ fun (Int).compareTo(Int): Int // │ │ foo.b: Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/callableReferences.kt b/compiler/visualizer/testData/rawBuilder/expressions/callableReferences.kt index 8892a004a91..5f1a5b94b43 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/callableReferences.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/callableReferences.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE class A { fun foo() {} // Int Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/calls.kt b/compiler/visualizer/testData/rawBuilder/expressions/calls.kt index 59b48150ac6..7f74a06de50 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/calls.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/calls.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // Int // │ distance.x: Int // │ │ fun (Int).plus(Int): Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/classReference.kt b/compiler/visualizer/testData/rawBuilder/expressions/classReference.kt index 77d214ef4b3..12a3bb61961 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/classReference.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/classReference.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE //WITH_RUNTIME package test diff --git a/compiler/visualizer/testData/rawBuilder/expressions/collectionLiterals.kt b/compiler/visualizer/testData/rawBuilder/expressions/collectionLiterals.kt index 36409ef9de0..30380b4dbe5 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/collectionLiterals.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/collectionLiterals.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE annotation class Ann1(val arr: IntArray) annotation class Ann2(val arr: DoubleArray) diff --git a/compiler/visualizer/testData/rawBuilder/expressions/destructuring.kt b/compiler/visualizer/testData/rawBuilder/expressions/destructuring.kt index 655f7733ac4..72be851fb05 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/destructuring.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/destructuring.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE data class Some(val first: Int, val second: Double, val third: String) fun foo(some: Some) { diff --git a/compiler/visualizer/testData/rawBuilder/expressions/for.kt b/compiler/visualizer/testData/rawBuilder/expressions/for.kt index 3be8509bb28..a3c29268217 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/for.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/for.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun foo() { // Int // │fun (Int).rangeTo(Int): ranges/IntRange diff --git a/compiler/visualizer/testData/rawBuilder/expressions/genericCalls.kt b/compiler/visualizer/testData/rawBuilder/expressions/genericCalls.kt index 5d61edb31bd..8d61c681d65 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/genericCalls.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/genericCalls.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // Nothing? // │ Nothing? // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/in.kt b/compiler/visualizer/testData/rawBuilder/expressions/in.kt index 1876beee12c..c66399a3765 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/in.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/in.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // collections/Collection // │ Boolean // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/init.kt b/compiler/visualizer/testData/rawBuilder/expressions/init.kt index 9129d0df8ca..20c850b4b6e 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/init.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/init.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE class WithInit(x: Int) { // Int // │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/lambda.kt b/compiler/visualizer/testData/rawBuilder/expressions/lambda.kt index a242fe9129b..a33efc19c4e 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/lambda.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/lambda.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE data class Tuple(val x: Int, val y: Int) // Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/locals.kt b/compiler/visualizer/testData/rawBuilder/expressions/locals.kt index 7a125cfdb5d..8769ee5b2f1 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/locals.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/locals.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun withLocals(p: Int): Int { class Local(val pp: Int) { // Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/modifications.kt b/compiler/visualizer/testData/rawBuilder/expressions/modifications.kt index 990ae78b2e3..031c51fd2b0 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/modifications.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/modifications.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun simple() { // Int Int // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/super.kt b/compiler/visualizer/testData/rawBuilder/expressions/super.kt index 899888f7792..bfbc3ba3c4d 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/super.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/super.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE interface A { fun foo() {} } diff --git a/compiler/visualizer/testData/rawBuilder/expressions/these.kt b/compiler/visualizer/testData/rawBuilder/expressions/these.kt index 73c06f374c6..874189363a9 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/these.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/these.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE class Some { // Int // │ Int diff --git a/compiler/visualizer/testData/rawBuilder/expressions/typeOperators.kt b/compiler/visualizer/testData/rawBuilder/expressions/typeOperators.kt index be6a9c52d96..f907520390f 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/typeOperators.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/typeOperators.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE interface IThing // Boolean diff --git a/compiler/visualizer/testData/rawBuilder/expressions/unary.kt b/compiler/visualizer/testData/rawBuilder/expressions/unary.kt index 6667bd964d6..d8ef053493c 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/unary.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/unary.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun test() { // Int Int // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/variables.kt b/compiler/visualizer/testData/rawBuilder/expressions/variables.kt index 8598d4ce3e6..cbe6d1557ed 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/variables.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/variables.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun foo() { // Int Int // │ │ diff --git a/compiler/visualizer/testData/rawBuilder/expressions/while.kt b/compiler/visualizer/testData/rawBuilder/expressions/while.kt index 156a84f4f63..1f12761be2f 100644 --- a/compiler/visualizer/testData/rawBuilder/expressions/while.kt +++ b/compiler/visualizer/testData/rawBuilder/expressions/while.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE fun foo(limit: Int) { // Int Int // │ │ diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/dataClass.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/dataClass.kt index d40b485366b..0d997016347 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/dataClass.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/dataClass.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE data class Vector(val x: Int, val y: Int) { // Vector // │ constructor Vector(Int, Int) diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/delegation.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/delegation.kt index b9e3ca590ae..aef546c1e85 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/delegation.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/delegation.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE interface Base { fun printMessage() fun printMessageLine() diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/innerWith.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/innerWith.kt index 0e1231c8353..0a2f5d848ad 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/innerWith.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/innerWith.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package p class A { diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/lists.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/lists.kt index 44c8ba4190a..c61aead81ea 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/lists.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/lists.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package org.jetbrains.kotlin.test // collections/List diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/properties.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/properties.kt index f7ef9a8f922..018c0dadf28 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/properties.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/properties.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package org.jetbrains.kotlin.test // Int Int diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/superTypes.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/superTypes.kt index e856fed59be..18d123b33b0 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/superTypes.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/superTypes.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE package org.jetbrains.kotlin.test abstract class Base(var x: T) { diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/variance.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/variance.kt index 2009bb5aea2..89fecb1e9f9 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/variance.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/variance.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE interface Source { fun nextT(): T } diff --git a/compiler/visualizer/testData/uncommonCases/resultFiles/where.kt b/compiler/visualizer/testData/uncommonCases/resultFiles/where.kt index 7ea09ec2c6a..a965877ea02 100644 --- a/compiler/visualizer/testData/uncommonCases/resultFiles/where.kt +++ b/compiler/visualizer/testData/uncommonCases/resultFiles/where.kt @@ -1,3 +1,4 @@ +// FIR_IGNORE // collections/List collections/List // │ │ fun copyWhenGreater(list: List, threshold: T): List diff --git a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/AbstractFirVisualizer.kt b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/AbstractFirVisualizer.kt index a561ff221f3..fcfc8abe7a5 100644 --- a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/AbstractFirVisualizer.kt +++ b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/fir/AbstractFirVisualizer.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer import org.jetbrains.kotlin.fir.service import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.visualizer.AbstractVisualizer +import org.junit.Assert import java.io.File abstract class AbstractFirVisualizer : AbstractVisualizer() { @@ -55,6 +56,17 @@ abstract class AbstractFirVisualizer : AbstractVisualizer() { val psiRenderResult = renderer.render() val expectedPath = file.absolutePath.replace(replacement.first, replacement.second) - KotlinTestUtils.assertEqualsToFile(File(expectedPath), psiRenderResult) + val expectedText = File(expectedPath).readLines() + if (expectedText[0].startsWith("// FIR_IGNORE")) { + Assert.assertFalse( + "Files are identical, please delete ignore directive", + expectedText.filterIndexed { index, _ -> index > 0 }.joinToString("\n") == psiRenderResult + ) + return + } + KotlinTestUtils.assertEqualsToFile(File(expectedPath), psiRenderResult) { + return@assertEqualsToFile it.replace("// FIR_IGNORE\n", "") + } + } } diff --git a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/AbstractPsiVisualizer.kt b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/AbstractPsiVisualizer.kt index 7b209fb5b9e..4efe29d5fe9 100644 --- a/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/AbstractPsiVisualizer.kt +++ b/compiler/visualizer/tests/org/jetbrains/kotlin/visualizer/psi/AbstractPsiVisualizer.kt @@ -21,6 +21,8 @@ abstract class AbstractPsiVisualizer : AbstractVisualizer() { val psiRenderResult = renderer.render() val expectedPath = file.absolutePath.replace(replacement.first, replacement.second) - KotlinTestUtils.assertEqualsToFile(File(expectedPath), psiRenderResult) + KotlinTestUtils.assertEqualsToFile(File(expectedPath), psiRenderResult) { + return@assertEqualsToFile it.replace("// FIR_IGNORE\n", "") + } } }