mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
method return type in not used: fix for literal expressions(IDEA-184798)
This commit is contained in:
+13
-2
@@ -56,8 +56,11 @@ public class RefJavaUtilImpl extends RefJavaUtil{
|
||||
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);
|
||||
final RefElement refResolved = refFrom.getRefManager().getReference(resolve);
|
||||
refFrom.addReference(refResolved, resolve, psiFrom, false, true, null);
|
||||
if (refResolved instanceof RefMethod) {
|
||||
updateRefMethod(resolve, refResolved, expression, psiFrom, refFrom);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -239,6 +242,14 @@ public class RefJavaUtilImpl extends RefJavaUtil{
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (refExpression instanceof PsiLiteralExpression){ //references in literal expressions
|
||||
PsiType returnType = psiMethod.getReturnType();
|
||||
if (!psiMethod.isConstructor() && !PsiType.VOID.equals(returnType)) {
|
||||
refMethod.setReturnValueUsed(true);
|
||||
addTypeReference(psiFrom, returnType, refFrom.getRefManager());
|
||||
}
|
||||
return;
|
||||
}
|
||||
PsiMethodCallExpression call = PsiTreeUtil.getParentOfType(
|
||||
refExpression,
|
||||
PsiMethodCallExpression.class
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<problems/>
|
||||
@@ -0,0 +1,9 @@
|
||||
class Test {
|
||||
static String foo() {
|
||||
return "";
|
||||
}
|
||||
|
||||
{
|
||||
Test.class.getMethod("foo");
|
||||
}
|
||||
}
|
||||
@@ -55,6 +55,10 @@ public class UnusedReturnValueTest extends InspectionTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testFromReflection() {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testSimpleSetter() {
|
||||
try {
|
||||
myTool.IGNORE_BUILDER_PATTERN = true;
|
||||
|
||||
Reference in New Issue
Block a user