groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul King (JIRA)" <>
Subject [jira] [Updated] (GROOVY-8580) CLONE - Support `var` keyword of Java10 (finalise behavior of keyword under @CompileStatic)
Date Mon, 14 May 2018 10:21:00 GMT


Paul King updated GROOVY-8580:
    Priority: Blocker  (was: Major)

> CLONE - Support `var` keyword of Java10 (finalise behavior of keyword under @CompileStatic)
> -------------------------------------------------------------------------------------------
>                 Key: GROOVY-8580
>                 URL:
>             Project: Groovy
>          Issue Type: New Feature
>            Reporter: Daniel Sun
>            Priority: Blocker
>             Fix For: 3.x
> As part of GROOVY-8498 there is now support for the {{var}} keyword to provide compatibility
> (Java 10)
> (targeted for Java 11)
> For dynamic Groovy, {{var}} is an alias for {{def}}. Under {{@CompileStatic}}, there
are three fairly obvious potential behaviors that could make sense for Groovy:
> * a direct alias for {{def}} in which case normal Groovy flow typing would apply (this
is currently what is implemented but is more flexible than what Java developers might expect)
> * similar to the alias for {{def}} in that it allows the inferred type to change as further
instructions are executed but it would only be allowed to change to sub-types of the initially
inferred type (needs further investigation but if possible would combine some of the nice
aspects of Groovy def and Java var behavior)
> * a direct equivalent of Java (this would be the most work and would differ greatly from
Groovy behavior and in general would be hard to marry up with Groovy semantics)
> We need to finalize the behavior we want before releasing non-alpha versions of Groovy

This message was sent by Atlassian JIRA

View raw message