8015470: (ann) IncompleteAnnotationException does not need to call toString
Otávio Gonçalves de Santana
otaviojava at java.net
Wed May 29 11:03:40 UTC 2013
Thank you everyone.
I searched classes with this situation and I find these classes:
- sun.tools.java.MemberDefinition
- sun.rmi.rmic.Main
- sun.tools.jconsole.inspector.Utils
- com.sun.jndi.toolkit.dir.SearchFilter
- javax.swing.text.html.FormView
The diffs is in attachment
On Tue, May 28, 2013 at 10:31 PM, David Holmes <david.holmes at oracle.com>wrote:
> 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;
>>>>>
>>>>>
>>>>>
>>
--
Atenciosamente.
Otávio Gonçalves de Santana
blog: http://otaviosantana.blogspot.com.br/
twitter: http://twitter.com/otaviojava
site: http://www.otaviojava.com.br
(11) 98255-3513
More information about the core-libs-dev
mailing list