FIR: Adjust testData for spec tests: annotations
This commit is contained in:
Vendored
+74
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, annotation-classes
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Annotation classes with forbidden `JvmOverloads` annotation on its constructor.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-25702
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 2, 3, 4
|
||||
@Target(AnnotationTarget.CONSTRUCTOR)
|
||||
annotation class Case12_1
|
||||
|
||||
@Target(AnnotationTarget.CONSTRUCTOR)
|
||||
@Retention(AnnotationRetention.SOURCE)
|
||||
@Repeatable
|
||||
annotation class Case12_2
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
annotation class Case1 @JvmOverloads constructor(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
annotation class Case2 @[Case12_2 Case12_2 Case12_2 Case12_2 Case12_2 Case12_2 JvmOverloads Case12_1] constructor(x: Int = 10)
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
annotation class Case3 @Case12_2 @Case12_1 @Case12_2 @`JvmOverloads` @Case12_2 @Case12_2 constructor(x: Int = 10)
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
annotation class Case4 @Case12_2 @[Case12_2 Case12_2 Case12_2 Case12_2 Case12_2 Case12_2 JvmOverloads Case12_1] @Case12_2 @Case12_2 constructor(x: Int = 10)
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
annotation class Case5 @[JvmOverloads] constructor(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 6
|
||||
annotation class Case6 @JvmOverloads constructor()
|
||||
|
||||
// TESTCASE NUMBER: 7
|
||||
annotation class Case7@JvmOverloads constructor() {}
|
||||
|
||||
// TESTCASE NUMBER: 8
|
||||
annotation class Case8 @`JvmOverloads` constructor()
|
||||
|
||||
// TESTCASE NUMBER: 9
|
||||
annotation class Case9 <A, Case12_1 : A, Case12_2 : Case12_1, D : Case12_2, E : D> @JvmOverloads constructor(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 10
|
||||
annotation class Case10 <T> @JvmOverloads constructor(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 11
|
||||
annotation class Case11 <T : Number, K : Comparable<K>> @JvmOverloads constructor(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 12
|
||||
annotation class Case12 <T> @JvmOverloads constructor(val x: Int) where T: Number
|
||||
|
||||
// TESTCASE NUMBER: 13
|
||||
annotation class Case13 constructor(val x: Int) {
|
||||
annotation class Case1 @JvmOverloads constructor(val x: Int)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 14
|
||||
annotation class Case14 @JvmOverloads constructor(val x: Int) {
|
||||
annotation class Case1 constructor(val x: Int)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 15
|
||||
object Case15 {
|
||||
annotation class Case15 @JvmOverloads constructor(val x: Int)
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 16
|
||||
class Case16 {
|
||||
annotation class Case16 @JvmOverloads constructor(val x: Int)
|
||||
}
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Type annotations on return type with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
fun case_1(x: String): @Ann(unresolved_reference) String {
|
||||
return x
|
||||
}
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 10
|
||||
* DESCRIPTION: Type annotations on a lambda type with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 1
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_1() {
|
||||
val x: (Int) -> @Ann(unresolved_reference) Unit = {} // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_2() {
|
||||
val x: (@Ann(unresolved_reference) Int) -> Unit = { a: Int -> println(a) } // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3() {
|
||||
val x: (@Ann(unresolved_reference) Int) -> Unit = { a -> println(a) } // ERROR (if argument type isn't specified explicitly)
|
||||
}
|
||||
Vendored
+37
@@ -0,0 +1,37 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 11
|
||||
* DESCRIPTION: Type annotations with invalid target.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28449
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2, 3, 4, 5
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
@Target(AnnotationTarget.PROPERTY_GETTER)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
abstract class Foo : @Ann(10) Any()
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
abstract class Bar<T : @Ann(10) Any>
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
fun case_3(a: Any) {
|
||||
if (a is @Ann(10) String) return
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
open class TypeToken<T>
|
||||
|
||||
val case_4 = object : TypeToken<@Ann(10) String>() {}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(a: Any) {
|
||||
a as @Ann(10) Int
|
||||
}
|
||||
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: Type annotations on supertypes with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 1
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
abstract class Foo : @Ann(unresolved_reference) Any()
|
||||
Vendored
+26
@@ -0,0 +1,26 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 3
|
||||
* DESCRIPTION: Type annotations on parameter types with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2, 3
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
class Inv<T>
|
||||
|
||||
fun foo(i: Inv<@Ann(unresolved_reference) String>) {}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
fun test(vararg a: @Ann(unresolved_reference) Any) {}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
class A<T>(a: @Ann(unresolved_reference) T)
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 4
|
||||
* DESCRIPTION: Type annotations on type arguments for a containing type of return type, with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
class Inv<T>
|
||||
|
||||
fun case_1(): Inv<@Ann(unresolved_reference) String> = TODO()
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 5
|
||||
* DESCRIPTION: Type annotations on upper bounds with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
abstract class Bar<T : @Ann(unresolved_reference) Any>
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
class B<T> where @Ann(unresolved_reference) T : Number
|
||||
Vendored
+46
@@ -0,0 +1,46 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 6
|
||||
* DESCRIPTION: Type annotations inside type check and cast expression with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 1
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_1(a: Any) {
|
||||
if (a is @Ann(unresolved_reference) String) return
|
||||
}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_2(a: Any) {
|
||||
a as @Ann(unresolved_reference) String // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 3
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_3_1(a: Any) {}
|
||||
|
||||
fun case_3_2(a: Any) {
|
||||
case_3_1(a as @Ann(unresolved_reference) String) // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
// TESTCASE NUMBER: 4
|
||||
fun case_4(a: Any) {
|
||||
val x = a as @Ann(unresolved_reference) String // ERROR, has error in IDE and in the compiler
|
||||
}
|
||||
Vendored
+30
@@ -0,0 +1,30 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 7
|
||||
* DESCRIPTION: Type annotations on a type in an anonymous object expression, with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 1
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
open class TypeToken<T>
|
||||
|
||||
val case_1 = object : TypeToken<@Ann(unresolved_reference) String>() {}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
interface A
|
||||
|
||||
val case_2 = object: @Ann(unresolved_reference) A {}
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 8
|
||||
* DESCRIPTION: Type annotations on a receiver type (for an extension property only), with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
// TESTCASE NUMBER: 1, 2
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
// TESTCASE NUMBER: 1
|
||||
val <T> @Ann(unresolved_reference) T.test // OK, error only in IDE but not in the compiler
|
||||
get() = 10
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
val @Ann(unresolved_reference) Int.test
|
||||
get() = 10
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
/*
|
||||
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 9
|
||||
* DESCRIPTION: Type annotations on a setter argument type with unresolved reference in parameters.
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 1
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann
|
||||
|
||||
var <T> T.test
|
||||
get() = 11
|
||||
set(value: @Ann(unresolved_reference) Int) {}
|
||||
Reference in New Issue
Block a user