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

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

-        super(annotationType.getName().toString() +
+        super(annotationType.getName() +

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