mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-21 22:11:40 +07:00
disable method reference replacement with qualifier (IDEA-164723)
This commit is contained in:
@@ -31,7 +31,7 @@ public class TrivialMethodReferenceInspection extends BaseJavaBatchLocalInspecti
|
||||
public void visitMethodReferenceExpression(PsiMethodReferenceExpression expression) {
|
||||
final PsiExpression qualifierExpression = expression.getQualifierExpression();
|
||||
final PsiElement referenceNameElement = expression.getReferenceNameElement();
|
||||
if (qualifierExpression != null && referenceNameElement != null) {
|
||||
if (qualifierExpression != null && referenceNameElement != null && !(qualifierExpression instanceof PsiSuperExpression)) {
|
||||
final PsiType qualifierType = qualifierExpression.getType();
|
||||
if (qualifierType != null) {
|
||||
final PsiType functionalInterfaceType = expression.getFunctionalInterfaceType();
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Replace with qualifier" "true"
|
||||
class A implements Runnable {
|
||||
public void run() {}
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
void f(Runnable r) {}
|
||||
|
||||
{
|
||||
f(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Replace with qualifier" "false"
|
||||
class A implements Runnable {
|
||||
public void run() {}
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
void f(Runnable r) {}
|
||||
|
||||
{
|
||||
f(super::ru<caret>n);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
// "Replace with qualifier" "true"
|
||||
class A implements Runnable {
|
||||
public void run() {}
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
void f(Runnable r) {}
|
||||
|
||||
{
|
||||
f(this::ru<caret>n);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user