Eric Milles created GROOVY-9615:
-----------------------------------

             Summary: ScriptBytecodeAdapter.invokeMethodOnSuper can trigger 
method on this in case of missing method
                 Key: GROOVY-9615
                 URL: https://issues.apache.org/jira/browse/GROOVY-9615
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.5.12, 3.0.4, 2.4.19
            Reporter: Eric Milles
            Assignee: Eric Milles


Consider the following:
{code:groovy}
class Outer {
    class Inner {
        void test() {
            super.whatever()
        }
    }
    void whatever() {
        assert false : 'should not have been called!'
    }
}
new Outer.Inner(new Outer()).test()
{code}

When method in Inner is called, instead of method missing exception, the method 
on Outer is called.  This is because ScriptBytecodeAdapter.invokeMethodOnSuper 
triggers MetaClassImpl.invokeMissingMethod, which calls its missingMethod 
reference regardless of isCallToSuper setting.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to