On Tue, 6 Dec 2022 16:13:12 GMT, Jorn Vernee <jver...@openjdk.org> wrote:

>> Various code cleanups around java.lang.invoke code. Started out with dead 
>> code removal in `jli.MemberName`, then piled on to fix a set of minor 
>> inefficiencies (excessive vararg array allocations, unnecessary defensive 
>> cloning of parameter arrays etc).
>
> src/java.base/share/classes/java/lang/invoke/MemberName.java line 578:
> 
>> 576:             throw new LinkageError(m.toString());
>> 577:         }
>> 578:         assert(isResolved());
> 
> I don't see why this can be removed. Can you explain?

the `if (clazz == null)` block above either returns or throws an error, so 
intellij was marking this as always true.

> src/java.base/share/classes/java/lang/invoke/MemberName.java line 657:
> 
>> 655:         this.name = fld.getName();
>> 656:         this.type = fld.getType();
>> 657:         // assert((REF_putStatic - REF_getStatic) == (REF_putField - 
>> REF_getField));
> 
> Intellij says this is always true. Maybe it could be put in the `static {}` 
> block instead?
> 
> Also, I think this should just be removed if it's not needed. (instead of 
> commented out)

Will fix by extracting to a `static` block above

-------------

PR: https://git.openjdk.org/jdk/pull/11540

Reply via email to