Hi Rémi,
As to the "default" modifier, we have to wait for the release of newer ASM
to support it ;)
Thanks for your reminding.
Cheers,
Daniel.Sun
在 "Remi Forax [via Groovy]"
<[email protected]>,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-tp5737154p5737161.html
Sent from the Groovy Dev mailing list archive at Nabble.com.