mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 04:51:24 +07:00
IDEA-113339 "replace with method reference" ignores side effect of expression: ignore any new expressions in qualifiers
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user