[FIR] Fix TEST SPEC tests

Ensure the test data contents for both the frontends
are identical. This is needed for proper analysis of
K2-differences.
This commit is contained in:
Nikolay Lunyak
2023-06-12 15:20:46 +03:00
committed by Space Team
parent e6633d3d92
commit 7541732752
583 changed files with 4053 additions and 5418 deletions
@@ -1,26 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
abstract class Base() {
<!ABSTRACT_FUNCTION_WITH_BODY!>abstract<!> fun foo() = {}
<!NON_ABSTRACT_FUNCTION_WITH_NO_BODY!>fun boo() : Unit<!>
abstract val a = <!ABSTRACT_PROPERTY_WITH_INITIALIZER!>""<!>
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>val b<!>
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>var d<!>
}
class Impl : Base() {
override fun foo(): () -> Unit {
TODO("not implemented")
}
override val a: String
get() = TODO("not implemented")
}
fun case1() {
val impl = Impl()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,118 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case1() {
val impl = BaseImplCase2(1, "1", 1.0)
}
class BaseImplCase2(
override var a: Any, override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> b: Any, override var c: Any, override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any = "5") : Base()
{
override fun foo() {}
override internal fun boo() {}
}
// TESTCASE NUMBER: 2
fun case2() {
val impl = ImplBaseCase2()
}
class ImplBaseCase2() : Base() {
override var a: Any
get() = TODO()
set(value) {}
override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> b: Any
get() = TODO()
override var c: Any
get() = TODO()
set(value) {}
override
<!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any
get() = TODO()
override fun foo() {}
override fun boo(): Any {
return ""
}
}
/*
* TESTCASE NUMBER: 3
* NOTE: property is not implemented
*/
fun case3() {
ImplBaseCase3()
}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBaseCase3<!>() : Base() {
override var b: Any
get() = TODO()
set(value) {}
override val c: Any
get() = TODO()
override var d: Any
get() = TODO()
set(value) {}
override fun foo() {
TODO()
}
override fun boo(): Any {
TODO()
}
}
/*
* TESTCASE NUMBER: 4
* NOTE: function is not implemented
*/
fun case4() {
ImplBaseCase4()
}
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBaseCase4<!>() : Base() {
override var b: Any
get() = TODO()
set(value) {}
override val c: Any
get() = TODO()
override var d: Any
get() = TODO()
set(value) {}
override fun foo() {}
override fun boo(): Any {
return 1
}
}
/*
* TESTCASE NUMBER: 5
* NOTE: incompatible modifiers final and abstract
*/
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> class Case5() {}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -11,7 +12,7 @@
*/
// FILE: TestCase1.kt
// TESTCASE NUMBER:1
// TESTCASE NUMBER: 1
package testPackCase1
<!REDUNDANT_MODIFIER!>open<!> abstract class Base {
@@ -24,6 +25,7 @@ package testPackCase1
abstract fun foo()
internal abstract fun boo(): Any
}
fun case1() {
val impl = BaseImplCase1(1, "1", 1.0)
}
@@ -134,7 +136,6 @@ package testPackCase4
internal abstract fun boo(): Any
}
fun case4() {
ImplBaseCase4()
}
@@ -160,4 +161,4 @@ fun case4() {
* TESTCASE NUMBER: 5
* NOTE: incompatible modifiers final and abstract
*/
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> class Case5() {}
<!INCOMPATIBLE_MODIFIERS!>final<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> class Case5() {}
@@ -1,89 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
private abstract class Base {
abstract val a: Any
abstract var b: Any
internal abstract val c: Any
internal abstract var d: Any
abstract fun foo()
internal abstract fun boo(): Any
}
fun case1() {
val impl = object : Base() {
override var a: Any
get() = TODO()
set(value) {}
override <!VAR_OVERRIDDEN_BY_VAL!>val<!> b: Any
get() = TODO()
override var c: Any
get() = TODO()
set(value) {}
override <!VAR_OVERRIDDEN_BY_VAL!>val<!> d: Any
get() = TODO()
override fun foo() {}
override fun boo(): Any {
return ""
}
}
}
/*
* TESTCASE NUMBER: 2
* NOTE: property is not implemented
*/
fun case2() {
val impl = <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>object<!> : Base() {
override var b: Any
get() = TODO()
set(value) {}
override val c: Any
get() = TODO()
override var d: Any
get() = TODO()
set(value) {}
override fun foo() {
TODO()
}
override fun boo(): Any {
TODO()
}
}
}
/*
* TESTCASE NUMBER: 3
* NOTE: function is not implemented
*/
fun case3() {
val impl = <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>object<!> : Base() {
override var b: Any
get() = TODO()
set(value) {}
override val c: Any
get() = TODO()
override var d: Any
get() = TODO()
set(value) {}
override fun foo() {}
override fun boo(): Any {
return 1
}
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -46,7 +47,6 @@ fun case1() {
}
}
// FILE: TestCase2.kt
/*
* TESTCASE NUMBER: 2
@@ -65,8 +65,6 @@ private abstract class Base {
internal abstract fun boo(): Any
}
fun case2() {
val impl = <!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>object<!> : Base() {
override var b: Any
@@ -1,54 +0,0 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
abstract class Base {
abstract val a: CharSequence
abstract var b: CharSequence
abstract fun foo(): CharSequence
}
class Case1 : Base() {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>Any<!>
{
return ""
}
override val a: <!PROPERTY_TYPE_MISMATCH_ON_OVERRIDE!>Any?<!>
get() = TODO()
override var b: <!VAR_TYPE_MISMATCH_ON_OVERRIDE!>String<!>
get() = TODO()
set(value)
{}
}
/*
* TESTCASE NUMBER: 2
*/
class Case2(override val a: String, override var b: <!VAR_TYPE_MISMATCH_ON_OVERRIDE!>String<!>) : Base() {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE!>CharSequence?<!> {
return ""
}
}
/*
* TESTCASE NUMBER: 3
* NOTE: abstract nested class members are not implemented
*/
class Case3 {
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class ImplBase1<!> : MainClass.Base1() {}
}
class MainClass {
abstract class Base1() {
abstract val a: CharSequence
abstract var b: CharSequence
abstract fun foo(): CharSequence
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -34,8 +35,6 @@ class Case1 : Base() {
{}
}
// FILE: TestCase2.kt
// TESTCASE NUMBER: 2
package testPackCase2
@@ -76,5 +75,3 @@ class MainClass {
}
}
@@ -1,6 +1,15 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* MAIN LINK: declarations, classifier-declaration, class-declaration, abstract-classes -> paragraph 2 -> sentence 1
* NUMBER: 4
* DESCRIPTION: Abstract classes may contain abstract members, which should be implemented in an inner class that inherits from that abstract type
*/
class MainClass {
abstract class Base1() {
abstract val a: CharSequence
@@ -1,46 +0,0 @@
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
// FILE: base/BaseJava.java
package base;
public abstract class BaseJava {
public BaseJavaCase1()
{}
public BaseJavaCase1(Boolean b)
{ foo(b); }
public void boo(Boolean b)
{ foo(b); }
abstract void foo(Boolean b);
}
// FILE: Impl.kt
package implBase
import base.*
// TESTCASE NUMBER: 1
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case1<!> : BaseJava() {}
fun case1() {
val v = Case1()
v.boo(true)
}
/*
* TESTCASE NUMBER: 2
*/
abstract class AbstractClassCase2 : BaseJava() {}
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case2<!> : AbstractClassCase2() {}
fun case2() {
val v = Case2()
v.boo(true)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,71 +0,0 @@
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
// FILE: base/BaseJava.java
package base;
public abstract class BaseJava {
public BaseJavaCase1()
{}
public BaseJavaCase1(Boolean b)
{ foo(b); }
public void boo(Boolean b)
{ foo(b); }
abstract void foo(Boolean b);
}
// FILE: Impl.kt
package implBase
import base.*
// TESTCASE NUMBER: 1
class Case1 : BaseJava() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
fun case1() {
val v = Case1()
v.boo(true)
}
/*
* TESTCASE NUMBER: 2
*/
abstract class AbstractClassCase2 : BaseJava() {}
class Case2: AbstractClassCase2() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
fun case2() {
val v = Case2()
v.boo(true)
}
// TESTCASE NUMBER: 3
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case3<!> : BaseJava() {}
fun case3() {
val v = Case3()
v.boo(true)
}
/*
* TESTCASE NUMBER: 4
*/
abstract class AbstractClassCase4 : BaseJava() {}
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case4<!> : AbstractClassCase4() {}
fun case4() {
val v = Case4()
v.boo(true)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,83 +0,0 @@
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
// MODULE: base
// FILE: BaseKotlin.kt
package base
abstract class BaseKotlin() {
fun boo(b: Boolean?) {
foo(b)
}
internal abstract fun foo(b: Boolean?)
}
//MODULE: implBase(base)
//FILE: Impl.kt
package implBase
import base.*
// TESTCASE NUMBER: 1
class Case1 : BaseKotlin() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
fun case1() {
val v = Case1()
v.boo(true)
val o = object : BaseKotlin() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
}
/*
* TESTCASE NUMBER: 2
*/
abstract class AbstractClassCase2 : BaseKotlin() {}
class Case2: AbstractClassCase2() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
fun case2() {
val v = Case2()
v.boo(true)
val o = object : AbstractClassCase2() {
<!CANNOT_OVERRIDE_INVISIBLE_MEMBER!>override<!> fun foo(b: Boolean?) {}
}
}
// TESTCASE NUMBER: 3
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case3<!> : BaseKotlin() {}
fun case3() {
val v = Case3()
v.boo(true)
val o = <!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>object<!> : BaseKotlin() {}
}
/*
* TESTCASE NUMBER: 4
*/
abstract class AbstractClassCase4 : BaseKotlin() {}
<!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>class Case4<!> : AbstractClassCase4() {}
fun case4() {
val v = Case4()
v.boo(true)
val o = <!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>object<!> : AbstractClassCase4() {}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -3,6 +3,19 @@
// SKIP_TXT
// FULL_JDK
/*
* KOTLIN DIAGNOSTICS SPEC TEST (NEGATIVE)
*
* SPEC VERSION: 0.1-213
* MAIN LINK: declarations, classifier-declaration, class-declaration, abstract-classes -> paragraph 2 -> sentence 1
* PRIMARY LINKS: inheritance, overriding -> paragraph 7 -> sentence 1
* NUMBER: 8
* DESCRIPTION: Abstract classes may contain one or more abstract members, which should be implemented in a subtype of this abstract class
* ISSUES: KT-27825
*/
// MODULE: base
// FILE: AbstractClassCase1.kt
package base
@@ -1,65 +0,0 @@
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// FULL_JDK
// MODULE: libModule
// FILE: libModule/BaseJava1.java
package libModule;
public abstract class BaseJava1 {
/*package-private*/ abstract void boojava();
}
// FILE: BaseKotlin1.kt
package libModule
public abstract class BaseKotlin1 {
internal abstract fun bookotlin()
}
// MODULE: mainModule(libModule)
// FILE: mainModule/JavaClassWithAbstractKotlinClass.java
package mainModule
import libModule.*
/*
* TESTCASE NUMBER: 1
* UNEXPECTED BEHAVIOUR
* ISSUES: KT-35325
*/
public class JavaClassWithAbstractKotlinClass {
public void zoo()
{
//todo: INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER should be expected
BaseKotlin1 baseKotlin = new BaseKotlin1() {};
BaseKotlin1 baseKotlin = new BaseKotlinImpl();
baseKotlin.bookotlin$libModule(); //highlight Error: usage of Kotlin internal declaration from different module
BaseKotlinImpl baseKotlinImpl = new BaseKotlinImpl();
baseKotlinImpl.bookotlin$libModule(); //there is no any Error, but should be
}
class BaseKotlinImpl extends BaseKotlin1 {
@Override
public void bookotlin$libModule() {
System.out.println("wefrgth");
}
}
}
// FILE: KotlinClassWithAbstractJavaClass.kt
package mainModule
import libModule.*
// TESTCASE NUMBER: 2
class KotlinClassWithAbstractJavaClass() {
fun foo() {
val baseJava1 = <!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>object<!> : BaseJava1() {}
val baseKotlin = <!INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER_ERROR!>object<!> : BaseKotlin1() {}
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !LANGUAGE: +ProhibitInvisibleAbstractMethodsInSuperclasses
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,6 +1,17 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-213
* MAIN LINK: declarations, classifier-declaration, class-declaration, abstract-classes -> paragraph 2 -> sentence 1
* NUMBER: 2
* DESCRIPTION: Abstract classes may contain one or more abstract members, which should be implemented in a subtype of this abstract class
* HELPERS: checkType, functions
* ISSUES: KT-27825
*/
// TESTCASE NUMBER: 1
fun case1(){
@@ -1,6 +1,17 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
/*
* KOTLIN DIAGNOSTICS SPEC TEST (POSITIVE)
*
* SPEC VERSION: 0.1-213
* MAIN LINK: declarations, classifier-declaration, class-declaration, abstract-classes -> paragraph 2 -> sentence 1
* NUMBER: 3
* DESCRIPTION: Abstract classes may contain one or more abstract members, which should be implemented in a subtype of this abstract class
* HELPERS: checkType, functions
*/
// TESTCASE NUMBER: 1
// NOTE: attempt to implement inner abstract class as anonymous class
open class MainCase1() {
@@ -1,12 +0,0 @@
// !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)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,27 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
// TESTCASE NUMBER: 1
class Case1<T>() {
class A(t: <!UNRESOLVED_REFERENCE!>T<!>)
class B(x: List<<!UNRESOLVED_REFERENCE!>T<!>>)
class C(c: () -> <!UNRESOLVED_REFERENCE!>T<!>)
class E(n: Nothing, t: <!UNRESOLVED_REFERENCE!>T<!>)
}
// TESTCASE NUMBER: 2
class Case2<T>() {
data class A(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>t: <!UNRESOLVED_REFERENCE!>T<!><!>)
data class B(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>x: List<<!UNRESOLVED_REFERENCE!>T<!>><!>)
data class C(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>c: () -> <!UNRESOLVED_REFERENCE!>T<!><!>)
data class E(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>n: Nothing<!>, <!DATA_CLASS_NOT_PROPERTY_PARAMETER!>t: <!UNRESOLVED_REFERENCE!>T<!><!>)
}
// TESTCASE NUMBER: 3
class Case3<T>() {
enum class A(t: <!UNRESOLVED_REFERENCE!>T<!>)
enum class B(x: List<<!UNRESOLVED_REFERENCE!>T<!>>)
enum class C(c: () -> <!UNRESOLVED_REFERENCE!>T<!>)
enum class E(n: Nothing, t: <!UNRESOLVED_REFERENCE!>T<!>)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,20 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
// TESTCASE NUMBER: 1
data class A(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>x: Any?<!>)
data class B(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>x: Any<!>)
data class C(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>c: () -> Any<!>)
data class D(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>e: Enum<*><!>)
data class E(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>n: Nothing<!>)
data class F<T>(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>t: T<!>)
// TESTCASE NUMBER: 2
class Case2<T>() {
data class A(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>t: <!UNRESOLVED_REFERENCE!>T<!><!>)
data class B(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>x: List<<!UNRESOLVED_REFERENCE!>T<!>><!>)
data class C(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>c: () -> <!UNRESOLVED_REFERENCE!>T<!><!>)
data class E(<!DATA_CLASS_NOT_PROPERTY_PARAMETER!>n: Nothing<!>, <!DATA_CLASS_NOT_PROPERTY_PARAMETER!>t: <!UNRESOLVED_REFERENCE!>T<!><!>)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,11 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
// TESTCASE NUMBER: 1
class Case1<T>() {
class A(val t: <!UNRESOLVED_REFERENCE!>T<!>)
class B(val x: List<<!UNRESOLVED_REFERENCE!>T<!>>)
class C(val c: () -> <!UNRESOLVED_REFERENCE!>T<!>)
class E(val n: Nothing, val t: <!UNRESOLVED_REFERENCE!>T<!>)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,11 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
// TESTCASE NUMBER: 1
class Case1<T>() {
class A(var t: <!UNRESOLVED_REFERENCE!>T<!>)
class B(var x: List<<!UNRESOLVED_REFERENCE!>T<!>>)
class C(var c: () -> <!UNRESOLVED_REFERENCE!>T<!>)
class E(var n: Nothing, var t: <!UNRESOLVED_REFERENCE!>T<!>)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,6 +1,21 @@
// !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?){
@@ -1,6 +1,21 @@
// !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 {
@@ -1,6 +1,21 @@
// !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 {
@@ -1,38 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
fun <T> List<T>.case1() {
class Case1(t: T)
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
}
// TESTCASE NUMBER: 2
val <T> List<T>.case2: Int
get() = {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
1
}()
// TESTCASE NUMBER: 3
var <T> List<T>.case3: Unit
get() {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
1
}
set(i: Unit) {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,38 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
fun <T> List<T>.case1() {
class Case1(t: T)
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
}
// TESTCASE NUMBER: 2
val <T> List<T>.case2: Int
get() = {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
1
}()
// TESTCASE NUMBER: 3
var <T> List<T>.case3: Unit
get() {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
1
}
set(i: Unit) {
class A(t: T)
class B(x: List<T>)
class C(c: () -> T)
class E(n: Nothing, t: T)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
@@ -1,6 +1,21 @@
// !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?) {
@@ -1,6 +1,21 @@
// !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 {
@@ -1,6 +1,21 @@
// !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 {
@@ -1,59 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE
// SKIP_TXT
// TESTCASE NUMBER: 1
fun <T> List<T>.case1() {
class Case1(val t: T)
class A(val t: T)
class B(val x: List<T>)
class C(val c: () -> T)
class E(val n: Nothing, val t: T)
}
// TESTCASE NUMBER: 2
val <T> List<T>.case2: Int
get() = {
class A(val t: T)
class B(val x: List<T>)
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 <T> List<T>.case3: Unit
get() {
class A(val t: T)
class B(val x: List<T>)
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<T>)
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())
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION -UNREACHABLE_CODE
// SKIP_TXT
@@ -1,6 +1,21 @@
// !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?) {
@@ -1,22 +0,0 @@
// !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<T>(var t: T)
}
// TESTCASE NUMBER: 2
class Case2<T>() {
class A<T : CharSequence>(var e: T)
class B<T : java.util.AbstractCollection<Int>>(var e: T)
class C<T : java.lang.Exception>(var e: T)
class D<T : Enum<*>>(var e: T)
class F<T>(var t: T)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,23 +0,0 @@
// !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<T>(var t: T)
}
// TESTCASE NUMBER: 2
class Case2<T>() {
inner class A(var x: Any?, t: T)
inner class B(var x: T)
inner class C(var c: () -> T)
inner class D<T : Enum<*>>(var e: T)
inner class E(var n: Nothing, var t: T)
inner class F<T>(var t: T)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
@@ -1,59 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT
// TESTCASE NUMBER: 1
fun <T> List<T>.case1() {
class Case1(var t: T)
class A(var t: T)
class B(var x: List<T>)
class C(var c: () -> T)
class E(var n: Nothing, var t: T)
}
// TESTCASE NUMBER: 2
val <T> List<T>.case2: Int
get() = {
class A(var t: T)
class B(var x: List<T>)
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 <T> List<T>.case3: Unit
get() {
class A(var t: T)
class B(var x: List<T>)
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<T>)
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])
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
// SKIP_TXT