[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"))
|
context.trace.report(UNSUPPORTED.on(collectionLiteralExpression, "Collection literals outside of annotations"))
|
||||||
}
|
}
|
||||||
|
|
||||||
checkSupportsArrayLiterals(collectionLiteralExpression, context)
|
|
||||||
|
|
||||||
return resolveCollectionLiteralSpecialMethod(collectionLiteralExpression, context)
|
return resolveCollectionLiteralSpecialMethod(collectionLiteralExpression, context)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,13 +79,6 @@ class CollectionLiteralResolver(
|
|||||||
return memberScopeOfKotlinPackage.getContributedFunctions(callName, KotlinLookupLocation(expression))
|
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 {
|
private fun isInsideAnnotationEntryOrClass(expression: KtCollectionLiteralExpression): Boolean {
|
||||||
val parent = PsiTreeUtil.getParentOfType(expression, KtAnnotationEntry::class.java, KtClass::class.java)
|
val parent = PsiTreeUtil.getParentOfType(expression, KtAnnotationEntry::class.java, KtClass::class.java)
|
||||||
return parent is KtAnnotationEntry || (parent is KtClass && parent.isAnnotation())
|
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)
|
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
|
||||||
|
|
||||||
@Foo([1], ["/"], [1f])
|
@Foo([1], ["/"], [1f])
|
||||||
|
|||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
|
||||||
|
|
||||||
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
|
annotation class Foo(val a: IntArray, val b: Array<String>, val c: FloatArray)
|
||||||
|
|
||||||
@Foo([1], ["/"], [1f])
|
@Foo([1], ["/"], [1f])
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations +BareArrayClassLiteral
|
// !LANGUAGE: +BareArrayClassLiteral
|
||||||
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations +BareArrayClassLiteral
|
// !LANGUAGE: +BareArrayClassLiteral
|
||||||
|
|
||||||
import kotlin.reflect.KClass
|
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 Ann1(vararg val a: String = [])
|
||||||
annotation class Ann2(vararg val a: Int = [1, 2])
|
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 Ann1(vararg val a: String = [])
|
||||||
annotation class Ann2(vararg val a: Int = [1, 2])
|
annotation class Ann2(vararg val a: Int = [1, 2])
|
||||||
|
|||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
|
||||||
|
|
||||||
annotation class Foo(
|
annotation class Foo(
|
||||||
val a: Array<String> = ["/"],
|
val a: Array<String> = ["/"],
|
||||||
val b: Array<String> = [],
|
val b: Array<String> = [],
|
||||||
|
|||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
|
||||||
|
|
||||||
annotation class Foo(
|
annotation class Foo(
|
||||||
val a: Array<String> = ["/"],
|
val a: Array<String> = ["/"],
|
||||||
val b: 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
|
const val ONE = 1
|
||||||
|
|
||||||
annotation class Foo(
|
annotation class Foo(
|
||||||
|
|||||||
Vendored
-2
@@ -1,5 +1,3 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
|
||||||
|
|
||||||
const val ONE = 1
|
const val ONE = 1
|
||||||
|
|
||||||
annotation class Foo(
|
annotation class Foo(
|
||||||
|
|||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
// FIR_IDENTICAL
|
// FIR_IDENTICAL
|
||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations
|
|
||||||
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNSUPPORTED
|
// !DIAGNOSTICS: -UNUSED_VARIABLE, -UNSUPPORTED
|
||||||
|
|
||||||
annotation class Anno(val a: Array<String> = [""], val b: IntArray = [])
|
annotation class Anno(val a: Array<String> = [""], val b: IntArray = [])
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, +ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
// !LANGUAGE: +ArrayLiteralsInAnnotations, +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
// !LANGUAGE: +AssigningArraysToVarargsInNamedFormInAnnotations, -ProhibitAssigningSingleElementsToVarargsInNamedForm
|
||||||
|
|
||||||
// FILE: JavaAnn.java
|
// FILE: JavaAnn.java
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ enum class LanguageFeature(
|
|||||||
|
|
||||||
// 1.2
|
// 1.2
|
||||||
|
|
||||||
ArrayLiteralsInAnnotations(KOTLIN_1_2),
|
|
||||||
InlineDefaultFunctionalParameters(KOTLIN_1_2),
|
InlineDefaultFunctionalParameters(KOTLIN_1_2),
|
||||||
SoundSmartCastsAfterTry(KOTLIN_1_2),
|
SoundSmartCastsAfterTry(KOTLIN_1_2),
|
||||||
DeprecatedFieldForInvisibleCompanionObject(KOTLIN_1_2),
|
DeprecatedFieldForInvisibleCompanionObject(KOTLIN_1_2),
|
||||||
|
|||||||
Reference in New Issue
Block a user