From 7ee3baa0201a171d97e2f83a45510af12cfae23e Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 26 Oct 2016 19:55:23 +0300 Subject: [PATCH] Replaced when appropriate 'TARGET_BACKEND: JVM' -> 'IGNORE_BACKEND: JS'. Enabled some succesfully working decompiledText tests. --- .../box/binaryOp/compareWithBoxedDouble.kt | 2 +- .../box/binaryOp/compareWithBoxedLong.kt | 2 +- .../codegen/box/binaryOp/divisionByZero.kt | 2 +- .../codegen/box/binaryOp/overflowInt.kt | 2 +- .../box/classes/classObjectToString.kt | 2 +- .../codegen/box/classes/delegationJava.kt | 2 +- .../testData/codegen/box/classes/kt1120.kt | 2 +- .../testData/codegen/box/classes/kt1134.kt | 2 +- .../testData/codegen/box/classes/kt1535.kt | 2 +- .../testData/codegen/box/classes/kt2288.kt | 2 +- .../testData/codegen/box/classes/kt2395.kt | 2 +- .../testData/codegen/box/classes/kt508.kt | 2 +- .../testData/codegen/box/classes/kt707.kt | 2 +- .../box/functions/dataLocalVariable.kt | 4 +- .../ownClosureOfInnerLocalClass.kt | 2 +- .../multiDecl/VarCapturedInFunctionLiteral.kt | 2 +- .../multiDecl/VarCapturedInLocalFunction.kt | 2 +- .../multiDecl/VarCapturedInObjectLiteral.kt | 2 +- .../withNonLocalReturn.kt | 2 +- .../DependencyOnNestedClasses/directives.txt | 4 -- .../InnerClasses/directives.txt | 4 -- .../directives.txt | 2 +- .../NestedClasses/directives.txt | 4 -- .../SecondaryConstructors/directives.txt | 2 +- .../decompiledText/TypeAliases/directives.txt | 1 - ...mpiledTextFromJsMetadataTestGenerated.java | 48 +++++++++---------- 26 files changed, 46 insertions(+), 59 deletions(-) delete mode 100644 idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/directives.txt delete mode 100644 idea/testData/decompiler/decompiledText/InnerClasses/directives.txt delete mode 100644 idea/testData/decompiler/decompiledText/NestedClasses/directives.txt delete mode 100644 idea/testData/decompiler/decompiledText/TypeAliases/directives.txt diff --git a/compiler/testData/codegen/box/binaryOp/compareWithBoxedDouble.kt b/compiler/testData/codegen/box/binaryOp/compareWithBoxedDouble.kt index 75fd3a2425c..bdcbe98664d 100644 --- a/compiler/testData/codegen/box/binaryOp/compareWithBoxedDouble.kt +++ b/compiler/testData/codegen/box/binaryOp/compareWithBoxedDouble.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS // reason - multifile tests are not supported in JS tests //FILE: Holder.java diff --git a/compiler/testData/codegen/box/binaryOp/compareWithBoxedLong.kt b/compiler/testData/codegen/box/binaryOp/compareWithBoxedLong.kt index 4ae102ba72b..14a07fe1eb3 100644 --- a/compiler/testData/codegen/box/binaryOp/compareWithBoxedLong.kt +++ b/compiler/testData/codegen/box/binaryOp/compareWithBoxedLong.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS // reason - multifile tests are not supported in JS tests //FILE: JavaClass.java diff --git a/compiler/testData/codegen/box/binaryOp/divisionByZero.kt b/compiler/testData/codegen/box/binaryOp/divisionByZero.kt index 5005b447ffd..1daa188f030 100644 --- a/compiler/testData/codegen/box/binaryOp/divisionByZero.kt +++ b/compiler/testData/codegen/box/binaryOp/divisionByZero.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS // reason - no ArithmeticException in JS fun box(): String { val a1 = 0 diff --git a/compiler/testData/codegen/box/binaryOp/overflowInt.kt b/compiler/testData/codegen/box/binaryOp/overflowInt.kt index 35505298b89..5d01fea8c64 100644 --- a/compiler/testData/codegen/box/binaryOp/overflowInt.kt +++ b/compiler/testData/codegen/box/binaryOp/overflowInt.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS // reason - Int doesn't overflow in JS, TODO: include after KT-7733 is fixed fun box(): String { val i1: Int = Int.MAX_VALUE diff --git a/compiler/testData/codegen/box/classes/classObjectToString.kt b/compiler/testData/codegen/box/classes/classObjectToString.kt index 752805896a3..dd2744181c2 100644 --- a/compiler/testData/codegen/box/classes/classObjectToString.kt +++ b/compiler/testData/codegen/box/classes/classObjectToString.kt @@ -1,5 +1,5 @@ // TODO: Enable for JS when it supports Java class library. -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class SomeClass { companion object } fun box() = diff --git a/compiler/testData/codegen/box/classes/delegationJava.kt b/compiler/testData/codegen/box/classes/delegationJava.kt index dca3477ca7f..10f75e260bd 100644 --- a/compiler/testData/codegen/box/classes/delegationJava.kt +++ b/compiler/testData/codegen/box/classes/delegationJava.kt @@ -1,5 +1,5 @@ // Enable for JS when it supports Java class library. -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class TestJava(r : Runnable) : Runnable by r {} class TestRunnable() : Runnable { diff --git a/compiler/testData/codegen/box/classes/kt1120.kt b/compiler/testData/codegen/box/classes/kt1120.kt index 364def02f1b..43b08faa8b8 100644 --- a/compiler/testData/codegen/box/classes/kt1120.kt +++ b/compiler/testData/codegen/box/classes/kt1120.kt @@ -1,6 +1,6 @@ // Won't ever work with JS backend. // TODO: Consider rewriting this test without using threads, since the issue is not about threads at all. -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS object RefreshQueue { val any = Any() diff --git a/compiler/testData/codegen/box/classes/kt1134.kt b/compiler/testData/codegen/box/classes/kt1134.kt index 9022b6c5a8e..e6028e21e95 100644 --- a/compiler/testData/codegen/box/classes/kt1134.kt +++ b/compiler/testData/codegen/box/classes/kt1134.kt @@ -1,5 +1,5 @@ // TODO: Enable when JS backend supports Java class library -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS public class SomeClass() : java.lang.Object() { } diff --git a/compiler/testData/codegen/box/classes/kt1535.kt b/compiler/testData/codegen/box/classes/kt1535.kt index 1e4c47b0e56..f1efa2d6b2c 100644 --- a/compiler/testData/codegen/box/classes/kt1535.kt +++ b/compiler/testData/codegen/box/classes/kt1535.kt @@ -1,5 +1,5 @@ // TODO: Enable when JS backend supports Java class library, since FunctionX are required for interoperation -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class Works() : Function0 { public override fun invoke():Any { return "Works" as Any diff --git a/compiler/testData/codegen/box/classes/kt2288.kt b/compiler/testData/codegen/box/classes/kt2288.kt index 7ec131fb835..68886dd5532 100644 --- a/compiler/testData/codegen/box/classes/kt2288.kt +++ b/compiler/testData/codegen/box/classes/kt2288.kt @@ -1,5 +1,5 @@ // TODO: Enable when JS backend supports Java class library -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS public open class Test(): java.util.RandomAccess, Cloneable, java.io.Serializable { public override fun clone(): Test = Test() // Override 'clone()' with more precise type 'Test' diff --git a/compiler/testData/codegen/box/classes/kt2395.kt b/compiler/testData/codegen/box/classes/kt2395.kt index 401f2d939b0..fcbb440a840 100644 --- a/compiler/testData/codegen/box/classes/kt2395.kt +++ b/compiler/testData/codegen/box/classes/kt2395.kt @@ -1,5 +1,5 @@ // TODO: Enable when JS backend supports Java class library -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS import java.util.AbstractList class MyList(): AbstractList() { diff --git a/compiler/testData/codegen/box/classes/kt508.kt b/compiler/testData/codegen/box/classes/kt508.kt index dff70796810..533c25bdd17 100644 --- a/compiler/testData/codegen/box/classes/kt508.kt +++ b/compiler/testData/codegen/box/classes/kt508.kt @@ -1,5 +1,5 @@ // TODO: Enable for JS when it supports Java class library. -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS import java.util.HashMap import java.io.* diff --git a/compiler/testData/codegen/box/classes/kt707.kt b/compiler/testData/codegen/box/classes/kt707.kt index c398b86fcf6..8accf81be9a 100644 --- a/compiler/testData/codegen/box/classes/kt707.kt +++ b/compiler/testData/codegen/box/classes/kt707.kt @@ -1,5 +1,5 @@ // TODO: Enable for JS when it supports Java class library. -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class List(val head: T, val tail: List? = null) fun List.mapHead(f: (T)-> T): List = List(f(head), null) diff --git a/compiler/testData/codegen/box/functions/dataLocalVariable.kt b/compiler/testData/codegen/box/functions/dataLocalVariable.kt index b5ebe37c1a7..5fc534c6a91 100644 --- a/compiler/testData/codegen/box/functions/dataLocalVariable.kt +++ b/compiler/testData/codegen/box/functions/dataLocalVariable.kt @@ -1,5 +1,5 @@ -// TODO: Enable when JS backed gets support of Java class library -// TARGET_BACKEND: JVM +// TODO: Enable when JS backend gets support of Java class library +// IGNORE_BACKEND: JS fun ok(b: Boolean) = if (b) "OK" else "Fail" fun box(): String { diff --git a/compiler/testData/codegen/box/localClasses/ownClosureOfInnerLocalClass.kt b/compiler/testData/codegen/box/localClasses/ownClosureOfInnerLocalClass.kt index 5b004242049..0980e7df7fa 100644 --- a/compiler/testData/codegen/box/localClasses/ownClosureOfInnerLocalClass.kt +++ b/compiler/testData/codegen/box/localClasses/ownClosureOfInnerLocalClass.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS // Enable when KT-12566 gets fixed fun box(): String { diff --git a/compiler/testData/codegen/box/multiDecl/VarCapturedInFunctionLiteral.kt b/compiler/testData/codegen/box/multiDecl/VarCapturedInFunctionLiteral.kt index 74b5e5773f8..2dd98691b63 100644 --- a/compiler/testData/codegen/box/multiDecl/VarCapturedInFunctionLiteral.kt +++ b/compiler/testData/codegen/box/multiDecl/VarCapturedInFunctionLiteral.kt @@ -1,5 +1,5 @@ // TODO: enable JS backend when issue KT-14535 is fixed -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class A { operator fun component1() = 1 operator fun component2() = 2 diff --git a/compiler/testData/codegen/box/multiDecl/VarCapturedInLocalFunction.kt b/compiler/testData/codegen/box/multiDecl/VarCapturedInLocalFunction.kt index 7116e806bfb..d5008d7606d 100644 --- a/compiler/testData/codegen/box/multiDecl/VarCapturedInLocalFunction.kt +++ b/compiler/testData/codegen/box/multiDecl/VarCapturedInLocalFunction.kt @@ -1,5 +1,5 @@ // TODO: enable JS backend when issue KT-14535 is fixed -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class A { } diff --git a/compiler/testData/codegen/box/multiDecl/VarCapturedInObjectLiteral.kt b/compiler/testData/codegen/box/multiDecl/VarCapturedInObjectLiteral.kt index dbb3b2c2e01..b5cddcdd279 100644 --- a/compiler/testData/codegen/box/multiDecl/VarCapturedInObjectLiteral.kt +++ b/compiler/testData/codegen/box/multiDecl/VarCapturedInObjectLiteral.kt @@ -1,5 +1,5 @@ // TODO: enable JS backend when issue KT-14535 is fixed -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS class A { operator fun component1() = 1 operator fun component2() = 2 diff --git a/compiler/testData/codegen/box/secondaryConstructors/withNonLocalReturn.kt b/compiler/testData/codegen/box/secondaryConstructors/withNonLocalReturn.kt index 6e1954f99c6..dca75a5c661 100644 --- a/compiler/testData/codegen/box/secondaryConstructors/withNonLocalReturn.kt +++ b/compiler/testData/codegen/box/secondaryConstructors/withNonLocalReturn.kt @@ -1,5 +1,5 @@ // TODO enable for JS backend too when KT-7819 will be fixed -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS inline fun run(block: () -> Unit) = block() diff --git a/idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/directives.txt b/idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/directives.txt deleted file mode 100644 index f7d114ce2eb..00000000000 --- a/idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/directives.txt +++ /dev/null @@ -1,4 +0,0 @@ -// TODO Remove this restriction when nested classes will be supported in js backend. -// See KT-1907 Support nested classes in js-backend -// https://youtrack.jetbrains.com/issue/KT-1907 -// TARGET_BACKEND: JVM diff --git a/idea/testData/decompiler/decompiledText/InnerClasses/directives.txt b/idea/testData/decompiler/decompiledText/InnerClasses/directives.txt deleted file mode 100644 index f7d114ce2eb..00000000000 --- a/idea/testData/decompiler/decompiledText/InnerClasses/directives.txt +++ /dev/null @@ -1,4 +0,0 @@ -// TODO Remove this restriction when nested classes will be supported in js backend. -// See KT-1907 Support nested classes in js-backend -// https://youtrack.jetbrains.com/issue/KT-1907 -// TARGET_BACKEND: JVM diff --git a/idea/testData/decompiler/decompiledText/LocalClassAsTypeWithArgument/directives.txt b/idea/testData/decompiler/decompiledText/LocalClassAsTypeWithArgument/directives.txt index 9a460ecb7a0..001ce78902f 100644 --- a/idea/testData/decompiler/decompiledText/LocalClassAsTypeWithArgument/directives.txt +++ b/idea/testData/decompiler/decompiledText/LocalClassAsTypeWithArgument/directives.txt @@ -1,2 +1,2 @@ // See KT-13691 -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS diff --git a/idea/testData/decompiler/decompiledText/NestedClasses/directives.txt b/idea/testData/decompiler/decompiledText/NestedClasses/directives.txt deleted file mode 100644 index f7d114ce2eb..00000000000 --- a/idea/testData/decompiler/decompiledText/NestedClasses/directives.txt +++ /dev/null @@ -1,4 +0,0 @@ -// TODO Remove this restriction when nested classes will be supported in js backend. -// See KT-1907 Support nested classes in js-backend -// https://youtrack.jetbrains.com/issue/KT-1907 -// TARGET_BACKEND: JVM diff --git a/idea/testData/decompiler/decompiledText/SecondaryConstructors/directives.txt b/idea/testData/decompiler/decompiledText/SecondaryConstructors/directives.txt index bde4a2c8277..86f1d1a5aae 100644 --- a/idea/testData/decompiler/decompiledText/SecondaryConstructors/directives.txt +++ b/idea/testData/decompiler/decompiledText/SecondaryConstructors/directives.txt @@ -1,4 +1,4 @@ // TODO Remove this restriction when secondary constructors will be supported in js backend. // See KT-7798 JS: add support for secondary constructors // https://youtrack.jetbrains.com/issue/KT-7798 -// TARGET_BACKEND: JVM +// IGNORE_BACKEND: JS diff --git a/idea/testData/decompiler/decompiledText/TypeAliases/directives.txt b/idea/testData/decompiler/decompiledText/TypeAliases/directives.txt deleted file mode 100644 index 7beb2941e0c..00000000000 --- a/idea/testData/decompiler/decompiledText/TypeAliases/directives.txt +++ /dev/null @@ -1 +0,0 @@ -// TARGET_BACKEND: JVM diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/CommonDecompiledTextFromJsMetadataTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/CommonDecompiledTextFromJsMetadataTestGenerated.java index 1bbbcf23b13..6d7b2bacd1a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/CommonDecompiledTextFromJsMetadataTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/CommonDecompiledTextFromJsMetadataTestGenerated.java @@ -31,48 +31,24 @@ import java.util.regex.Pattern; @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public class CommonDecompiledTextFromJsMetadataTestGenerated extends AbstractCommonDecompiledTextFromJsMetadataTest { - @TestMetadata("DependencyOnNestedClasses") - public void ignoredDependencyOnNestedClasses() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/"); - doTest(fileName); - } - @TestMetadata("FlexibleTypes") public void ignoredFlexibleTypes() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/FlexibleTypes/"); doTest(fileName); } - @TestMetadata("InnerClasses") - public void ignoredInnerClasses() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/InnerClasses/"); - doTest(fileName); - } - @TestMetadata("LocalClassAsTypeWithArgument") public void ignoredLocalClassAsTypeWithArgument() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/LocalClassAsTypeWithArgument/"); doTest(fileName); } - @TestMetadata("NestedClasses") - public void ignoredNestedClasses() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/NestedClasses/"); - doTest(fileName); - } - @TestMetadata("SecondaryConstructors") public void ignoredSecondaryConstructors() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/SecondaryConstructors/"); doTest(fileName); } - @TestMetadata("TypeAliases") - public void ignoredTypeAliases() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/TypeAliases/"); - doTest(fileName); - } - public void testAllFilesPresentInDecompiledText() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/decompiler/decompiledText"), Pattern.compile("^([^\\.]+)$"), true); } @@ -113,6 +89,12 @@ public class CommonDecompiledTextFromJsMetadataTestGenerated extends AbstractCom doTest(fileName); } + @TestMetadata("DependencyOnNestedClasses") + public void testDependencyOnNestedClasses() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/DependencyOnNestedClasses/"); + doTest(fileName); + } + @TestMetadata("Enum") public void testEnum() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/Enum/"); @@ -137,12 +119,24 @@ public class CommonDecompiledTextFromJsMetadataTestGenerated extends AbstractCom doTest(fileName); } + @TestMetadata("InnerClasses") + public void testInnerClasses() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/InnerClasses/"); + doTest(fileName); + } + @TestMetadata("Modifiers") public void testModifiers() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/Modifiers/"); doTest(fileName); } + @TestMetadata("NestedClasses") + public void testNestedClasses() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/NestedClasses/"); + doTest(fileName); + } + @TestMetadata("Object") public void testObject() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/Object/"); @@ -155,4 +149,10 @@ public class CommonDecompiledTextFromJsMetadataTestGenerated extends AbstractCom doTest(fileName); } + @TestMetadata("TypeAliases") + public void testTypeAliases() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/decompiler/decompiledText/TypeAliases/"); + doTest(fileName); + } + }