[
https://issues.apache.org/jira/browse/GROOVY-2456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17467970#comment-17467970
]
Paul King commented on GROOVY-2456:
-----------------------------------
I think rather than _disconnecting_ "in" from "isCase" it would be changing
how, e.g. how {{BinaryExpressionTransformer#transformInOperation}} works, from:
{code}
// transform "left [!]in right" into "right.is[Not]Case(left)"
{code}
to:
{code}
// transform "left [!]in right" into "(right as List).is[Not]Case(left)"
{code}
> Support in-Keyword for Strings
> ------------------------------
>
> Key: GROOVY-2456
> URL: https://issues.apache.org/jira/browse/GROOVY-2456
> Project: Groovy
> Issue Type: New Feature
> Components: groovy-jdk
> Affects Versions: 1.5.1
> Reporter: Bernd Schiffer
> Priority: Major
>
> assert 'abc'.contains('a') //1
> assert 'a' in ('abc'as List) //2
> assert 'a' in 'abc' //3 this breaks
> You ask a string if a substring is contained in it (//1). You can do that
> with the in-Keyword with Lists (//2), too. But you can't do this with the
> in-Keyword with Strings. It would be a consistent behaviour from Groovy if
> you could do //3.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)