Fix for PR 18700: False positive Design8 (lambda expression containing function call).
Fixed it by having ASTLambdaExpression.isFindBoundary() return true, analogous to ASTClassOrInterfaceBodyDeclaration.isFindBoundary().
This commit is contained in:
@ -15,6 +15,10 @@ class ASTLambdaExpression extends AbstractJavaAccessNode {
|
||||
super(p, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFindBoundary() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Accept the visitor. **/
|
||||
public Object jjtAccept(JavaParserVisitor visitor, Object data) {
|
||||
|
@ -105,6 +105,22 @@ public class Foo {
|
||||
</test-code>
|
||||
<test-code>
|
||||
<description><![CDATA[
|
||||
method in lambda expression is ok
|
||||
]]></description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
public Foo(String s) {
|
||||
addActionListener(() -> bar());
|
||||
addActionListener(() -> { bar(); });
|
||||
addActionListener((a) -> { bar(); });
|
||||
}
|
||||
public void bar() {}
|
||||
}
|
||||
]]></code>
|
||||
</test-code>
|
||||
<test-code>
|
||||
<description><![CDATA[
|
||||
bug report 975407
|
||||
]]></description>
|
||||
<expected-problems>0</expected-problems>
|
||||
|
Reference in New Issue
Block a user