disable convert anonymous -> lambda when non qualified getClass is called

This commit is contained in:
anna
2012-10-22 16:52:51 +02:00
parent 336f08abc3
commit 3c796d7901
2 changed files with 17 additions and 1 deletions

View File

@@ -80,7 +80,12 @@ public class AnonymousCanBeLambdaInspection extends BaseJavaLocalInspectionTool
@Override
public void visitMethodCallExpression(PsiMethodCallExpression methodCallExpression) {
super.visitMethodCallExpression(methodCallExpression);
if (methodCallExpression.resolveMethod() == methods[0]) {
final PsiMethod psiMethod = methodCallExpression.resolveMethod();
if (psiMethod == methods[0] ||
psiMethod != null &&
!methodCallExpression.getMethodExpression().isQualified() &&
"getClass".equals(psiMethod.getName()) &&
psiMethod.getParameterList().getParametersCount() == 0) {
bodyContainsForbiddenRefs[0] = true;
}
}

View File

@@ -0,0 +1,11 @@
// "Replace with lambda" "false"
class Test {
{
new Ru<caret>nnable() {
@Override
public void run() {
Class c = getClass();
}
};
}
}