On Wed, 17 Feb 2021 16:32:39 GMT, Сергей Цыпанов <github.com+10835776+stsypa...@openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/invoke/DelegatingMethodHandle.java >> line 192: >> >>> 190: >>> 191: /* Placeholder class for DelegatingMethodHandles generated ahead >>> of time */ >>> 192: static final class Holder {} >> >> For the four `Holder` classes in `java.lang.invoke`, the class is generated >> when running jlink via `java.lang.invoke.GenerateJLIClassesHelper`. To stay >> in sync with the definition you'd have to update that code. Also, since >> these `Holder` classes will only contain static methods and are never >> instantiated then I'm not sure it matters whether the classes are static or >> not. > > I'll just revert them For static methods, since in java language you cannot declare static method in instance inner classes, I'd say making them static makes more sense language-wise. Also making them static reduces compiler synthetic instance field and constructors. ------------- PR: https://git.openjdk.java.net/jdk/pull/2589