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

Paul King commented on GROOVY-7941:
-----------------------------------

Given that we are limiting the number of characters devoted to displaying types 
I also used {{getSimpleName()}} on the type for the standard default import 
classes/packages.

> 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
(v6.3.4#6332)

Reply via email to