inline superclass: replace refs to super inside javadoc (IDEA-159913)

This commit is contained in:
Anna Kozlova
2016-08-22 08:21:16 +03:00
parent b43003c733
commit ce2674fc62
5 changed files with 22 additions and 0 deletions
@@ -401,6 +401,14 @@ public class InlineSuperClassRefactoringProcessor extends FixableUsagesRefactori
}
}
}
@Override
public void visitReferenceElement(PsiJavaCodeReferenceElement reference) {
super.visitReferenceElement(reference);
if (reference.resolve() == mySuperClass && PsiTreeUtil.getParentOfType(reference, PsiComment.class) != null) {
replacementMap.put(new UsageInfo(reference), elementFactory.createClassReferenceElement(targetClass));
}
}
});
}
try {
@@ -0,0 +1,6 @@
interface Test {
/**
* {@link Test}
*/
void m();
}
@@ -0,0 +1,6 @@
interface Super {
/**
* {@link Super}
*/
void m();
}
@@ -0,0 +1 @@
interface Test extends Super {}
@@ -67,6 +67,7 @@ public class InlineSuperClassTest extends MultiFileTestCase {
public void testMultipleSubclasses() { doTestMultipleSubclasses(); }
public void testMultipleSubstitutions() { doTestMultipleSubclasses(); }
public void testMultipleSubclassesInheritsOneBaseBase() { doTestMultipleSubclasses(); }
public void testInlineClassUsedInJavadocLink() { doTest(); }
public void testInlineSuperclassExtendsList() { doTest(); }
public void testInterfaceHierarchyWithSubstitution() { doTest(); }
public void testTypeParameterBound() { doTest();}