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)

Reply via email to