mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[kotlin] AddAnnotationUseSiteTargetFix: don't suggest quick fix when there are no applicable use-site targets
^KTIJ-29573 GitOrigin-RevId: 235ae43b1f99b68b5b11f1e80c68de73bf029b24
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ba2a092654
commit
1be37bf052
+3
-1
@@ -15,7 +15,9 @@ import org.jetbrains.kotlin.psi.KtAnnotationEntry
|
||||
internal object WrongAnnotationTargetFixFactories {
|
||||
|
||||
val addAnnotationUseSiteTargetFixFactory = KotlinQuickFixFactory.ModCommandBased { diagnostic: KaFirDiagnostic.WrongAnnotationTarget ->
|
||||
val applicableUseSiteTargets = diagnostic.psi.getApplicableUseSiteTargets()
|
||||
val applicableUseSiteTargets = diagnostic.psi.getApplicableUseSiteTargets().takeIf {
|
||||
it.isNotEmpty()
|
||||
} ?: return@ModCommandBased emptyList()
|
||||
|
||||
listOfNotNull(
|
||||
AddAnnotationUseSiteTargetFix(diagnostic.psi, applicableUseSiteTargets)
|
||||
|
||||
+5
@@ -5640,6 +5640,11 @@ public abstract class HighLevelQuickFixTestGenerated extends AbstractHighLevelQu
|
||||
public void testGet() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/addAnnotationUseSiteTarget/get.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("notApplicable.kt")
|
||||
public void testNotApplicable() throws Exception {
|
||||
runTest("../../../idea/tests/testData/quickfix/addAnnotationUseSiteTarget/notApplicable.kt");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
@@ -438,6 +438,11 @@ public abstract class K1QuickFixTestGenerated extends AbstractK1QuickFixTest {
|
||||
public void testGet() throws Exception {
|
||||
runTest("testData/quickfix/addAnnotationUseSiteTarget/get.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("notApplicable.kt")
|
||||
public void testNotApplicable() throws Exception {
|
||||
runTest("testData/quickfix/addAnnotationUseSiteTarget/notApplicable.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Add use-site target" "false"
|
||||
// ERROR: This annotation is not applicable to target 'class'
|
||||
|
||||
@Target(AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER)
|
||||
annotation class Anno
|
||||
|
||||
@Anno<caret>
|
||||
class Foo
|
||||
Reference in New Issue
Block a user