Shil Sinha created GROOVY-7813: ---------------------------------- Summary: Calling a non-static outer class method from a static class passes STC Key: GROOVY-7813 URL: https://issues.apache.org/jira/browse/GROOVY-7813 Project: Groovy Issue Type: Bug Components: Static Type Checker Affects Versions: 2.4.6 Reporter: Shil Sinha Assignee: Shil Sinha
Example: {code} @groovy.transform.TypeChecked class Foo { def bar() { 2 } static class Baz { def doBar() { bar() } } } new Foo.Baz().doBar() {code} The {{doBar()}} call in the method above results in a MissingMethodException. If the code is statically compiled rather than just type checked, a VerifyError occurs instead. The usage of {{ClassNode#isStaticClass()}} within {{StaticTypeCheckingVisitor#findMethod(ClassNode, String, ClassNode...)}} seems to be responsible, as the former does not return true when the receiver is a static class. -- This message was sent by Atlassian JIRA (v6.3.4#6332)