Paul King commented on GROOVY-7941:

Thanks for creating the issue and attaching the patch. I created a pull request.

No need to worry this time, but in the future, please consider creating such a 
PR yourself. It can help expedite getting proposed changes accepted and you get 
credit as a contributor in the codebase since your github user id will be 
retained if accepted and merged.

> 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