Hi Rémi, I did not catch your words just now. That is great that we do not need wait for the release of ASM :)
Cheers, Daniel.Sun 在 "Remi Forax [via Groovy]" <ml-node+s329449n5737158...@n5.nabble.com>,2016年12月9日 上午4:38写道: 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" <[hidden email]> > À: [hidden email] > 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. ________________________________ If you reply to this email, your message will be added to the discussion below: http://groovy.329449.n5.nabble.com/Default-Method-for-Groovy-3-tp5737154p5737158.html To unsubscribe from Default Method for Groovy 3, click here<http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5737154&code=cmVhbGJsdWVzdW5AaG90bWFpbC5jb218NTczNzE1NHwxMTQ2MjE4MjI1>. NAML<http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> -- View this message in context: http://groovy.329449.n5.nabble.com/Default-Method-for-Groovy-3-tp5737154p5737162.html Sent from the Groovy Dev mailing list archive at Nabble.com.