anonym -> lambda: reject refs to the next static from static field initializer

This commit is contained in:
Anna.Kozlova
2016-03-21 21:11:36 +01:00
parent 6fc9953a82
commit f6faa42d85
2 changed files with 15 additions and 1 deletions
@@ -508,7 +508,7 @@ public class AnonymousCanBeLambdaInspection extends BaseJavaBatchLocalInspection
final PsiExpression initializer = ((PsiField)resolved).getInitializer();
if (initializer == null ||
resolved == member ||
initializer.getTextOffset() > myAnonymClass.getTextOffset() && !((PsiField)resolved).hasModifierProperty(PsiModifier.STATIC)) {
initializer.getTextOffset() > myAnonymClass.getTextOffset() && ((PsiField)resolved).hasModifierProperty(PsiModifier.STATIC) == member.hasModifierProperty(PsiModifier.STATIC)) {
myBodyContainsForbiddenRefs = true;
return;
}
@@ -0,0 +1,14 @@
// "Replace with lambda" "false"
import java.util.function.Function;
class Test {
private static final Function<String, String> FUN = new Fun<caret>ction<String, String>() {
@Override
public String apply(final String s) {
return B_FUN.apply(s);
}
};
private static final Function<String, String> B_FUN = null;
}