unused declaration: take refs from literals into account (IDEA-172447)

This commit is contained in:
Anna Kozlova
2017-05-16 09:08:10 +03:00
parent 9eba9dd2df
commit 350f588c09
4 changed files with 26 additions and 0 deletions
@@ -55,6 +55,17 @@ public class RefJavaUtilImpl extends RefJavaUtil{
}
}
@Override
public void visitLiteralExpression(PsiLiteralExpression expression) {
for (PsiReference reference : expression.getReferences()) {
PsiElement resolve = reference.resolve();
if (resolve instanceof PsiMember) {
final RefElement refClass = refFrom.getRefManager().getReference(resolve);
refFrom.addReference(refClass, resolve, psiFrom, false, true, null);
}
}
}
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
visitElement(expression);
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
</problems>
@@ -0,0 +1,7 @@
class Util {
static void foo() { }
public static void main(String[] args) throws Throwable {
Util.class.getMethod("foo");
}
}
@@ -194,4 +194,8 @@ public class UnusedDeclarationTest extends AbstractUnusedDeclarationTest {
public void testDeprecatedAsEntryPoint() {
doTest();
}
public void testReferenceFromReflection() {
doTest();
}
}