You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/10/29 01:49:29 UTC

[jira] [Commented] (GROOVY-7650) CLONE - collectEntries throws cryptic error when used with split(delimiter, limit)

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

ASF GitHub Bot commented on GROOVY-7650:
----------------------------------------

GitHub user paulk-asert opened a pull request:

    https://github.com/apache/incubator-groovy/pull/166

    GROOVY-7650: CLONE - collectEntries throws cryptic error when used wi…

    …th split(delimiter, limit) (closes #166)

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paulk-asert/incubator-groovy groovy7650

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-groovy/pull/166.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #166
    
----
commit 7be5f9eb1b9cbe07188a96616bc5a3988765dab3
Author: paulk <pa...@asert.com.au>
Date:   2015-10-29T00:47:11Z

    GROOVY-7650: CLONE - collectEntries throws cryptic error when used with split(delimiter, limit) (closes #166)

----


> CLONE - collectEntries throws cryptic error when used with split(delimiter, limit)
> ----------------------------------------------------------------------------------
>
>                 Key: GROOVY-7650
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7650
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.5
>         Environment: Java 7, 8 - all versions
> MacOS
>            Reporter: Rahul Somasunderam
>
> Here is my code
> {code}
> def cityList = '''\
> 1 San Francisco
> 2 Cupertino
> '''
> def cityMap = cityList.split('\n').
>     collectEntries{ it.split(' ', 2).toList() }
>     
> def cityMap2 = cityList.split('\n').
>     collectEntries{ it.split(' ', 2) }
> {code}
> I initially only tried the second approach, and got an exception that was rather hard to debug:
> {code}
> Exception thrown
> java.lang.ClassFormatError: Illegal class name "String;4_groovyProxy" in class file String;4_groovyProxy
> 	at ConsoleScript6.run(ConsoleScript6:8)
> {code}
> Gold would be if Groovy deals with this out of the box.
> Silver would be if the error message told me what was wrong.
> The link to the discussion is here - http://groovy.329449.n5.nabble.com/Illegal-class-name-String-1-groovyProxy-tp5728011.html
> {panel:title=Note|bgColor=#FFFFCE}
> Issue split - this part is to handle the incorrect naming for arrays with ProxyGeneratorAdapter
> {panel}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)