anonym -> lambda: forbid when result in illegal self reference (IDEA-126763)

This commit is contained in:
Anna Kozlova
2014-07-02 11:17:50 +02:00
parent b1dd065aa3
commit 1f8864bfa9
2 changed files with 10 additions and 0 deletions

View File

@@ -433,6 +433,7 @@ public class AnonymousCanBeLambdaInspection extends BaseJavaBatchLocalInspection
if (resolved instanceof PsiField && ((PsiField)resolved).getContainingClass() == field.getContainingClass()) {
final PsiExpression initializer = ((PsiField)resolved).getInitializer();
if (initializer == null ||
resolved == field ||
initializer.getTextOffset() > myAnonymClass.getTextOffset() && !((PsiField)resolved).hasModifierProperty(PsiModifier.STATIC)) {
myBodyContainsForbiddenRefs = true;
return;

View File

@@ -0,0 +1,9 @@
// "Replace with lambda" "false"
class Test {
Runnable runnable = new Runn<caret>able() {
@Override
public void run() {
System.out.println(runnable);
}
};
}