[FIR] Report UNSUPPORTED on array literals not from annotation classes ^KT-50750 Fixed
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
annotation class AnnE(val i: String)
|
||||
|
||||
enum class MyEnum {
|
||||
A
|
||||
}
|
||||
|
||||
@AnnE(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>"1" + MyEnum.A<!>)
|
||||
class Test
|
||||
|
||||
@AnnE(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>"1" + MyEnum::class<!>)
|
||||
class Test2
|
||||
|
||||
@AnnE(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>"1" + AnnE("23")<!>)
|
||||
class Test3
|
||||
|
||||
@AnnE(<!ANNOTATION_ARGUMENT_MUST_BE_CONST!>"1" + <!UNSUPPORTED!>arrayOf("23", "34")<!><!>)
|
||||
class Test4
|
||||
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
annotation class AnnE(val i: String)
|
||||
|
||||
enum class MyEnum {
|
||||
|
||||
Vendored
-48
@@ -1,48 +0,0 @@
|
||||
// LANGUAGE: +ProhibitArrayLiteralsInCompanionOfAnnotation
|
||||
// ISSUE: KT-39041
|
||||
|
||||
annotation class Ann(val x: IntArray = [1, 2, 3]) { // OK
|
||||
companion object {
|
||||
val y1: IntArray = [1, 2, 3] // Error
|
||||
|
||||
val z1: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
|
||||
fun test_1(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
}
|
||||
|
||||
class Nested {
|
||||
val y2: IntArray = [1, 2, 3] // Error
|
||||
|
||||
val z2: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
|
||||
fun test_2(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object Foo {
|
||||
val y3: IntArray = [1, 2, 3] // Error
|
||||
|
||||
val z3: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
|
||||
fun test_3(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
}
|
||||
}
|
||||
|
||||
class Nested {
|
||||
val y4: IntArray = [1, 2, 3] // Error
|
||||
|
||||
val z4: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
|
||||
fun test_4(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// LANGUAGE: +ProhibitArrayLiteralsInCompanionOfAnnotation
|
||||
// ISSUE: KT-39041
|
||||
|
||||
|
||||
Vendored
+13
-13
@@ -3,46 +3,46 @@
|
||||
|
||||
annotation class Ann(val x: IntArray = [1, 2, 3]) { // OK
|
||||
companion object {
|
||||
val y1: IntArray = [1, 2, 3] // Error
|
||||
val y1: IntArray = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
val z1: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
get() = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
fun test_1(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
return <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
}
|
||||
|
||||
class Nested {
|
||||
val y2: IntArray = [1, 2, 3] // Error
|
||||
val y2: IntArray = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
val z2: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
get() = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
fun test_2(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
return <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object Foo {
|
||||
val y3: IntArray = [1, 2, 3] // Error
|
||||
val y3: IntArray = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
val z3: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
get() = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
fun test_3(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
return <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
}
|
||||
}
|
||||
|
||||
class Nested {
|
||||
val y4: IntArray = [1, 2, 3] // Error
|
||||
val y4: IntArray = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
val z4: IntArray
|
||||
get() = [1, 2, 3] // Error
|
||||
get() = <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
|
||||
fun test_4(): IntArray {
|
||||
return [1, 2, 3] // Error
|
||||
return <!UNSUPPORTED!>[1, 2, 3]<!> // Error
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compiler/testData/diagnostics/tests/collectionLiterals/collectionLiteralsOutsideOfAnnotations.fir.kt
Vendored
-21
@@ -1,21 +0,0 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
fun takeArray(array: Array<String>) {}
|
||||
|
||||
fun test() {
|
||||
"foo bar".<!UNRESOLVED_REFERENCE!>split<!>([""])
|
||||
<!UNRESOLVED_REFERENCE!>unresolved<!>([""])
|
||||
takeArray([""])
|
||||
val v = [""]
|
||||
[""]
|
||||
[1, 2, 3].size
|
||||
}
|
||||
|
||||
fun baz(arg: Array<Int> = []) {
|
||||
if (true) ["yes"] else {["no"]}
|
||||
}
|
||||
|
||||
class Foo(
|
||||
val v: Array<Int> = []
|
||||
)
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
|
||||
+8
-8
@@ -1,15 +1,15 @@
|
||||
fun test(): Array<Int> {
|
||||
[1, 2]
|
||||
[1, 2][0]
|
||||
[1, 2].get(0)
|
||||
<!UNSUPPORTED!>[1, 2]<!>
|
||||
<!UNSUPPORTED!>[1, 2]<!>[0]
|
||||
<!UNSUPPORTED!>[1, 2]<!>.get(0)
|
||||
|
||||
foo([""])
|
||||
foo(<!UNSUPPORTED!>[""]<!>)
|
||||
|
||||
val p = [1, 2] <!UNRESOLVED_REFERENCE!>+<!> [3, 4]
|
||||
val p = <!UNSUPPORTED!>[1, 2]<!> <!UNRESOLVED_REFERENCE!>+<!> <!UNSUPPORTED!>[3, 4]<!>
|
||||
|
||||
return [1, 2]
|
||||
return <!UNSUPPORTED!>[1, 2]<!>
|
||||
}
|
||||
|
||||
fun foo(a: Array<String> = [""]) {}
|
||||
fun foo(a: Array<String> = <!UNSUPPORTED!>[""]<!>) {}
|
||||
|
||||
class A(val a: Array<Int> = [])
|
||||
class A(val a: Array<Int> = <!UNSUPPORTED!>[]<!>)
|
||||
|
||||
Vendored
+2
-2
@@ -3,5 +3,5 @@
|
||||
fun foo(l: () -> Unit) {}
|
||||
fun bar(l: () -> String) {}
|
||||
|
||||
val a = foo { [] }
|
||||
val b = bar { [] }
|
||||
val a = foo { <!UNSUPPORTED!>[]<!> }
|
||||
val b = bar { <!UNSUPPORTED!>[]<!> }
|
||||
|
||||
Reference in New Issue
Block a user