[
https://issues.apache.org/jira/browse/GROOVY-8539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16431603#comment-16431603
]
Paul King commented on GROOVY-8539:
-----------------------------------
Groovy is like Java and C (but not Ruby) in that it doesn't have a &&=
operator. So the alternative format is {{b[0] = b[0] & false}} but agreed the
binary compound-assignment operators should work and currently don't.
> Groovy fails to compile assignment operators on boolean array
> -------------------------------------------------------------
>
> Key: GROOVY-8539
> URL: https://issues.apache.org/jira/browse/GROOVY-8539
> Project: Groovy
> Issue Type: Bug
> Components: class generator
> Affects Versions: 3.0.0-alpha-1, 2.4.15
> Reporter: Tony Yoshicedo
> Priority: Major
>
> Groovy fails to compile:
> boolean[] b = [true]; b[0] &= false;
> with an error:
> Caught: BUG! exception in phase 'class generation' in source unit
> 'script_from_command_line' should not reach here
> BUG! exception in phase 'class generation' in source unit
> 'script_from_command_line' should not reach here
> when running:
> groovy -e "boolean[] b = [true]; b[0] &= false;"
> Alternative formats work fine, such as:
> groovy -e "boolean[] b = [true]; b[0] = false && b[0];"
> Similarly affects |= and ^= operators.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)