[jira] [Commented] (GROOVY-8879) @NamedVariant on extension method

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (GROOVY-8879) @NamedVariant on extension method

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/GROOVY-8879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16690817#comment-16690817 ]

Vladimír Oraný commented on GROOVY-8879:
----------------------------------------

Right, now it makes sense! It would be great if there is such an option which would preserve the first argument. What about @NamedVariant(extensionMethod=true) which tells more about the purpose then the implementation?

> @NamedVariant on extension method
> ---------------------------------
>
>                 Key: GROOVY-8879
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8879
>             Project: Groovy
>          Issue Type: Bug
>          Components: Static compilation
>    Affects Versions: 2.5.2
>            Reporter: Vladimír Oraný
>            Priority: Major
>
> I have a method on Java interface
>  
> {code:java}
> RelationshipDefinition source(String cardinality, String title);{code}
>  
> And I want to create an extension method (as using @NamedVariant in Java sources is not supported)
>  
> {code:java}
> @NamedVariant
> static RelationshipDefinition source(RelationshipDefinition definition @NamedDelegate TitleAndCardinality tac) {
>     return definition.source(tac.cardinality, tac.title)
> }{code}
>  
> I got an error when I try to use the method such as follows:
>  
> {code:java}
> definition.source(cardinality: '1'){code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)