Hi Daniel, as you have discovered, there is no flag for specifying a default method in the JVM spec, hence no ACC_DEFAULT flag in ASM, a default method is just a non abstract method in an interface.
Also default and static methods in interface can be either public or private. cheers, Rémi ----- Mail original ----- > De: "Daniel Sun" <realblue...@hotmail.com> > À: d...@groovy.incubator.apache.org > Envoyé: Jeudi 8 Décembre 2016 18:40:14 > Objet: Default Method for Groovy 3 > Hi all, > > The new parser(Parrot) supports default method now. You can find > the new feature at the enhancedInterface branch of groovy-parser project > <https://github.com/danielsun1106/groovy-parser/tree/enhancedInterface> ( > https://github.com/danielsun1106/groovy-parser/commit/89f45ac86e7945ef81283697b6ed9018e997a045 > ). If no problem with the implementation, I'll merge it into the master > later. > > *Here is an example:* > > interface Greetable { > String name(); > default String hello() { > return 'hello' > } > } > > class Person implements Greetable { > @Override > public String name() { > return 'Daniel' > } > } > > def p = new Person() > assert 'hello, Daniel' == "${p.hello()}, ${p.name()}" > > *Another more complicated example can be found at:* > https://github.com/danielsun1106/groovy-parser/blob/enhancedInterface/src/test/resources/core/DefaultMethod_02x.groovy > > > Cheers, > Daniel.Sun > > > > > -- > View this message in context: > http://groovy.329449.n5.nabble.com/Default-Method-for-Groovy-3-tp5737154.html > Sent from the Groovy Dev mailing list archive at Nabble.com.