mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
quick doc: don't generate qNames for local classes (IDEA-184455)
This commit is contained in:
@@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.TypeConversionUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -261,7 +262,7 @@ public class JavaDocUtil {
|
||||
shortName = "null";
|
||||
}
|
||||
PsiClass containingClass = aClass.getContainingClass();
|
||||
while (containingClass != null && containingClass.isPhysical()) {
|
||||
while (containingClass != null && containingClass.isPhysical() && !PsiUtil.isLocalOrAnonymousClass(containingClass)) {
|
||||
shortName = containingClass.getName() + "." + shortName;
|
||||
containingClass = containingClass.getContainingClass();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<html><head><base href="placeholder"> <style type="text/css"> #error { background-color: #eeeeee; margin-bottom: 10px; } p { margin: 5px 0; } </style></head><body><PRE>class <b>Foo</b>
|
||||
extends <a href="psi_element://java.lang.Object"><code>Object</code></a></PRE></body></html>
|
||||
@@ -0,0 +1,8 @@
|
||||
class Test {
|
||||
Object obj = new Object() {
|
||||
class Foo {
|
||||
}
|
||||
|
||||
Foo x;
|
||||
};
|
||||
}
|
||||
+8
@@ -225,6 +225,14 @@ public class JavaDocInfoGeneratorTest extends CodeInsightTestCase {
|
||||
doTestLambdaParameter();
|
||||
}
|
||||
|
||||
public void testLocalClassInsideAnonymous() throws Exception {
|
||||
PsiClass testClass = getTestClass();
|
||||
PsiExpression initializer = testClass.getFields()[0].getInitializer();
|
||||
assertInstanceOf(initializer, PsiNewExpression.class);
|
||||
PsiClass localClass = ((PsiNewExpression)initializer).getAnonymousClass().getInnerClasses()[0];
|
||||
verifyJavaDoc(localClass);
|
||||
}
|
||||
|
||||
private void doTestClass() throws Exception {
|
||||
PsiClass psiClass = getTestClass();
|
||||
verifyJavaDoc(psiClass);
|
||||
|
||||
Reference in New Issue
Block a user