diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.fir.kt new file mode 100644 index 00000000000..3485fbde8da --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.fir.kt @@ -0,0 +1,13 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class C1(x1: Boolean, val x2: Boolean, var x3: Boolean) + +// TESTCASE NUMBER: 2 +class C2(x1: Boolean, var x2: Boolean, vararg var x3: Boolean) + +// TESTCASE NUMBER: 3 +class C3(x1: Boolean, vararg val x2: Boolean, var x3: Boolean) diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt new file mode 100644 index 00000000000..20ac31ce8bc --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt @@ -0,0 +1,24 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * NUMBER: 1 + * DESCRIPTION: primary constructor with regular, read-only and mutable parameters at once + */ + +// TESTCASE NUMBER: 1 +class C1(x1: Boolean, val x2: Boolean, var x3: Boolean) + +// TESTCASE NUMBER: 2 +class C2(x1: Boolean, var x2: Boolean, vararg var x3: Boolean) + +// TESTCASE NUMBER: 3 +class C3(x1: Boolean, vararg val x2: Boolean, var x3: Boolean) diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.fir.kt new file mode 100644 index 00000000000..a6887ad20ee --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.fir.kt @@ -0,0 +1,28 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1() { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + data class A(t: T) + data class B(x: List) + data class C(c: () -> T) + data class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 3 +class Case3() { + enum class A(t: T) + enum class B(x: List) + enum class C(c: () -> T) + enum class E(n: Nothing, t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt new file mode 100644 index 00000000000..c5e5c24c1f2 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt @@ -0,0 +1,42 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * type-system, type-contexts-and-scopes, inner-and-nested-type-contexts -> paragraph 1 -> sentence 2 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: Primary constructor for nested class with regular constructor parameter + */ + +// TESTCASE NUMBER: 1 +class Case1() { + class A(t: T) + class B(x: List<T>) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + data class A(t: T) + data class B(x: List<T>) + data class C(c: () -> T) + data class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 3 +class Case3() { + enum class A(t: T) + enum class B(x: List<T>) + enum class C(c: () -> T) + enum class E(n: Nothing, t: T) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.fir.kt new file mode 100644 index 00000000000..716a60ad276 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.fir.kt @@ -0,0 +1,21 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +data class A(x: Any?) +data class B(x: Any) +data class C(c: () -> Any) +data class D(e: Enum<*>) +data class E(n: Nothing) +data class F(t: T) + + +// TESTCASE NUMBER: 2 +class Case2() { + data class A(t: T) + data class B(x: List) + data class C(c: () -> T) + data class E(n: Nothing, t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt new file mode 100644 index 00000000000..72c02b44358 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt @@ -0,0 +1,35 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * type-system, type-contexts-and-scopes, inner-and-nested-type-contexts -> paragraph 1 -> sentence 2 + * declarations, classifier-declaration, data-class-declaration -> paragraph 1 -> sentence 2 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * NUMBER: 2 + * DESCRIPTION: Primary constructor for nested class with regular constructor parameter + */ + +// TESTCASE NUMBER: 1 +data class A(x: Any?) +data class B(x: Any) +data class C(c: () -> Any) +data class D(e: Enum<*>) +data class E(n: Nothing) +data class F(t: T) + + +// TESTCASE NUMBER: 2 +class Case2() { + data class A(t: T) + data class B(x: List<T>) + data class C(c: () -> T) + data class E(n: Nothing, t: T) +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.fir.kt new file mode 100644 index 00000000000..6185e43e43c --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.fir.kt @@ -0,0 +1,12 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1() { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing, val t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt new file mode 100644 index 00000000000..2550c6bcd1b --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt @@ -0,0 +1,25 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * type-system, type-contexts-and-scopes, inner-and-nested-type-contexts -> paragraph 1 -> sentence 2 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: Primary constructor for nested class with mutable property constructor parameter + */ + +// TESTCASE NUMBER: 1 +class Case1() { + class A(val t: T) + class B(val x: List<T>) + class C(val c: () -> T) + class E(val n: Nothing, val t: T) +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.fir.kt new file mode 100644 index 00000000000..aeaa76c92d4 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.fir.kt @@ -0,0 +1,12 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1() { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing, var t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt new file mode 100644 index 00000000000..7527cf009ad --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt @@ -0,0 +1,25 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * type-system, type-contexts-and-scopes, inner-and-nested-type-contexts -> paragraph 1 -> sentence 2 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * NUMBER: 1 + * DESCRIPTION: Primary constructor for nested class with mutable property constructor parameter + */ + +// TESTCASE NUMBER: 1 +class Case1() { + class A(var t: T) + class B(var x: List<T>) + class C(var c: () -> T) + class E(var n: Nothing, var t: T) +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.fir.kt new file mode 100644 index 00000000000..aab5a27ca4a --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.fir.kt @@ -0,0 +1,47 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class A(x: Any?){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 2 +class B(x: Any){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 3 +class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + ")!>x + } +} +// TESTCASE NUMBER: 4 +class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } +} +// TESTCASE NUMBER: 5 +class E(x: Nothing){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 6 +class F(x: T){ + init { + x checkType { check() } + x + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt new file mode 100644 index 00000000000..acfc5d704df --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt @@ -0,0 +1,64 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 1 + * DESCRIPTION: top level declaration primary constructor with regular constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class A(x: Any?){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 2 +class B(x: Any){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 3 +class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + kotlin.Any")!>x + } +} +// TESTCASE NUMBER: 4 +class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } +} +// TESTCASE NUMBER: 5 +class E(x: Nothing){ + init { + x checkType { check() } + x + } +} +// TESTCASE NUMBER: 6 +class F(x: T){ + init { + x checkType { check() } + x + } +} + + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.fir.kt new file mode 100644 index 00000000000..fa35042556e --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.fir.kt @@ -0,0 +1,78 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + class A(x: Any?){ + init { + x checkType { check() } + x + } + } + class B(x: Any){ + init { + x checkType { check() } + x + } + } + class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + ")!>x + } + } + class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } + } + class E(x: Nothing){ + init { + x checkType { check() } + x + } + } + class F(x: T){ + init { + x checkType { check() } + x + } + } +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(x: T){ + init { + x checkType { check() } + x + } + } + class B>(x: T){ + init { + x checkType { check() } + x + } + } + class C(x: T){ + init { + x checkType { check() } + x + } + } + class D>(x: T){ + init { + x checkType { check() } + x + } + } + class F(x: T){ + init { + x checkType { check() } + x + } + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt new file mode 100644 index 00000000000..1ff962ccdd8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt @@ -0,0 +1,94 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 2 + * DESCRIPTION: Primary constructor for nested class with regular constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class Case1 { + class A(x: Any?){ + init { + x checkType { check() } + x + } + } + class B(x: Any){ + init { + x checkType { check() } + x + } + } + class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + kotlin.Any")!>x + } + } + class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } + } + class E(x: Nothing){ + init { + x checkType { check() } + x + } + } + class F(x: T){ + init { + x checkType { check() } + x + } + } +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(x: T){ + init { + x checkType { check() } + x + } + } + class B>(x: T){ + init { + x checkType { check() } + x + } + } + class C(x: T){ + init { + x checkType { check() } + x + } + } + class D>(x: T){ + init { + x checkType { check() } + x + } + } + class F(x: T){ + init { + x checkType { check() } + x + } + } +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.fir.kt new file mode 100644 index 00000000000..59f6c470b7c --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.fir.kt @@ -0,0 +1,100 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(x: Any?){ + init { + x checkType { check() } + x + } + } + + inner class B(x: Any){ + init { + x checkType { check() } + x + } + } + + inner class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + ")!>x + } + } + + inner class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } + } + + inner class E(x: Nothing){ + init { + x checkType { check() } + x + } + } + + inner class F(x: T){ + init { + x checkType { check() } + x + } + } +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(x: Any?, t: T){ + init { + t checkType { check() } + t + + x checkType { check() } + x + } + } + + inner class B(x: T){ + init { + x checkType { check() } + x + } + } + + inner class C(x: () -> T){ + init { + x checkType { check<() -> T>() } + ")!>x + } + } + + inner class D>(x: T){ + init { + x checkType { check() } + x + } + } + + inner class E(n: Nothing, x: T){ + init { + x checkType { check() } + x + + n checkType { check() } + n + } + } + + inner class F(x: T){ + init { + x checkType { check() } + x + } + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt new file mode 100644 index 00000000000..eb1e6d638ed --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt @@ -0,0 +1,116 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 3 + * DESCRIPTION: Primary constructor for inner class with regular constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(x: Any?){ + init { + x checkType { check() } + x + } + } + + inner class B(x: Any){ + init { + x checkType { check() } + x + } + } + + inner class C(x: () -> Any){ + init { + x checkType { check<()->Any>() } + kotlin.Any")!>x + } + } + + inner class D(x: Enum<*>){ + init { + x checkType { check>() } + ")!>x + } + } + + inner class E(x: Nothing){ + init { + x checkType { check() } + x + } + } + + inner class F(x: T){ + init { + x checkType { check() } + x + } + } +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(x: Any?, t: T){ + init { + t checkType { check() } + t + + x checkType { check() } + x + } + } + + inner class B(x: T){ + init { + x checkType { check() } + x + } + } + + inner class C(x: () -> T){ + init { + x checkType { check<() -> T>() } + T")!>x + } + } + + inner class D>(x: T){ + init { + x checkType { check() } + x + } + } + + inner class E(n: Nothing, x: T){ + init { + x checkType { check() } + x + + n checkType { check() } + n + } + } + + inner class F(x: T){ + init { + x checkType { check() } + x + } + } +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.fir.kt new file mode 100644 index 00000000000..8fd5ff80285 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.fir.kt @@ -0,0 +1,39 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(t: T) + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + } + set(i: Unit) { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + } diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt new file mode 100644 index 00000000000..c19988f35af --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt @@ -0,0 +1,54 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, nested-and-inner-classifiers -> paragraph 1 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 4 + * DESCRIPTION: Primary constructor for nested class with regular constructor parameter + */ + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(t: T) + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + } + set(i: Unit) { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + } + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.fir.kt new file mode 100644 index 00000000000..8fd5ff80285 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.fir.kt @@ -0,0 +1,39 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(t: T) + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + } + set(i: Unit) { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + } diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt new file mode 100644 index 00000000000..75d1cee1021 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt @@ -0,0 +1,54 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 1 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, nested-and-inner-classifiers -> paragraph 1 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 5 + * DESCRIPTION: Primary constructor for nested class with regular constructor parameter + */ + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(t: T) + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + 1 + } + set(i: Unit) { + class A(t: T) + class B(x: List) + class C(c: () -> T) + class E(n: Nothing, t: T) + } + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.fir.kt new file mode 100644 index 00000000000..b0bfe1d0eb7 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.fir.kt @@ -0,0 +1,77 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + ")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + ")!>x + } +} + +class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } +} + +class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt new file mode 100644 index 00000000000..3ddd15c7745 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt @@ -0,0 +1,94 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 1 + * DESCRIPTION: top level declaration primary constructor with read-only property constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } +} + +class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } +} + +class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.fir.kt new file mode 100644 index 00000000000..63e35715fc7 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.fir.kt @@ -0,0 +1,89 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + ")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + ")!>x + } + } + + class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } + } + + class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(val e: T) + class B>(val e: T) + class C(val e: T) + class D>(val e: T) + class F(val t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt new file mode 100644 index 00000000000..c3aaa005283 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt @@ -0,0 +1,105 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 2 + * DESCRIPTION: Primary constructor for nested class with read-only property constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class Case1 { + class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + } + + class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } + } + + class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(val e: T) + class B>(val e: T) + class C(val e: T) + class D>(val e: T) + class F(val t: T) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.fir.kt new file mode 100644 index 00000000000..3db2afd8d3a --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.fir.kt @@ -0,0 +1,90 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + ")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + ")!>x + } + } + + inner class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } + } + + inner class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(val x: Any?, t: T) + inner class B(val x: T) + inner class C(val c: () -> T) + inner class D>(val e: T) + inner class E(val n: Nothing, val t: T) + inner class F(val t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt new file mode 100644 index 00000000000..5303698ca48 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt @@ -0,0 +1,106 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNRESOLVED_REFERENCE -UNREACHABLE_CODE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 3 + * DESCRIPTION: Primary constructor for inner class with mutable property constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(val x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class B(val x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class C(val x: () -> Any) { + init { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + } + + inner class D(val x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } + } + + inner class E(val x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + + inner class F(val x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } + } + +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(val x: Any?, t: T) + inner class B(val x: T) + inner class C(val c: () -> T) + inner class D>(val e: T) + inner class E(val n: Nothing, val t: T) + inner class F(val t: T) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.fir.kt new file mode 100644 index 00000000000..ec2d5c3d65c --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.fir.kt @@ -0,0 +1,60 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(val t: T) + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing, val t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing=TODO(), val t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing = TODO(), t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } + set(i: Unit) { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E( t: T, val n: Nothing) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2], TODO()) + } + } diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt new file mode 100644 index 00000000000..297c8a6761f --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt @@ -0,0 +1,75 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 2 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, nested-and-inner-classifiers -> paragraph 1 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 4 + * DESCRIPTION: Primary constructor for nested class with read-only property constructor parameter + */ + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(val t: T) + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing, val t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing=TODO(), val t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E(val n: Nothing = TODO(), t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } + set(i: Unit) { + class A(val t: T) + class B(val x: List) + class C(val c: () -> T) + class E( t: T, val n: Nothing) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2], TODO()) + } + } + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.fir.kt new file mode 100644 index 00000000000..5c011c5653f --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.fir.kt @@ -0,0 +1,77 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNREACHABLE_CODE +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class A(var x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class B(var x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class C(var x: () -> Any) { + init { + x checkType { check<() -> Any>() } + ")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + ")!>x + } +} + +class D(var x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } +} + +class E(var x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class F(var x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt new file mode 100644 index 00000000000..86600849fd8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt @@ -0,0 +1,95 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNREACHABLE_CODE +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 6 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 1 + * DESCRIPTION: top level declaration primary constructor with mutable property constructor parameter + * HELPERS: checkType + */ + +// TESTCASE NUMBER: 1 +class A(var x: Any?) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class B(var x: Any) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class C(var x: () -> Any) { + init { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } + + fun test() { + x checkType { check<() -> Any>() } + kotlin.Any")!>x + } +} + +class D(var x: Enum<*>) { + init { + x checkType { check>() } + ")!>x + } + + fun test() { + x checkType { check>() } + ")!>x + } +} + +class E(var x: Nothing) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + +class F(var x: T) { + init { + x checkType { check() } + x + } + + fun test() { + x checkType { check() } + x + } +} + + + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.fir.kt new file mode 100644 index 00000000000..3e5c2d614ba --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.fir.kt @@ -0,0 +1,23 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + class A(var x: Any?) + class B(var x: Any) + class C(var c: () -> Any) + class D(var e: Enum<*>) + class E(var n: Nothing) + class F(var t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(var e: T) + class B>(var e: T) + class C(var e: T) + class D>(var e: T) + class F(var t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt new file mode 100644 index 00000000000..727f23799fc --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt @@ -0,0 +1,37 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 2 + * DESCRIPTION: Primary constructor for nested class with mutable property constructor parameter + */ + +// TESTCASE NUMBER: 1 +class Case1 { + class A(var x: Any?) + class B(var x: Any) + class C(var c: () -> Any) + class D(var e: Enum<*>) + class E(var n: Nothing) + class F(var t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + class A(var e: T) + class B>(var e: T) + class C(var e: T) + class D>(var e: T) + class F(var t: T) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.fir.kt new file mode 100644 index 00000000000..43e90a9e5ec --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.fir.kt @@ -0,0 +1,24 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(var x: Any?) + inner class B(var x: Any) + inner class C(var c: () -> Any) + inner class D(var e: Enum<*>) + inner class E(var n: Nothing) + inner class F(var t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(var x: Any?, t: T) + inner class B(var x: T) + inner class C(var c: () -> T) + inner class D>(var e: T) + inner class E(var n: Nothing, var t: T) + inner class F(var t: T) +} diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt new file mode 100644 index 00000000000..445865071af --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt @@ -0,0 +1,38 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 3 + * DESCRIPTION: Primary constructor for inner class with mutable property constructor parameter + */ + +// TESTCASE NUMBER: 1 +class Case1 { + inner class A(var x: Any?) + inner class B(var x: Any) + inner class C(var c: () -> Any) + inner class D(var e: Enum<*>) + inner class E(var n: Nothing) + inner class F(var t: T) +} + +// TESTCASE NUMBER: 2 +class Case2() { + inner class A(var x: Any?, t: T) + inner class B(var x: T) + inner class C(var c: () -> T) + inner class D>(var e: T) + inner class E(var n: Nothing, var t: T) + inner class F(var t: T) +} + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.fir.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.fir.kt new file mode 100644 index 00000000000..611a5acb8ee --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.fir.kt @@ -0,0 +1,60 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(var t: T) + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing, var t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing=TODO(), var t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing = TODO(), t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } + set(i: Unit) { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E( t: T, var n: Nothing =TODO()) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt new file mode 100644 index 00000000000..37edee3a754 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt @@ -0,0 +1,75 @@ +// !LANGUAGE: +NewInference +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION +// SKIP_TXT + +/* + * KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE) + * + * SPEC VERSION: 0.1-544 + * MAIN LINK: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 5 -> sentence 3 + * PRIMARY LINKS: declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 4 -> sentence 1 + * declarations, classifier-declaration, class-declaration -> paragraph 1 -> sentence 1 + * declarations, classifier-declaration, class-declaration, constructor-declaration -> paragraph 2 -> sentence 1 + * declarations, classifier-declaration, class-declaration, nested-and-inner-classifiers -> paragraph 1 -> sentence 1 + * SECONDARY LINKS: declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 2 + * declarations, classifier-declaration, class-declaration -> paragraph 2 -> sentence 6 + * NUMBER: 4 + * DESCRIPTION: Primary constructor for nested class with mutable property constructor parameter + */ + +// TESTCASE NUMBER: 1 +fun List.case1() { + class Case1(var t: T) + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing, var t: T) +} + +// TESTCASE NUMBER: 2 +val List.case2: Int + get() = { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing=TODO(), var t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + + 1 + }() + +// TESTCASE NUMBER: 3 +var List.case3: Unit + get() { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E(var n: Nothing = TODO(), t: T) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } + set(i: Unit) { + class A(var t: T) + class B(var x: List) + class C(var c: () -> T) + class E( t: T, var n: Nothing =TODO()) + + fun test() { + A(this.first()) + B(this) + C { this.last() } + E(t = this[2]) + } + } + diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/testsMap.json new file mode 100644 index 00000000000..e0726b52f30 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/testsMap.json @@ -0,0 +1,570 @@ +{ + "4": { + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "primary constructor with regular, read-only and mutable parameters at once", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + } + ] + }, + "neg": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + } + ] + } + }, + "5": { + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "primary constructor with regular, read-only and mutable parameters at once", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + } + ], + "2": [ + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "primary constructor with regular, read-only and mutable parameters at once", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + } + ], + "3": [ + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "primary constructor with regular, read-only and mutable parameters at once", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "main", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "main" + } + ] + }, + "neg": { + "2": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "main" + } + ], + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "main" + } + ], + "3": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "main" + } + ] + } + }, + "2": { + "neg": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + } + ] + }, + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + } + ] + } + }, + "6": { + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers/testsMap.json new file mode 100644 index 00000000000..558c5010f06 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers/testsMap.json @@ -0,0 +1,40 @@ +{ + "1": { + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/testsMap.json new file mode 100644 index 00000000000..3e3e6da3164 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/testsMap.json @@ -0,0 +1,421 @@ +{ + "1": { + "neg": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + } + ] + }, + "pos": { + "1": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary", + "helpers": "checkType" + } + ] + } + }, + "2": { + "neg": { + "2": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + } + ] + }, + "pos": { + "2": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + } + ], + "6": [ + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "top level declaration primary constructor with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for inner class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt", + "unexpectedBehaviour": false, + "linkType": "secondary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with read-only property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + }, + { + "specVersion": "0.1-544", + "casesNumber": 6, + "description": "top level declaration primary constructor with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "secondary", + "helpers": "checkType" + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/data-class-declaration/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/data-class-declaration/testsMap.json new file mode 100644 index 00000000000..1b88cc7fcf8 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/data-class-declaration/testsMap.json @@ -0,0 +1,16 @@ +{ + "1": { + "neg": { + "2": [ + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + } + ] + } + } +} \ No newline at end of file diff --git a/compiler/tests-spec/testData/diagnostics/linked/type-system/type-contexts-and-scopes/inner-and-nested-type-contexts/testsMap.json b/compiler/tests-spec/testData/diagnostics/linked/type-system/type-contexts-and-scopes/inner-and-nested-type-contexts/testsMap.json index 7057d488537..435e07fc8e2 100644 --- a/compiler/tests-spec/testData/diagnostics/linked/type-system/type-contexts-and-scopes/inner-and-nested-type-contexts/testsMap.json +++ b/compiler/tests-spec/testData/diagnostics/linked/type-system/type-contexts-and-scopes/inner-and-nested-type-contexts/testsMap.json @@ -9,6 +9,38 @@ "path": "compiler/tests-spec/testData/diagnostics/linked/type-system/type-contexts-and-scopes/inner-and-nested-type-contexts/p-1/neg/2.1.kt", "unexpectedBehaviour": false, "linkType": "main" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 2, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 1, + "description": "Primary constructor for nested class with mutable property constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" + }, + { + "specVersion": "0.1-544", + "casesNumber": 3, + "description": "Primary constructor for nested class with regular constructor parameter", + "path": "compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt", + "unexpectedBehaviour": false, + "linkType": "primary" } ], "1": [ 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 07c6653d7a6..ae25fbd5383 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 @@ -25,7 +25,7 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } public void testAllFilesPresentInDiagnostics() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "helpers", "linked/annotations", "linked/built-in-types-and-their-semantics", "linked/control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "linked/control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "linked/declarations/classifier-declaration/classifier-initialization", "linked/declarations/function-declaration", "linked/declarations/property-declaration/property-initialization", "linked/declarations/type-alias", "linked/expressions/call-and-property-access-expressions", "linked/expressions/function-literals", "linked/inheritance", "linked/overload-resolution/c-level-partition", "linked/overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "linked/overloadable-operators", "linked/statements/assignments/simple-assignments", "linked/type-inference/local-type-inference", "linked/type-inference/smart-casts/smart-cast-types", "linked/type-system/subtyping/subtyping-for-nullable-types", "linked/type-system/type-kinds/type-parameters"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "helpers", "linked/annotations", "linked/built-in-types-and-their-semantics", "linked/control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "linked/control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers", "linked/declarations/classifier-declaration/classifier-initialization", "linked/declarations/classifier-declaration/data-class-declaration", "linked/declarations/function-declaration", "linked/declarations/property-declaration/property-initialization", "linked/declarations/type-alias", "linked/expressions/call-and-property-access-expressions", "linked/expressions/function-literals", "linked/inheritance", "linked/overload-resolution/c-level-partition", "linked/overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "linked/overloadable-operators", "linked/statements/assignments/simple-assignments", "linked/type-inference/local-type-inference", "linked/type-inference/smart-casts/smart-cast-types", "linked/type-system/subtyping/subtyping-for-nullable-types", "linked/type-system/type-kinds/type-parameters"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked") @@ -37,7 +37,7 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } public void testAllFilesPresentInLinked() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "annotations", "built-in-types-and-their-semantics", "control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "declarations/classifier-declaration/classifier-initialization", "declarations/function-declaration", "declarations/property-declaration/property-initialization", "declarations/type-alias", "expressions/call-and-property-access-expressions", "expressions/function-literals", "inheritance", "overload-resolution/c-level-partition", "overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "overloadable-operators", "statements/assignments/simple-assignments", "type-inference/local-type-inference", "type-inference/smart-casts/smart-cast-types", "type-system/subtyping/subtyping-for-nullable-types", "type-system/type-kinds/type-parameters"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "annotations", "built-in-types-and-their-semantics", "control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers", "declarations/classifier-declaration/classifier-initialization", "declarations/classifier-declaration/data-class-declaration", "declarations/function-declaration", "declarations/property-declaration/property-initialization", "declarations/type-alias", "expressions/call-and-property-access-expressions", "expressions/function-literals", "inheritance", "overload-resolution/c-level-partition", "overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "overloadable-operators", "statements/assignments/simple-assignments", "type-inference/local-type-inference", "type-inference/smart-casts/smart-cast-types", "type-system/subtyping/subtyping-for-nullable-types", "type-system/type-kinds/type-parameters"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/control--and-data-flow-analysis") @@ -180,7 +180,7 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } public void testAllFilesPresentInDeclarations() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-declaration/classifier-initialization", "function-declaration", "property-declaration/property-initialization", "type-alias"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-declaration/class-declaration/nested-and-inner-classifiers", "classifier-declaration/classifier-initialization", "classifier-declaration/data-class-declaration", "function-declaration", "property-declaration/property-initialization", "type-alias"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration") @@ -192,7 +192,7 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } public void testAllFilesPresentInClassifier_declaration() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-initialization"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "class-declaration/nested-and-inner-classifiers", "classifier-initialization", "data-class-declaration"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration") @@ -204,7 +204,7 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { } public void testAllFilesPresentInClass_declaration() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "nested-and-inner-classifiers"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes") @@ -394,6 +394,161 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec { public void testAllFilesPresentInConstructor_declaration() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/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.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos 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/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/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.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/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("1.1.kt") + public void test1_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt"); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt"); + } + + @TestMetadata("3.1.kt") + public void test3_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt"); + } + + public void testAllFilesPresentInNeg() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos 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/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt"); + } + + @TestMetadata("1.3.kt") + public void test1_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt"); + } + + @TestMetadata("1.4.kt") + public void test1_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt"); + } + + @TestMetadata("1.5.kt") + public void test1_5() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt"); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt"); + } + + @TestMetadata("2.2.kt") + public void test2_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt"); + } + + @TestMetadata("2.3.kt") + public void test2_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt"); + } + + @TestMetadata("2.4.kt") + public void test2_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt"); + } + + @TestMetadata("3.1.kt") + public void test3_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt"); + } + + @TestMetadata("3.2.kt") + public void test3_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt"); + } + + @TestMetadata("3.3.kt") + public void test3_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt"); + } + + @TestMetadata("3.4.kt") + public void test3_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + } } } } diff --git a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/FirDiagnosticsTestSpecGenerated.java b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/FirDiagnosticsTestSpecGenerated.java index 525f756b2c1..0dcda97c33a 100644 --- a/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/FirDiagnosticsTestSpecGenerated.java +++ b/compiler/tests-spec/tests/org/jetbrains/kotlin/spec/checkers/FirDiagnosticsTestSpecGenerated.java @@ -25,7 +25,7 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS } public void testAllFilesPresentInDiagnostics() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "helpers", "linked/annotations", "linked/built-in-types-and-their-semantics", "linked/control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "linked/control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "linked/declarations/classifier-declaration/classifier-initialization", "linked/declarations/function-declaration", "linked/declarations/property-declaration/property-initialization", "linked/declarations/type-alias", "linked/expressions/call-and-property-access-expressions", "linked/expressions/function-literals", "linked/inheritance", "linked/overload-resolution/c-level-partition", "linked/overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "linked/overloadable-operators", "linked/statements/assignments/simple-assignments", "linked/type-inference/local-type-inference", "linked/type-inference/smart-casts/smart-cast-types", "linked/type-system/subtyping/subtyping-for-nullable-types", "linked/type-system/type-kinds/type-parameters"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "helpers", "linked/annotations", "linked/built-in-types-and-their-semantics", "linked/control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "linked/control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers", "linked/declarations/classifier-declaration/classifier-initialization", "linked/declarations/classifier-declaration/data-class-declaration", "linked/declarations/function-declaration", "linked/declarations/property-declaration/property-initialization", "linked/declarations/type-alias", "linked/expressions/call-and-property-access-expressions", "linked/expressions/function-literals", "linked/inheritance", "linked/overload-resolution/c-level-partition", "linked/overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "linked/overloadable-operators", "linked/statements/assignments/simple-assignments", "linked/type-inference/local-type-inference", "linked/type-inference/smart-casts/smart-cast-types", "linked/type-system/subtyping/subtyping-for-nullable-types", "linked/type-system/type-kinds/type-parameters"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked") @@ -37,7 +37,7 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS } public void testAllFilesPresentInLinked() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "annotations", "built-in-types-and-their-semantics", "control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "declarations/classifier-declaration/classifier-initialization", "declarations/function-declaration", "declarations/property-declaration/property-initialization", "declarations/type-alias", "expressions/call-and-property-access-expressions", "expressions/function-literals", "inheritance", "overload-resolution/c-level-partition", "overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "overloadable-operators", "statements/assignments/simple-assignments", "type-inference/local-type-inference", "type-inference/smart-casts/smart-cast-types", "type-system/subtyping/subtyping-for-nullable-types", "type-system/type-kinds/type-parameters"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "annotations", "built-in-types-and-their-semantics", "control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers", "declarations/classifier-declaration/classifier-initialization", "declarations/classifier-declaration/data-class-declaration", "declarations/function-declaration", "declarations/property-declaration/property-initialization", "declarations/type-alias", "expressions/call-and-property-access-expressions", "expressions/function-literals", "inheritance", "overload-resolution/c-level-partition", "overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "overloadable-operators", "statements/assignments/simple-assignments", "type-inference/local-type-inference", "type-inference/smart-casts/smart-cast-types", "type-system/subtyping/subtyping-for-nullable-types", "type-system/type-kinds/type-parameters"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/control--and-data-flow-analysis") @@ -180,7 +180,7 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS } public void testAllFilesPresentInDeclarations() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-declaration/classifier-initialization", "function-declaration", "property-declaration/property-initialization", "type-alias"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-declaration/class-declaration/nested-and-inner-classifiers", "classifier-declaration/classifier-initialization", "classifier-declaration/data-class-declaration", "function-declaration", "property-declaration/property-initialization", "type-alias"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration") @@ -192,7 +192,7 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS } public void testAllFilesPresentInClassifier_declaration() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "classifier-initialization"); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "class-declaration/nested-and-inner-classifiers", "classifier-initialization", "data-class-declaration"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration") @@ -204,7 +204,7 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS } public void testAllFilesPresentInClass_declaration() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true, "nested-and-inner-classifiers"); } @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/abstract-classes") @@ -394,6 +394,161 @@ public class FirDiagnosticsTestSpecGenerated extends AbstractFirDiagnosticsTestS public void testAllFilesPresentInConstructor_declaration() throws Exception { KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_4 extends AbstractFirDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_4() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractFirDiagnosticsTestSpec { + 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/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos/1.1.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-4/pos"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class P_5 extends AbstractFirDiagnosticsTestSpec { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInP_5() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Neg extends AbstractFirDiagnosticsTestSpec { + 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/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/1.2.kt"); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/2.1.kt"); + } + + @TestMetadata("3.1.kt") + public void test3_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg/3.1.kt"); + } + + public void testAllFilesPresentInNeg() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/neg"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + + @TestMetadata("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Pos extends AbstractFirDiagnosticsTestSpec { + 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/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.1.kt"); + } + + @TestMetadata("1.2.kt") + public void test1_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.2.kt"); + } + + @TestMetadata("1.3.kt") + public void test1_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.3.kt"); + } + + @TestMetadata("1.4.kt") + public void test1_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.4.kt"); + } + + @TestMetadata("1.5.kt") + public void test1_5() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/1.5.kt"); + } + + @TestMetadata("2.1.kt") + public void test2_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.1.kt"); + } + + @TestMetadata("2.2.kt") + public void test2_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.2.kt"); + } + + @TestMetadata("2.3.kt") + public void test2_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.3.kt"); + } + + @TestMetadata("2.4.kt") + public void test2_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/2.4.kt"); + } + + @TestMetadata("3.1.kt") + public void test3_1() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.1.kt"); + } + + @TestMetadata("3.2.kt") + public void test3_2() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.2.kt"); + } + + @TestMetadata("3.3.kt") + public void test3_3() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.3.kt"); + } + + @TestMetadata("3.4.kt") + public void test3_4() throws Exception { + runTest("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos/3.4.kt"); + } + + public void testAllFilesPresentInPos() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/linked/declarations/classifier-declaration/class-declaration/constructor-declaration/p-5/pos"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true); + } + } + } } } }