From 6b81ba1aefdbcbf72dbb5c1754d9238d5f9a3b98 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 6 Sep 2012 13:41:23 +0400 Subject: [PATCH] Using real annotation owner when creating popup menu action group to make it work for library without sources. --- .../codeInsight/ktSignature/DeleteSignatureAction.java | 3 ++- .../codeInsight/ktSignature/EditSignatureAction.java | 2 +- .../ktSignature/KotlinSignatureInJavaMarkerProvider.java | 8 ++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java index 1ff73f1a947..0e38bd74f14 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/DeleteSignatureAction.java @@ -24,6 +24,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiAnnotation; import com.intellij.psi.PsiMethod; +import org.jetbrains.annotations.NotNull; import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUtil.KOTLIN_SIGNATURE_ANNOTATION; import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUtil.findKotlinSignatureAnnotation; @@ -36,7 +37,7 @@ import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUt public class DeleteSignatureAction extends AnAction { private final PsiMethod annotationOwner; - public DeleteSignatureAction(PsiMethod annotationOwner) { + public DeleteSignatureAction(@NotNull PsiMethod annotationOwner) { super("Delete"); this.annotationOwner = annotationOwner; } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java index 374f57caef9..ee879515957 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/EditSignatureAction.java @@ -40,7 +40,7 @@ import static org.jetbrains.jet.plugin.codeInsight.ktSignature.KotlinSignatureUt public class EditSignatureAction extends AnAction { private final PsiMethod annotationOwner; - public EditSignatureAction(PsiMethod annotationOwner) { + public EditSignatureAction(@NotNull PsiMethod annotationOwner) { super("Edit"); this.annotationOwner = annotationOwner; } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java index dba2d26e0aa..f3e642e463b 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java @@ -108,8 +108,12 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { public ActionGroup getPopupMenuActions() { DefaultActionGroup actionGroup = new DefaultActionGroup(); - actionGroup.add(new EditSignatureAction(getElement())); - actionGroup.add(new DeleteSignatureAction(getElement())); + PsiMethod element = getElement(); + assert element != null; + PsiMethod annotationOwner = getAnnotationOwner(element); + + actionGroup.add(new EditSignatureAction(annotationOwner)); + actionGroup.add(new DeleteSignatureAction(annotationOwner)); return actionGroup; }