From f3bdf3e0f56db98c11d8612f6f3cb7f6beec2cc4 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 26 Oct 2017 10:17:21 +0300 Subject: [PATCH] AddJavadocIntention should not be available on whitespaces --- .../intention/impl/AddJavadocIntention.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddJavadocIntention.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddJavadocIntention.java index 596a5dea0cd4..667ea0cf9929 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddJavadocIntention.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddJavadocIntention.java @@ -21,19 +21,23 @@ public class AddJavadocIntention extends BaseElementAtCaretIntentionAction imple @Override public boolean isAvailable(@NotNull final Project project, final Editor editor, @NotNull PsiElement element) { - PsiElement targetElement = PsiTreeUtil.skipParentsOfType(element, PsiIdentifier.class, PsiJavaCodeReferenceElement.class, PsiJavaModuleReferenceElement.class); - if (targetElement instanceof PsiJavaDocumentedElement && - !(targetElement instanceof PsiTypeParameter) && - !(targetElement instanceof PsiAnonymousClass)) { - return ((PsiJavaDocumentedElement)targetElement).getDocComment() == null; - } + if (element instanceof PsiIdentifier || + element instanceof PsiJavaCodeReferenceElement || + element instanceof PsiJavaModuleReferenceElement) { + PsiElement targetElement = PsiTreeUtil.skipParentsOfType(element, PsiIdentifier.class, PsiJavaCodeReferenceElement.class, PsiJavaModuleReferenceElement.class); + if (targetElement instanceof PsiJavaDocumentedElement && + !(targetElement instanceof PsiTypeParameter) && + !(targetElement instanceof PsiAnonymousClass)) { + return ((PsiJavaDocumentedElement)targetElement).getDocComment() == null; + } - if (targetElement instanceof PsiPackageStatement) { - PsiFile file = targetElement.getContainingFile(); - return PackageUtil.isPackageInfoFile(file) && JavaDocumentationProvider.getPackageInfoComment(file) == null; - } - else if (PackageUtil.isPackageInfoFile(targetElement)) { - return JavaDocumentationProvider.getPackageInfoComment(targetElement) == null; + if (targetElement instanceof PsiPackageStatement) { + PsiFile file = targetElement.getContainingFile(); + return PackageUtil.isPackageInfoFile(file) && JavaDocumentationProvider.getPackageInfoComment(file) == null; + } + else if (PackageUtil.isPackageInfoFile(targetElement)) { + return JavaDocumentationProvider.getPackageInfoComment(targetElement) == null; + } } return false; }