[ https://issues.apache.org/jira/browse/GROOVY-11237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17790853#comment-17790853 ]
ASF GitHub Bot commented on GROOVY-11237: ----------------------------------------- paulk-asert commented on code in PR #2001: URL: https://github.com/apache/groovy/pull/2001#discussion_r1408619139 ########## src/test/groovy/InterfaceTest.groovy: ########## @@ -91,4 +91,19 @@ final class InterfaceTest extends CompilableTestSupport { assert impl2.foo() == 'hello from Foo#foo' ''' } + + // GROOVY-11237 + void testStaticInterfaceMethod() { + assertScript ''' + interface Foo { + static hello(where) { "hello $where" } + static String BAR = 'bar' + String BAA = 'baa' // implicit static + } + + assert Foo.hello('world') == 'hello world' + assert Foo.BAR == 'bar' + assert Foo.BAA == 'baa' + ''' Review Comment: Added > Support static interface methods > -------------------------------- > > Key: GROOVY-11237 > URL: https://issues.apache.org/jira/browse/GROOVY-11237 > Project: Groovy > Issue Type: Sub-task > Components: Compiler > Reporter: Christopher Smith > Assignee: Paul King > Priority: Major > > Apologies if this is a dupe, but I went back as far as 6000, and GROOVY-8299 > is the only relevant ticket I saw. > Since Java 8, interfaces can carry static methods like classes. Groovy still > (as of 3.0.8) does not support adding static methods to interfaces. > {code} > The method 'java.lang.String dynamoTableNameForType(java.lang.String)' from > interface 'com.example.HasDynamo' must not be static. Only fields may be > static in an interface. > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)