[ https://issues.apache.org/jira/browse/GROOVY-7813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15233703#comment-15233703 ]
ASF GitHub Bot commented on GROOVY-7813: ---------------------------------------- GitHub user shils opened a pull request: https://github.com/apache/groovy/pull/309 GROOVY-7813: Calling a non-static outer class method from a static cl… …ass should fail STC You can merge this pull request into a Git repository by running: $ git pull https://github.com/shils/groovy GROOVY-7813 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/309.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #309 ---- commit ef18f20a62a99ade18a4fac9028fca7edf61419a Author: Shil Sinha <sh...@apache.org> Date: 2016-04-09T19:54:08Z GROOVY-7813: Calling a non-static outer class method from a static class should fail STC ---- > 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)