mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
append qualifier type args in canonical text, e.g. IDEA-60166
This commit is contained in:
+8
-1
@@ -18,6 +18,7 @@ package com.intellij.psi.impl.source;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleSettingsFacade;
|
||||
@@ -292,7 +293,13 @@ public class PsiJavaCodeReferenceElementImpl extends CompositePsiElement impleme
|
||||
name = aClass.getName(); //?
|
||||
}
|
||||
final PsiType[] types = getTypeParameters();
|
||||
if (types.length == 0) return name;
|
||||
if (types.length == 0) {
|
||||
final PsiElement qualifier = getQualifier();
|
||||
if (qualifier instanceof PsiJavaCodeReferenceElement) {
|
||||
return StringUtil.getQualifiedName(((PsiJavaCodeReferenceElement)qualifier).getCanonicalText(), aClass.getName());
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
final StringBuilder buf = new StringBuilder();
|
||||
buf.append(name);
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
class Node<E> {
|
||||
public class Details {
|
||||
public E data;
|
||||
}
|
||||
public Details addNode(Node<E> <warning descr="Parameter 'child' is never used">child</warning>) {
|
||||
return new Details();
|
||||
}
|
||||
}
|
||||
class Test5_1 {
|
||||
static Node<String>.Details details;
|
||||
public static void main(String[] args) {
|
||||
Node<String> stringNode = new Node<String>();
|
||||
details = <warning descr="Unchecked assignment: 'Node.Details' to 'Node<java.lang.String>.Details'">(Node.Details)stringNode.addNode(new Node<String>())</warning>;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -20,7 +20,7 @@ class UncheckedCastFalsePositive1<T> {
|
||||
UncheckedCastFalsePositive1<T> outer = ( UncheckedCastFalsePositive1<T> ) one;
|
||||
System.out.println(outer);
|
||||
|
||||
UncheckedCastFalsePositive1<T>.InnerClass inner = <warning descr="Unchecked cast: 'java.lang.Object' to 'UncheckedCastFalsePositive1.InnerClass'">( UncheckedCastFalsePositive1<T>.InnerClass ) two</warning>;
|
||||
UncheckedCastFalsePositive1<T>.InnerClass inner = <warning descr="Unchecked cast: 'java.lang.Object' to 'UncheckedCastFalsePositive1<T>.InnerClass'">( UncheckedCastFalsePositive1<T>.InnerClass ) two</warning>;
|
||||
System.out.println(inner);
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -167,4 +167,5 @@ public class LightAdvHighlightingJdk7Test extends LightDaemonAnalyzerTestCase {
|
||||
public void testUncheckedWarning() throws Exception { doTest(true, false); }
|
||||
public void testUncheckedWarningIDEA59290() throws Exception { doTest(true, false); }
|
||||
public void testUncheckedWarningIDEA70620() throws Exception { doTest(true, false); }
|
||||
public void testUncheckedWarningIDEA60166() throws Exception { doTest(true, false); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user