[ 
https://issues.apache.org/jira/browse/GROOVY-7957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-7957:
--------------------------------
    Language: groovy

> Allow static compilation of builders that implement methodMissing / 
> propertyMissing
> -----------------------------------------------------------------------------------
>
>                 Key: GROOVY-7957
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7957
>             Project: Groovy
>          Issue Type: New Feature
>          Components: GEP
>            Reporter: Graeme Rocher
>            Priority: Major
>
> Similar to Scala's {{Dynamic}} 
> http://www.scala-lang.org/api/current/index.html#scala.Dynamic
> We should be able to write builders that are usable from statically compiled 
> code. To achieve this I recommend the following:
> {code}
> // if the object implements methodMissing dispatch to it
> foo.bar("blah")      ~~> foo.methodMissing("bar", "blah")
> // if the object implements propertyMissing dispatch to it
> foo.var1           ~~> foo.propertyMissing("var1")
> // if the object implements propertyMissing dispatch to it
> foo.var1 = 10      ~~> foo.propertyMissing("var1", 10)
> {code}
> When combined with GROOVY-7956 it would then be possibly to fully implement 
> builders that are compatible with {{@CompileStatic}} and certain existing 
> builders could be enhanced to take advantage of this feature {{JsonBuilder}}, 
> {{MarkupBuilder}} etc.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to