You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2021/12/28 23:44:00 UTC
[jira] [Commented] (GROOVY-10433) "sealed" not usable as a restricted identifier
[ https://issues.apache.org/jira/browse/GROOVY-10433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17466258#comment-17466258 ]
Paul King commented on GROOVY-10433:
------------------------------------
I am still pondering options here but just to add some additional info.
The following two examples work in 3.0.9 but not 4:
{code:java}
def sealed() { false }
sealed()
{code}
and:
{code:java}
def sealed = { -> false }
sealed()
{code}
The following examples fail in both:
{code:java}
def private = { -> false }
private()
{code}
and:
{code:java}
def protected() { false }
protected()
{code}
and:
{code:java}
def public = false
def class = false
def interface = false
def def = false
{code}
The following example runs fine in both:
{code:java}
def sealed() { false }
def "non-sealed"() { false }
def "sealed"() { false}
def "private"() { false }
var var = false
this.private()
this.sealed()
this."non-sealed"()
{code}
> "sealed" not usable as a restricted identifier
> ----------------------------------------------
>
> Key: GROOVY-10433
> URL: https://issues.apache.org/jira/browse/GROOVY-10433
> Project: Groovy
> Issue Type: Bug
> Components: parser-antlr4
> Affects Versions: 4.0.0-rc-2
> Reporter: Eric Milles
> Priority: Major
>
> The restricted identifier "sealed" is not usable for a variable or member name any longer.
> {code:groovy}
> def sealed = false // fails to parse
> def record = false // okay
> def permits = false // okay
> class C {
> def sealed = false // fails to parse
> def record = false // okay
> def permits = false // okay
> }
> {code}
> And this should still work as minus: "\{ non, sealed -> return non-sealed \}"
--
This message was sent by Atlassian Jira
(v8.20.1#820001)