8015470: (ann) IncompleteAnnotationException does not need to call toString (original) (raw)

David Holmes david.holmes at oracle.com
Wed May 29 01:31:16 UTC 2013


On 28/05/2013 11:08 PM, Remi Forax wrote:

On 05/28/2013 02:48 PM, David Holmes wrote:

Sorry it didn't register that getName() already returns a String - hence the toString() is redundant - but minimally so.

David The second call to toString() also performs an implicit nullcheck (elementName can not be null). So if we have to fix something, it's only to remove the call to toString() after the call to getName().

Good catch Remi!

Otavio: I don't want to dissuade you from getting involved but as Remi indicates your suggested change becomes simply

and this is such a minor change to interpreted performance (the JIT will remove the toString call) that I don't think it is worth the process overhead (testing etc) to actually make this change. As I said in other email sometimes there are non-obvious reasons (like null checks :) ) that code has to be kept in its current form.

David

cheers, Rémi

On 28/05/2013 9:15 PM, David Holmes wrote: Please see my reply under your original subject line.

This is not a bug. David On 28/05/2013 7:37 PM, Otávio Gonçalves de Santana wrote: diff --git a/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java

b/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java --- a/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java +++ b/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java @@ -55,9 +55,9 @@ public IncompleteAnnotationException( Class<? extends Annotation> annotationType, String elementName) { - super(annotationType.getName().toString() + + super(annotationType.getName() + " missing element " + - elementName.toString()); + elementName); this.annotationType = annotationType; this.elementName = elementName;



More information about the core-libs-dev mailing list