correct javadoc qualified class name completion (IDEA-CR-8279)

This commit is contained in:
peter
2016-02-26 15:19:03 +01:00
parent be7f6efd58
commit 2bcb8887e0
2 changed files with 4 additions and 8 deletions
@@ -72,8 +72,9 @@ class JavaClassNameInsertHandler implements InsertHandler<JavaPsiClassReferenceE
AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(context.getEditor(), null);
}
if (PsiTreeUtil.getParentOfType(position, PsiDocComment.class, false) != null && shouldInsertFqnInJavadoc(item, file, project)) {
context.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), getJavadocQualifiedName(psiClass));
String qname = psiClass.getQualifiedName();
if (qname != null && PsiTreeUtil.getParentOfType(position, PsiDocComment.class, false) != null && shouldInsertFqnInJavadoc(item, file, project)) {
context.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), qname);
return;
}
@@ -122,11 +123,6 @@ class JavaClassNameInsertHandler implements InsertHandler<JavaPsiClassReferenceE
}
}
private static String getJavadocQualifiedName(PsiClass psiClass) {
PsiClass containingClass = psiClass.getContainingClass();
return containingClass != null ? getJavadocQualifiedName(containingClass) + "#" + psiClass.getName() : psiClass.getQualifiedName();
}
private static boolean shouldInsertFqnInJavadoc(@NotNull JavaPsiClassReferenceElement item,
@NotNull PsiFile file,
@NotNull Project project)
@@ -600,7 +600,7 @@ class Foo {
myFixture.addClass('package zoo; public class Outer { public static class FooBarGoo{}}')
myFixture.configureByText 'a.java', "/** FooBarGo<caret> */"
myFixture.completeBasic()
myFixture.checkResult "/** {@link zoo.Outer#FooBarGoo<caret>} */"
myFixture.checkResult "/** {@link zoo.Outer.FooBarGoo<caret>} */"
}
public void "test insert link to imported class"() {