IDEA-113339 "replace with method reference" ignores side effect of expression: ignore any new expressions in qualifiers

This commit is contained in:
anna
2013-11-29 14:26:44 +01:00
parent 5252a51a04
commit 4920da736f
2 changed files with 19 additions and 0 deletions

View File

@@ -187,6 +187,12 @@ public class LambdaCanBeMethodReferenceInspection extends BaseJavaBatchLocalInsp
super.visitReferenceExpression(expression);
}
@Override
public void visitNewExpression(PsiNewExpression expression) {
usedInQualifier.set(true);
super.visitNewExpression(expression);
}
@Override
public void visitMethodCallExpression(PsiMethodCallExpression expression) {
usedInQualifier.set(true);

View File

@@ -0,0 +1,13 @@
// "Replace with method reference" "false"
class Test {
public interface I {
String m();
}
public static void main(String[] args) {
I<String> supplier = () -> new Ob<caret>ject().toString();
System.out.println(supplier.get());
System.out.println(supplier.get());
}
}