From a8af3dc3c933e9a6772b729c6d47720fff52702a Mon Sep 17 00:00:00 2001 From: "anastasiia.spaseeva" Date: Mon, 23 Dec 2019 15:18:47 +0300 Subject: [PATCH] [Spec tests] Add tests for prefix-decrement-expression --- .../p-1/pos/1.1.kt | 30 ++++ .../p-1/pos/1.2.kt | 31 ++++ .../p-4/pos/1.1.kt | 34 ++++ .../p-4/pos/1.2.kt | 35 ++++ .../p-5/pos/1.1.kt | 40 +++++ .../p-6/pos/1.1.kt | 31 ++++ .../p-6/pos/1.2.kt | 34 ++++ .../prefix-decrement-expression/testsMap.json | 96 ++++++++++ .../statements/assignments/testsMap.json | 14 ++ .../p-4/neg/1.1.kt | 44 +++++ .../p-5/neg/2.1.kt | 47 +++++ .../prefix-decrement-expression/testsMap.json | 26 +++ .../p-5/neg/2.1.kt | 8 +- .../statements/assignments/testsMap.json | 7 + .../DiagnosticsTestSpecGenerated.java | 75 ++++++++ .../BlackBoxCodegenTestSpecGenerated.java | 164 +++++++++++++++++- 16 files changed, 706 insertions(+), 10 deletions(-) create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos/1.1.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt create mode 100644 compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json create mode 100644 compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt create mode 100644 compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg/2.1.kt create mode 100644 compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt new file mode 100644 index 00000000000..0ed4045806f --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt @@ -0,0 +1,30 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 1 -> sentence 1 + * RELEVANT PLACES: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 1 + * overloadable-operators -> paragraph 4 -> sentence 1 + * statements, assignments -> paragraph 3 -> sentence 1 + * NUMBER: 1 + * DESCRIPTION: A prefix decrement expression is an expression which uses the prefix form of operator -- + */ + +fun box(): String { + var a = A() + val res: A = --a + return if (a.i == -1) "OK" + else "NOK" +} + +class A() { + var i = 0 + + operator fun dec(): A { + this.i-- + return this + } + +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt new file mode 100644 index 00000000000..af87ba8429c --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt @@ -0,0 +1,31 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 1 -> sentence 1 + * RELEVANT PLACES: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 1 + * overloadable-operators -> paragraph 4 -> sentence 1 + * statements, assignments -> paragraph 3 -> sentence 1 + * NUMBER: 2 + * DESCRIPTION: + */ + + +fun box(): String { + var a = A() + val res = (--a).i + return if (res == -1 && a.i == -1) + "OK" + else "NOK" +} + +open class A() { + var i = 0 + + open operator fun dec(): A { + this.i-- + return this + } +} diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt new file mode 100644 index 00000000000..ff4a995c5ca --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt @@ -0,0 +1,34 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 4 -> sentence 1 + * RELEVANT PLACES: statements, assignments -> paragraph 3 -> sentence 3 + * NUMBER: 1 + * DESCRIPTION: check for a prefix increment expression --A expression A must be an assignable expression (an indexing expression) + */ + + +fun box(): String { + val arr = arrayOf(A(), A(), A()) + + val a = --arr[0] + val b = (--arr[2]).i + + return if (arr[0].i == -1 && a.i == -1 && arr[1].i == 0 && arr[2].i == -1 && b == -1) + "OK" + else "NOK" +} + + +class A() { + var i = 0 + + operator fun dec(): A { + this.i-- + return this + } + +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt new file mode 100644 index 00000000000..d4351714021 --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt @@ -0,0 +1,35 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 4 -> sentence 1 + * RELEVANT PLACES: statements, assignments -> paragraph 3 -> sentence 2 + * NUMBER: 2 + * DESCRIPTION: check for a prefix decrement expression --A expression A must be an assignable expression (a navigation expression referring to a mutable property) + */ + + +fun box(): String { + var b = B() + --b.a + return if (b.a.i == -1) + "OK" + else "NOK" +} + + +class A() { + var i = 0 + + operator fun dec(): A { + this.i-- + return this + } + +} + +class B() { + var a: A = A() +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos/1.1.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos/1.1.kt new file mode 100644 index 00000000000..4c541e8b0bb --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos/1.1.kt @@ -0,0 +1,40 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 1 + * NUMBER: 1 + * DESCRIPTION: check the result of dec() is assigned to A, the return type of inc must be a subtype of A. + */ + + +fun box(): String { + var res = BDecrement(1) + val res1: Any = --res + + return if (res1 is BDecrement && res.i == -1 && res.j == 0 && res1.i == -1 && res1.j == 0) { + val res2: Any? = --res + if (res2 is BDecrement && res.i == -2 && res.j == -1 && res2.i == -2 && res2.j == -1) + "OK" + else "NOK" + } else + "NOK" +} + +data class BDecrement(var j: Int) : ADecrement() { + override operator fun dec(): BDecrement { + super.dec() + this.j -= 1 + return this + } +} + +open class ADecrement() { + var i = 0 + open operator fun dec(): ADecrement { + this.i -= 1 + return this + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt new file mode 100644 index 00000000000..72dd7f595cb --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt @@ -0,0 +1,31 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 6 -> sentence 1 + * RELEVANT PLACES: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 1 + * overloadable-operators -> paragraph 4 -> sentence 1 + * statements, assignments -> paragraph 3 -> sentence 1 + * NUMBER: 1 + * DESCRIPTION: + */ + +fun box(): String { + var a = A() + val res: Any? = --a + + return if (res is A) "OK" + else "NOK" +} + +class A() { + var i = 0 + + operator fun dec(): A { + this.i-- + return this + } + +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt new file mode 100644 index 00000000000..356c49e0338 --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt @@ -0,0 +1,34 @@ +// WITH_RUNTIME + +/* + * KOTLIN CODEGEN BOX SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 6 -> sentence 1 + * RELEVANT PLACES: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 1 + * overloadable-operators -> paragraph 4 -> sentence 1 + * NUMBER: 2 + * DESCRIPTION: + */ + + +fun box(): String { + var a = A() + val res: Any? = --a + return if (res is B) "OK" + else "NOK" +} + +open class A() { + var i = 0 + + open operator fun dec(): B { + var b = B() + b.i = this.i + b.i-- + return b + } + +} + +class B() : A() {} diff --git a/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json new file mode 100644 index 00000000000..20229892aaf --- /dev/null +++ b/compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json @@ -0,0 +1,96 @@ +{ + "6": { + "pos": { + "1": [ + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "unexpectedBehaviour": false + } + ] + } + }, + "5": { + "pos": { + "1": [ + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "A prefix decrement expression is an expression which uses the prefix form of operator --", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "check the result of dec() is assigned to A, the return type of inc must be a subtype of A.", + "unexpectedBehaviour": false + } + ] + } + }, + "1": { + "pos": { + "1": [ + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "A prefix decrement expression is an expression which uses the prefix form of operator --", + "unexpectedBehaviour": false + } + ] + } + }, + "4": { + "pos": { + "1": [ + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "check for a prefix decrement expression --A expression A must be an assignable expression (a navigation expression referring to a mutable property)", + "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "check for a prefix increment expression --A expression A must be an assignable expression (an indexing expression)", + "unexpectedBehaviour": false + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/codegen/box/linked/statements/assignments/testsMap.json b/compiler/tests-spec/testData/codegen/box/linked/statements/assignments/testsMap.json index 831ba9fab31..ea1265635df 100644 --- a/compiler/tests-spec/testData/codegen/box/linked/statements/assignments/testsMap.json +++ b/compiler/tests-spec/testData/codegen/box/linked/statements/assignments/testsMap.json @@ -8,6 +8,13 @@ "description": "check for a prefix increment expression ++A expression A must be an assignable expression (a navigation expression referring to a mutable property)", "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-4/pos/1.2.kt", "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "check for a prefix decrement expression --A expression A must be an assignable expression (a navigation expression referring to a mutable property)", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt", + "unexpectedBehaviour": false } ], "3": [ @@ -17,6 +24,13 @@ "description": "check for a prefix increment expression ++A expression A must be an assignable expression (an indexing expression)", "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-4/pos/1.1.kt", "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 0, + "description": "check for a prefix increment expression --A expression A must be an assignable expression (an indexing expression)", + "path": "compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt", + "unexpectedBehaviour": false } ] } diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt new file mode 100644 index 00000000000..836bb760a9c --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt @@ -0,0 +1,44 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 4 -> sentence 1 + * RELEVANT PLACES: statements, assignments -> paragraph 3 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: check unsafe prefix decrement expression call for an assignable expression + */ +class A() { + var i = 0 + + operator fun dec(): A { + this.i-- + return this + } +} + +// TESTCASE NUMBER: 1 + +fun case1() { + var b: Case1? = Case1() + --b?.a +} + + +class Case1() { + var a: A = A() +} + +// TESTCASE NUMBER: 2 + +fun case2() { + var b= Case2() + --b.a +} + +class Case2() { + val a = A() +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg/2.1.kt new file mode 100644 index 00000000000..7cd95714259 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg/2.1.kt @@ -0,0 +1,47 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-213 + * PLACE: expressions, prefix-expressions, prefix-decrement-expression -> paragraph 5 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: check as the result of dec is assigned to A, the return type of inc must be a subtype of A. + */ + +// TESTCASE NUMBER: 1 + +fun case1() { + var a = Case1() + val res: Any? = ++a +} + + +class Case1() { + + operator fun inc(): B { + TODO() + } +} + +class B() {} + +// TESTCASE NUMBER: 2 + +fun case2() { + var a = Case2() + val res: Any? = ++a +} + +class Case2() : C() { + var i = 0 + + operator fun inc(): C { + TODO() + } + +} + +open class C() {} diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json new file mode 100644 index 00000000000..514ccb8b268 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/testsMap.json @@ -0,0 +1,26 @@ +{ + "4": { + "neg": { + "1": [ + { + "specVersion": "0.1-213", + "casesNumber": 2, + "description": "check unsafe prefix decrement expression call for an assignable expression", + "unexpectedBehaviour": false + } + ] + } + }, + "5": { + "neg": { + "2": [ + { + "specVersion": "0.1-213", + "casesNumber": 2, + "description": "check as the result of dec is assigned to A, the return type of inc must be a subtype of A.", + "unexpectedBehaviour": false + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression/p-5/neg/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression/p-5/neg/2.1.kt index 9d028b6ce2d..fc4c87f9110 100644 --- a/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression/p-5/neg/2.1.kt +++ b/compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression/p-5/neg/2.1.kt @@ -15,13 +15,13 @@ fun case1() { var a = Case1() - val res: Any? = ++a + val res: Any? = --a } class Case1() { - operator fun inc(): B { + operator fun dec(): B { TODO() } } @@ -32,13 +32,13 @@ class B() {} fun case2() { var a = Case2() - val res: Any? = ++a + val res: Any? = --a } class Case2() : C() { var i = 0 - operator fun inc(): C { + operator fun dec(): C { TODO() } diff --git a/compiler/tests-spec/testData/diagnostics/linked/statements/assignments/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/statements/assignments/testsMap.json index e01f847a83c..ab43402c363 100644 --- a/compiler/tests-spec/testData/diagnostics/linked/statements/assignments/testsMap.json +++ b/compiler/tests-spec/testData/diagnostics/linked/statements/assignments/testsMap.json @@ -8,6 +8,13 @@ "description": "check unsafe prefix increment expression call for an assignable expression", "path": "compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression/p-4/neg/1.1.kt", "unexpectedBehaviour": false + }, + { + "specVersion": "0.1-213", + "casesNumber": 2, + "description": "check unsafe prefix decrement expression call for an assignable expression", + "path": "compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt", + "unexpectedBehaviour": false } ] } diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java index 75ce7c48176..ab6ac178575 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/DiagnosticsTestSpecGenerated.java @@ -2004,6 +2004,81 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Prefix_decrement_expression extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInPrefix_decrement_expression() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_4 extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_4() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Neg extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg/1.1.kt"); + } + + public void testAllFilesPresentInNeg() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/neg"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_5 extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_5() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Neg extends AbstractDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg/2.1.kt"); + } + + public void testAllFilesPresentInNeg() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/neg"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } + } + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/expressions/prefix-expressions/prefix-increment-expression") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/codegen/BlackBoxCodegenTestSpecGenerated.java b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/codegen/BlackBoxCodegenTestSpecGenerated.java index a0b05ec0d22..fdb61d67d7c 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/codegen/BlackBoxCodegenTestSpecGenerated.java +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/codegen/BlackBoxCodegenTestSpecGenerated.java @@ -25,7 +25,7 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInBox() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box"), Pattern.compile("^(.+)\\.kt$"), true, "helpers", "templates", "linked/declarations", "linked/statements", "linked/expressions/equality-expressions/reference-equality-expressions/p-1/neg", "linked/expressions/built-in-types-and-their-semantics/kotlin.unit/p-1/neg", "linked/expressions/prefix-expressions/prefix-increment-expression/p-1/neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box"), Pattern.compile("^(.+)\\.kt$"), true, "helpers", "templates", "linked/declarations", "linked/statements", "linked/expressions/equality-expressions/reference-equality-expressions/p-1/neg", "linked/expressions/built-in-types-and-their-semantics/kotlin.unit/p-1/neg"); } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked") @@ -37,7 +37,7 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInLinked() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked"), Pattern.compile("^(.+)\\.kt$"), true, "declarations", "statements", "expressions/equality-expressions/reference-equality-expressions/p-1/neg", "expressions/built-in-types-and-their-semantics/kotlin.unit/p-1/neg", "expressions/prefix-expressions/prefix-increment-expression/p-1/neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked"), Pattern.compile("^(.+)\\.kt$"), true, "declarations", "statements", "expressions/equality-expressions/reference-equality-expressions/p-1/neg", "expressions/built-in-types-and-their-semantics/kotlin.unit/p-1/neg"); } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions") @@ -49,7 +49,7 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInExpressions() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions"), Pattern.compile("^(.+)\\.kt$"), true, "equality-expressions/reference-equality-expressions/p-1/neg", "built-in-types-and-their-semantics/kotlin.unit/p-1/neg", "prefix-expressions/prefix-increment-expression/p-1/neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions"), Pattern.compile("^(.+)\\.kt$"), true, "equality-expressions/reference-equality-expressions/p-1/neg", "built-in-types-and-their-semantics/kotlin.unit/p-1/neg"); } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/additive-expression") @@ -1490,7 +1490,159 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInPrefix_expressions() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions"), Pattern.compile("^(.+)\\.kt$"), true, "prefix-increment-expression/p-1/neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Prefix_decrement_expression extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInPrefix_decrement_expression() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_1 extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_1() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos/1.2.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-1/pos"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_4 extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_4() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos/1.2.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_5 extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_5() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos/1.1.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-5/pos"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_6 extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_6() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractBlackBoxCodegenTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + @TestMetadata("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos/1.2.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-decrement-expression/p-6/pos"), Pattern.compile("^(.+)\\.kt$"), true); + } + } + } } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression") @@ -1502,7 +1654,7 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInPrefix_increment_expression() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression"), Pattern.compile("^(.+)\\.kt$"), true, "p-1/neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression"), Pattern.compile("^(.+)\\.kt$"), true); } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-1") @@ -1514,7 +1666,7 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes } public void testAllFilesPresentInP_1() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-1"), Pattern.compile("^(.+)\\.kt$"), true, "neg"); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-1"), Pattern.compile("^(.+)\\.kt$"), true); } @TestMetadata("compiler/tests-spec/testData/codegen/box/linked/expressions/prefix-expressions/prefix-increment-expression/p-1/pos")