Jochen Theodorou created GROOVY-11111:
-----------------------------------------
Summary: MethodNode isDefault check not correct
Key: GROOVY-11111
URL: https://issues.apache.org/jira/browse/GROOVY-11111
Project: Groovy
Issue Type: Bug
Components: Compiler
Reporter: Jochen Theodorou
{code:Java}
public boolean isDefault() {
return (modifiers & (ACC_ABSTRACT | ACC_PUBLIC | ACC_STATIC)) ==
ACC_PUBLIC &&
Optional.ofNullable(getDeclaringClass()).filter(ClassNode::isInterface).isPresent();
}
{code}
isPresent gives true if the value represented by the option exists, but not
what value it is. Here isPresent would return true even if the class node
represents a class and not an interface. While this cannot happen so far unless
forced, I still suggest to replace isPresent with orElse(false)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)