[FE 1.0] Drop ArrayLiteralsInAnnotations feature
This feature was introduced in 1.2, so now it's stable part of language and we can drop support of disabling it
This commit is contained in:
committed by
teamcity
parent
ff7eb79bb1
commit
c1575edca4
@@ -42,8 +42,6 @@ class CollectionLiteralResolver(
|
||||
context.trace.report(UNSUPPORTED.on(collectionLiteralExpression, "Collection literals outside of annotations"))
|
||||
}
|
||||
|
||||
checkSupportsArrayLiterals(collectionLiteralExpression, context)
|
||||
|
||||
return resolveCollectionLiteralSpecialMethod(collectionLiteralExpression, context)
|
||||
}
|
||||
|
||||
@@ -81,13 +79,6 @@ class CollectionLiteralResolver(
|
||||
return memberScopeOfKotlinPackage.getContributedFunctions(callName, KotlinLookupLocation(expression))
|
||||
}
|
||||
|
||||
private fun checkSupportsArrayLiterals(expression: KtCollectionLiteralExpression, context: ExpressionTypingContext) {
|
||||
if (isInsideAnnotationEntryOrClass(expression) &&
|
||||
!languageVersionSettings.supportsFeature(LanguageFeature.ArrayLiteralsInAnnotations)) {
|
||||
context.trace.report(UNSUPPORTED_FEATURE.on(expression, LanguageFeature.ArrayLiteralsInAnnotations to languageVersionSettings))
|
||||
}
|
||||
}
|
||||
|
||||
private fun isInsideAnnotationEntryOrClass(expression: KtCollectionLiteralExpression): Boolean {
|
||||
val parent = PsiTreeUtil.getParentOfType(expression, KtAnnotationEntry::class.java, KtClass::class.java)
|
||||
return parent is KtAnnotationEntry || (parent is KtClass && parent.isAnnotation())
|
||||
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
|
||||
|
||||
@Foo([1], ["/"], [1f])
|
||||
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
|
||||
|
||||
@Foo([1], ["/"], [1f])
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations +BareArrayClassLiteral
|
||||
// !LANGUAGE: +BareArrayClassLiteral
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations +BareArrayClassLiteral
|
||||
// !LANGUAGE: +BareArrayClassLiteral
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
annotation class Ann1(vararg val a: String = [])
|
||||
annotation class Ann2(vararg val a: Int = [1, 2])
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
annotation class Ann1(vararg val a: String = [])
|
||||
annotation class Ann2(vararg val a: Int = [1, 2])
|
||||
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
annotation class Foo(
|
||||
val a: Array<String> = ["/"],
|
||||
val b: Array<String> = [],
|
||||
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
annotation class Foo(
|
||||
val a: Array<String> = ["/"],
|
||||
val b: Array<String> = [],
|
||||
|
||||
compiler/testData/diagnostics/tests/collectionLiterals/defaultValuesWithConstantsInAnnotation.fir.kt
Vendored
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
const val ONE = 1
|
||||
|
||||
annotation class Foo(
|
||||
|
||||
Vendored
-2
@@ -1,5 +1,3 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
|
||||
const val ONE = 1
|
||||
|
||||
annotation class Foo(
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNSUPPORTED
|
||||
|
||||
annotation class Anno(val a: Array<String> = [""], val b: IntArray = [])
|
||||
@@ -16,4 +15,4 @@ fun local() {
|
||||
|
||||
val s1: Array<String> = [""]
|
||||
val s2: Array<String> = []
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||
|
||||
// FILE: JavaAnn.java
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@ enum class LanguageFeature(
|
||||
|
||||
// 1.2
|
||||
|
||||
ArrayLiteralsInAnnotations(KOTLIN_1_2),
|
||||
InlineDefaultFunctionalParameters(KOTLIN_1_2),
|
||||
SoundSmartCastsAfterTry(KOTLIN_1_2),
|
||||
DeprecatedFieldForInvisibleCompanionObject(KOTLIN_1_2),
|
||||
|
||||
Reference in New Issue
Block a user