ASF GitHub Bot commented on GROOVY-7941:

GitHub user paulk-asert opened a pull request:


    GROOVY-7941: MissingMethodException should limit argument types in ge…


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

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

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


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

    This closes #426
commit bec7c31b5781518634a8b9a270372a32cdb636f0
Author: paulk <pa...@asert.com.au>
Date:   2016-09-19T06:03:18Z

    GROOVY-7941: MissingMethodException should limit argument types in 


> MissingMethodException should limit argument types in getMessage()
> ------------------------------------------------------------------
>                 Key: GROOVY-7941
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7941
>             Project: Groovy
>          Issue Type: Improvement
>          Components: groovy-jdk
>    Affects Versions: 2.4.7
>         Environment: All Environments
>            Reporter: Vlad Shtibin
>            Priority: Trivial
>         Attachments: add_missing_method_limit.patch
> The getMessage() method in MissingMethodException uses 
> InvokerHelper.toTypeString(Object[] arguments) to generate the types of each 
> argument. When this exception occurs with a large parameter list this can 
> create a very large String. The format method which is used 2 lines later to 
> print the values uses a 40 character limit, I'd like to propose to use 
> similar logic for the types as well.
> Here is a trivial code snippet from groovysh - this log message can grow 
> unbounded:
> {code}
> groovy:000> missing(*("Test".getBytes()))
> ERROR groovy.lang.MissingMethodException:
> No signature of method: groovysh_evaluate.missing() is applicable for 
> argument types: (java.lang.Byte, java.lang.Byte, java.lang.Byte, 
> java.lang.Byte) values: [84, 101, 115, 116]
> Possible solutions: toString(), toString()
> {code}

This message was sent by Atlassian JIRA

Reply via email to