Extend fixes of experimental errors to property & type alias

#KT-25525 Fixed
#KT-25526 Fixed
This commit is contained in:
Mikhail Glukhikh
2018-08-21 15:43:27 +03:00
parent f6571effcc
commit 4113a6fd6a
8 changed files with 104 additions and 1 deletions
@@ -29,7 +29,9 @@ object ExperimentalFixesFactory : KotlinIntentionActionsFactory() {
val containingDeclaration: KtDeclaration = element.getParentOfTypesAndPredicate(
true,
KtDeclarationWithBody::class.java,
KtClassOrObject::class.java
KtClassOrObject::class.java,
KtProperty::class.java,
KtTypeAlias::class.java
) {
!KtPsiUtil.isLocal(it)
} ?: return emptyList()
@@ -0,0 +1,15 @@
// "Add '@TopMarker' annotation to 'topUserVal'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
@Experimental
annotation class TopMarker
@TopMarker
class TopClass
@Target(AnnotationTarget.TYPE)
@TopMarker
annotation class TopAnn
val topUserVal: @<caret>TopAnn TopClass? = null
@@ -0,0 +1,16 @@
// "Add '@TopMarker' annotation to 'topUserVal'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
@Experimental
annotation class TopMarker
@TopMarker
class TopClass
@Target(AnnotationTarget.TYPE)
@TopMarker
annotation class TopAnn
@TopMarker
val topUserVal: @TopAnn TopClass? = null
+12
View File
@@ -0,0 +1,12 @@
// "Add '@UseExperimental(AliasMarker::class)' annotation to 'AliasMarkerUsage'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
// ACTION: Add '-Xuse-experimental=AliasMarker' to module light_idea_test_case compiler arguments
@Experimental
annotation class AliasMarker
@AliasMarker
class AliasTarget
typealias AliasMarkerUsage = <caret>AliasTarget
+12
View File
@@ -0,0 +1,12 @@
// "Add '@UseExperimental(AliasMarker::class)' annotation to 'AliasMarkerUsage'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
// ACTION: Add '-Xuse-experimental=AliasMarker' to module light_idea_test_case compiler arguments
@Experimental
annotation class AliasMarker
@AliasMarker
class AliasTarget
@UseExperimental(AliasMarker::class) typealias AliasMarkerUsage = AliasTarget
@@ -0,0 +1,15 @@
// "Add '@TopMarker' annotation to 'topUserVal'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
@Experimental
annotation class TopMarker
@TopMarker
class TopClass
@Target(AnnotationTarget.TYPE)
@TopMarker
annotation class TopAnn
val topUserVal: @TopAnn <caret>TopClass? = null
@@ -0,0 +1,16 @@
// "Add '@TopMarker' annotation to 'topUserVal'" "true"
// COMPILER_ARGUMENTS: -Xuse-experimental=kotlin.Experimental
// WITH_RUNTIME
@Experimental
annotation class TopMarker
@TopMarker
class TopClass
@Target(AnnotationTarget.TYPE)
@TopMarker
annotation class TopAnn
@TopMarker
val topUserVal: @TopAnn TopClass? = null
@@ -6164,6 +6164,11 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/experimental"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), TargetBackend.ANY, true);
}
@TestMetadata("annotationInTopLevelProperty.kt")
public void testAnnotationInTopLevelProperty() throws Exception {
runTest("idea/testData/quickfix/experimental/annotationInTopLevelProperty.kt");
}
@TestMetadata("basicFunction.kt")
public void testBasicFunction() throws Exception {
runTest("idea/testData/quickfix/experimental/basicFunction.kt");
@@ -6223,6 +6228,16 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
public void testSwitchOn() throws Exception {
runTest("idea/testData/quickfix/experimental/switchOn.kt");
}
@TestMetadata("typeAlias.kt")
public void testTypeAlias() throws Exception {
runTest("idea/testData/quickfix/experimental/typeAlias.kt");
}
@TestMetadata("typeInTopLevelProperty.kt")
public void testTypeInTopLevelProperty() throws Exception {
runTest("idea/testData/quickfix/experimental/typeInTopLevelProperty.kt");
}
}
@TestMetadata("idea/testData/quickfix/expressions")