diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java')
-rw-r--r-- | java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java b/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java index 7040347c4d0e..767077b3448e 100644 --- a/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java +++ b/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java @@ -28,7 +28,6 @@ import com.intellij.openapi.ui.InputValidatorEx; import com.intellij.openapi.ui.Messages; import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; -import com.intellij.psi.util.PsiUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -48,22 +47,15 @@ public class EditContractIntention extends BaseIntentionAction { @Nullable private static PsiMethod getTargetMethod(@NotNull Project project, Editor editor, PsiFile file) { - PsiElement element = file.findElementAt(editor.getCaretModel().getOffset()); - if (element == null) return null; - if (!element.getManager().isInProject(element) || CodeStyleSettingsManager.getSettings(project).USE_EXTERNAL_ANNOTATIONS) { - final PsiModifierListOwner owner = AddAnnotationPsiFix.getContainer(element); - if (owner instanceof PsiMethod) { - PsiElement original = owner.getOriginalElement(); - if (original instanceof PsiMethod) { - return (PsiMethod)original; - } - return (PsiMethod)owner; - } + final PsiModifierListOwner owner = AddAnnotationPsiFix.getContainer(file, editor.getCaretModel().getOffset()); + if (owner instanceof PsiMethod && + (!owner.getManager().isInProject(owner) || CodeStyleSettingsManager.getSettings(project).USE_EXTERNAL_ANNOTATIONS)) { + PsiElement original = owner.getOriginalElement(); + return original instanceof PsiMethod ? (PsiMethod)original : (PsiMethod)owner; } return null; } - @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { final PsiMethod method = getTargetMethod(project, editor, file); |