You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Christopher Smith (Jira)" <ji...@apache.org> on 2024/01/05 20:52:00 UTC

[jira] [Created] (GROOVY-11270) Don't truncate argument types in MissingMethodException

Christopher Smith created GROOVY-11270:
------------------------------------------

             Summary: Don't truncate argument types in MissingMethodException
                 Key: GROOVY-11270
                 URL: https://issues.apache.org/jira/browse/GROOVY-11270
             Project: Groovy
          Issue Type: Improvement
          Components: groovy-runtime
    Affects Versions: 4.0.17
            Reporter: Christopher Smith


The {{MissingMethodException#getMessage():63}} builder truncates the string indicating the types of the supplied (mismatching) arguments at 60 characters, which may not be enough to contain a single FQCN. I have spent a good deal of time debugging an error in which heap pollution and updated enforcement of type checking causes a {{List}} that is erroneously passed to a closure expecting a {{Set}} used to work (only basic collection methods are called) but now fails.

The error message truncates the type of the runtime arguments, which would have instantly revealed the problem ({{List}} instead of {{Set}}). I don't see a good reason why this important information should be truncated, at least at anything short of a very high limit (4k or so). I request replacement of the 60-character limit with -1 or at least 4096.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)