Add tests for type annotations with unresolved reference and invalid target (KT-28424, KT-28449)
This commit is contained in:
@@ -27,7 +27,9 @@ val generateJsonTestsMap by generator("org.jetbrains.kotlin.spec.tasks.GenerateJ
|
||||
val remoteRunTests by task<Test> {
|
||||
val packagePrefix = "org.jetbrains.kotlin."
|
||||
val includeTests = setOf(
|
||||
"checkers.DiagnosticsTestSpecGenerated\$NotLinked\$Contracts*"
|
||||
"checkers.DiagnosticsTestSpecGenerated\$NotLinked\$Contracts*",
|
||||
"checkers.DiagnosticsTestSpecGenerated\$NotLinked\$Annotations*",
|
||||
"codegen.BlackBoxCodegenTestSpecGenerated\$NotLinked\$Annotations*"
|
||||
)
|
||||
|
||||
workingDir = rootDir
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 1
|
||||
* DESCRIPTION: Type annotations on return type with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann
|
||||
|
||||
fun foo(x: String): @Ann(unresolved_reference) String { // OK, error only in IDE but not in the compiler
|
||||
return x
|
||||
}
|
||||
|
||||
fun box(): String? {
|
||||
return "OK"
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 10
|
||||
* DESCRIPTION: Type annotations on a lambda type with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
fun case_1(): Any {
|
||||
val x: (Int) -> @Ann(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Unit = {} // OK, no error in IDE and in the compiler
|
||||
|
||||
return x
|
||||
}
|
||||
|
||||
fun case_2(): Any {
|
||||
val x: (@Ann(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Int) -> Unit = { a: Int -> println(a) } // OK, no error in IDE and in the compiler
|
||||
|
||||
return x
|
||||
}
|
||||
|
||||
fun box(): String? {
|
||||
val x = case_1()
|
||||
val y = case_2()
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 11
|
||||
* DESCRIPTION: Type annotations with invalid target.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28449
|
||||
*/
|
||||
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
@Target(AnnotationTarget.PROPERTY_GETTER)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
class Foo : @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(10) Any()
|
||||
|
||||
class Bar<T : @Ann(10) Any>
|
||||
|
||||
fun case_3(a: Any): Int? {
|
||||
return if (a is @Ann(10) String) 10 else null
|
||||
}
|
||||
|
||||
open class TypeToken<T>
|
||||
|
||||
val case_4 = object : TypeToken<@<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(10) String>() {}
|
||||
|
||||
fun case_5(a: Any): Any {
|
||||
a as @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(10) Int
|
||||
|
||||
return a
|
||||
}
|
||||
|
||||
fun box(): String? {
|
||||
val x1 = Foo()
|
||||
val x2 = Bar<Int>()
|
||||
val x3 = case_3(".")
|
||||
val x4 = case_4
|
||||
val x5 = case_5(10)
|
||||
|
||||
if (x1 == null) return null
|
||||
if (x2 == null) return null
|
||||
if (x3 == null) return null
|
||||
if (x4 == null) return null
|
||||
if (x5 == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 2
|
||||
* DESCRIPTION: Type annotations on supertypes with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
abstract class Foo : @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Any()
|
||||
|
||||
class Bar: Foo()
|
||||
|
||||
fun box(): String? {
|
||||
val x = Bar()
|
||||
|
||||
if (x == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX 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
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
class Inv<T>
|
||||
|
||||
fun foo(i: Inv<@Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) String>) {}
|
||||
|
||||
fun bar(vararg a: @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) Any) {}
|
||||
|
||||
class A<T>(a: @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) T)
|
||||
|
||||
fun box(): String? {
|
||||
val x = foo(Inv<String>())
|
||||
val y = bar(1, 2, 3)
|
||||
val z = A<Int>(10)
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
if (z == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX 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.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
class Inv<T>
|
||||
|
||||
fun case_1(): Inv<@Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) String> = TODO()
|
||||
|
||||
fun box(): String? {
|
||||
try {
|
||||
val x = case_1()
|
||||
if (x == null) return null
|
||||
} catch (e: NotImplementedError) {}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 5
|
||||
* DESCRIPTION: Type annotations on upper bounds with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
abstract class Bar<T : @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) Any>
|
||||
|
||||
class Foo<T : Any> : Bar<T>()
|
||||
|
||||
class B<T> where @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) T : Number
|
||||
|
||||
fun box(): String? {
|
||||
val x = Foo<Int>()
|
||||
val y = B<Float>()
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX 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.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
fun case_1(a: Any): Int? {
|
||||
return if (a is @Ann(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String) 10 else null
|
||||
}
|
||||
|
||||
fun case_2(a: Any): Any {
|
||||
return a as @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
fun case_3_1(a: Any) = 10
|
||||
|
||||
fun case_3(a: Any): Any {
|
||||
return case_3_1(a as @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String) // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
fun box(): String? {
|
||||
val x = case_1(".")
|
||||
val y = case_2(".")
|
||||
val z = case_3(".")
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
if (z == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX 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.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann
|
||||
|
||||
open class TypeToken<T>
|
||||
|
||||
val case_1 = object : TypeToken<@<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String>() {}
|
||||
|
||||
interface A
|
||||
|
||||
val case_2 = object: @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) A {}
|
||||
|
||||
fun box(): String? {
|
||||
val x = case_1
|
||||
val y = case_2
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX 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.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann(val x: Int)
|
||||
|
||||
val <T> @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) T.test // OK, error only in IDE but not in the compiler
|
||||
get() = 10
|
||||
|
||||
val @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) Int.test
|
||||
get() = 10
|
||||
|
||||
fun box(): String? {
|
||||
val x = 10.test
|
||||
val y = '.'.test
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* KOTLIN CODEGEN BOX NOT LINKED SPEC TEST (NEGATIVE)
|
||||
*
|
||||
* SECTIONS: annotations, type-annotations
|
||||
* NUMBER: 9
|
||||
* DESCRIPTION: Type annotations on a setter argument type with unresolved reference in parameters.
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
* ISSUES: KT-28424
|
||||
*/
|
||||
|
||||
@Target(AnnotationTarget.TYPE)
|
||||
annotation class Ann
|
||||
|
||||
var <T> T.test
|
||||
get() = 11
|
||||
set(value: @Ann(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Int) {}
|
||||
|
||||
fun box(): String? {
|
||||
val x = 10.test
|
||||
10.test = 11
|
||||
val y = 10.test
|
||||
|
||||
if (x == null) return null
|
||||
if (y == null) return null
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+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!>unresolved_reference<!>) String {
|
||||
return x
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package
|
||||
|
||||
public fun case_1(/*0*/ x: kotlin.String): @Ann kotlin.String
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Unit = {} // OK, no error in IDE and in the compiler
|
||||
}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_2() {
|
||||
val x: (@Ann(<!DEBUG_INFO_MISSING_UNRESOLVED!>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!>unresolved_reference<!>) Int) -> Unit = { a -> println(a) } // ERROR (if argument type isn't specified explicitly)
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package
|
||||
|
||||
public fun case_1(): kotlin.Unit
|
||||
public fun case_2(): kotlin.Unit
|
||||
public fun case_3(): kotlin.Unit
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* 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 : @<!DEBUG_INFO_MISSING_UNRESOLVED!>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<@<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(10) String>() {}
|
||||
|
||||
// TESTCASE NUMBER: 5
|
||||
fun case_5(a: Any) {
|
||||
a as @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(10) Int
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package
|
||||
|
||||
public val case_4: TypeToken<@Ann(x = 10) kotlin.String>
|
||||
public fun case_3(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
public fun case_5(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
|
||||
@kotlin.annotation.Retention(value = AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.PROPERTY_GETTER}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class Bar</*0*/ T : @Ann(x = 10) kotlin.Any> {
|
||||
public constructor Bar</*0*/ T : @Ann(x = 10) kotlin.Any>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class Foo {
|
||||
public constructor Foo()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class TypeToken</*0*/ T> {
|
||||
public constructor TypeToken</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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 : @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Any()
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class Foo {
|
||||
public constructor Foo()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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!>unresolved_reference<!>) String>) {}
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
fun test(vararg a: @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) Any) {}
|
||||
|
||||
// TESTCASE NUMBER: 3
|
||||
class A<T>(a: @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) T)
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package
|
||||
|
||||
public fun foo(/*0*/ i: Inv<@Ann kotlin.String>): kotlin.Unit
|
||||
public fun test(/*0*/ vararg a: @Ann kotlin.Any /*kotlin.Array<out @Ann kotlin.Any>*/): kotlin.Unit
|
||||
|
||||
public final class A</*0*/ T> {
|
||||
public constructor A</*0*/ T>(/*0*/ a: @Ann T)
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Inv</*0*/ T> {
|
||||
public constructor Inv</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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!>unresolved_reference<!>) String> = TODO()
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
package
|
||||
|
||||
public fun case_1(): Inv<@Ann kotlin.String>
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Inv</*0*/ T> {
|
||||
public constructor Inv</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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!>unresolved_reference<!>) Any>
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
class B<T> where @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) T : Number
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class B</*0*/ T : kotlin.Number> {
|
||||
public constructor B</*0*/ T : kotlin.Number>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public abstract class Bar</*0*/ T : @Ann kotlin.Any> {
|
||||
public constructor Bar</*0*/ T : @Ann kotlin.Any>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
/*
|
||||
* 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(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String) return
|
||||
}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
fun case_2(a: Any) {
|
||||
a as @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>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 @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>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!>unresolved_reference<!>) String // ERROR, has error in IDE and in the compiler
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package
|
||||
|
||||
public fun case_1(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
public fun case_2(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
public fun case_3_1(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
public fun case_3_2(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
public fun case_4(/*0*/ a: kotlin.Any): kotlin.Unit
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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<@<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) String>() {}
|
||||
|
||||
/*
|
||||
* TESTCASE NUMBER: 2
|
||||
* UNEXPECTED BEHAVIOUR
|
||||
*/
|
||||
interface A
|
||||
|
||||
val case_2 = object: @<!DEBUG_INFO_MISSING_UNRESOLVED!>Ann<!>(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) A {}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package
|
||||
|
||||
public val case_1: TypeToken<@Ann kotlin.String>
|
||||
public val case_2: @Ann A
|
||||
|
||||
public interface A {
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class TypeToken</*0*/ T> {
|
||||
public constructor TypeToken</*0*/ T>()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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!>unresolved_reference<!>) T.test // OK, error only in IDE but not in the compiler
|
||||
get() = 10
|
||||
|
||||
// TESTCASE NUMBER: 2
|
||||
val @Ann(<!UNRESOLVED_REFERENCE!>unresolved_reference<!>) Int.test
|
||||
get() = 10
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package
|
||||
|
||||
public val </*0*/ T> @Ann T.test: kotlin.Int
|
||||
public val @Ann kotlin.Int.test: kotlin.Int
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ x: kotlin.Int)
|
||||
public final val x: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+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(<!DEBUG_INFO_MISSING_UNRESOLVED!>unresolved_reference<!>) Int) {}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package
|
||||
|
||||
public var </*0*/ T> T.test: kotlin.Int
|
||||
|
||||
@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE}) public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
+94
@@ -1359,6 +1359,100 @@ public class DiagnosticsTestSpecGenerated extends AbstractDiagnosticsTestSpec {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/notLinked"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/diagnostics/notLinked/annotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Annotations extends AbstractDiagnosticsTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/notLinked/annotations"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Type_annotations extends AbstractDiagnosticsTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInType_annotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Neg extends AbstractDiagnosticsTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
@TestMetadata("1.kt")
|
||||
public void test1() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("10.kt")
|
||||
public void test10() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/10.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("11.kt")
|
||||
public void test11() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/11.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("2.kt")
|
||||
public void test2() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("3.kt")
|
||||
public void test3() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/3.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("4.kt")
|
||||
public void test4() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/4.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("5.kt")
|
||||
public void test5() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/5.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("6.kt")
|
||||
public void test6() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/6.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("7.kt")
|
||||
public void test7() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("8.kt")
|
||||
public void test8() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/8.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("9.kt")
|
||||
public void test9() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/9.kt");
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInNeg() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/diagnostics/notLinked/contracts")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
Generated
+107
@@ -634,4 +634,111 @@ public class BlackBoxCodegenTestSpecGenerated extends AbstractBlackBoxCodegenTes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/codegen/box/notLinked")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class NotLinked extends AbstractBlackBoxCodegenTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInNotLinked() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/notLinked"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/codegen/box/notLinked/annotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Annotations extends AbstractBlackBoxCodegenTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInAnnotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/notLinked/annotations"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Type_annotations extends AbstractBlackBoxCodegenTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInType_annotations() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class Neg extends AbstractBlackBoxCodegenTestSpec {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
|
||||
}
|
||||
|
||||
@TestMetadata("1.kt")
|
||||
public void test1() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/1.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("10.kt")
|
||||
public void test10() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/10.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("11.kt")
|
||||
public void test11() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/11.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("2.kt")
|
||||
public void test2() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/2.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("3.kt")
|
||||
public void test3() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/3.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("4.kt")
|
||||
public void test4() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/4.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("5.kt")
|
||||
public void test5() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/5.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("6.kt")
|
||||
public void test6() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/6.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("7.kt")
|
||||
public void test7() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/7.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("8.kt")
|
||||
public void test8() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/8.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("9.kt")
|
||||
public void test9() throws Exception {
|
||||
runTest("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg/9.kt");
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInNeg() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/tests-spec/testData/codegen/box/notLinked/annotations/type-annotations/neg"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.ANY, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user