From e048ffcf6dc4b3d9aabba90736c8b272fbe6af14 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 26 Aug 2022 14:54:31 +0300 Subject: [PATCH] [FIR] Update tests due to KT-53873 --- .../typeUse/nonTypeUseAnnotationOnType.fir.kt | 22 +++++++++++++++ .../typeUse/nonTypeUseAnnotationOnType.kt | 1 - .../type-annotations/neg/11.fir.kt | 2 +- .../annotations/type-annotations/neg/7.fir.kt | 28 +++++++++++++++++++ .../annotations/type-annotations/neg/7.kt | 1 - 5 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.fir.kt create mode 100644 compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.fir.kt diff --git a/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.fir.kt b/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.fir.kt new file mode 100644 index 00000000000..0a8c92fb27d --- /dev/null +++ b/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.fir.kt @@ -0,0 +1,22 @@ +// !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions +// ISSUE: KT-28449 + +@Target(AnnotationTarget.PROPERTY_GETTER) +annotation class Ann + +abstract class Foo : @Ann Any() + +abstract class Bar@Ann Any> + +fun test_1(a: Any) { + if (a is @Ann String) return +} + +open class TypeToken +val test_2 = object : TypeToken<@Ann String>() {} + +fun test_3(a: Any) { + a as @Ann Int +} + +fun test_4() where T : @Ann Any, T : @Ann CharSequence {} diff --git a/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.kt b/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.kt index b0deecb09f1..9420a410dbb 100644 --- a/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.kt +++ b/compiler/testData/diagnostics/tests/annotations/typeUse/nonTypeUseAnnotationOnType.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL // !LANGUAGE: +ProperCheckAnnotationsTargetInTypeUsePositions // ISSUE: KT-28449 diff --git a/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/11.fir.kt b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/11.fir.kt index e9c54daa6d0..c88a68bdf2c 100644 --- a/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/11.fir.kt +++ b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/11.fir.kt @@ -18,7 +18,7 @@ fun case_3(a: Any) { // TESTCASE NUMBER: 4 open class TypeToken -val case_4 = object : TypeToken<@Ann(10) String>() {} +val case_4 = object : TypeToken<@Ann(10) String>() {} // TESTCASE NUMBER: 5 fun case_5(a: Any) { diff --git a/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.fir.kt b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.fir.kt new file mode 100644 index 00000000000..cd09afb8f68 --- /dev/null +++ b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.fir.kt @@ -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 + +val case_1 = object : TypeToken<@Ann(unresolved_reference) String>() {} + +/* + * TESTCASE NUMBER: 2 + * UNEXPECTED BEHAVIOUR + */ +interface A + +val case_2 = object: @Ann(unresolved_reference) A {} diff --git a/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.kt b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.kt index 96481d956bf..1f66becb6ce 100644 --- a/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.kt +++ b/compiler/tests-spec/testData/diagnostics/notLinked/annotations/type-annotations/neg/7.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE) *