On Wed, 19 May 2021 21:53:35 GMT, Weijun Wang <[email protected]> wrote:
>> That's a sad limitation of the annotation stuff then, but I don't think that
>> it is insurmountable.
>> You can define a static private method to contain this and call it from the
>> static initializer block.
>> Much better than applying the annotation to an entire class.
>>
>> --- a/src/java.desktop/share/classes/java/awt/Component.java
>> +++ b/src/java.desktop/share/classes/java/awt/Component.java
>> @@ -618,6 +618,17 @@ public abstract class Component implements
>> ImageObserver, MenuContainer,
>> */
>> static boolean isInc;
>> static int incRate;
>> +
>> + private static void initIncRate() {
>> + String s = java.security.AccessController.doPrivileged(
>> + new
>> GetPropertyAction("awt.image.incrementaldraw"));
>> + isInc = (s == null || s.equals("true"));
>> +
>> + s = java.security.AccessController.doPrivileged(
>> + new GetPropertyAction("awt.image.redrawrate"));
>> + incRate = (s != null) ? Integer.parseInt(s) : 100;
>> + }
>> +
>> static {
>> /* ensure that the necessary native libraries are loaded */
>> Toolkit.loadLibraries();
>> @@ -625,14 +636,7 @@ public abstract class Component implements
>> ImageObserver, MenuContainer,
>> if (!GraphicsEnvironment.isHeadless()) {
>> initIDs();
>> }
>> -
>> - String s = java.security.AccessController.doPrivileged(
>> - new
>> GetPropertyAction("awt.image.incrementaldraw"));
>> - isInc = (s == null || s.equals("true"));
>> -
>> - s = java.security.AccessController.doPrivileged(
>> - new
>> GetPropertyAction("awt.image.redrawrate"));
>> - incRate = (s != null) ? Integer.parseInt(s) : 100;
>> + initIncRate();
>> }
>
> Correct, there are ways to modify the code to make it more
> annotation-friendly. We thought about whether it's good to do it before
> adding the annotations or after it. Our decision now is to do it after
> because it will be more easy to see why it's necessary and we can take time
> to do them little by little. A new enhancement at
> https://bugs.openjdk.java.net/browse/JDK-8267432 is filed.
I don't think it is a separate P4 enhancement (?) that someone will (maybe) do
next release.
I think it should all be taken care of as part of this proposed change.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4073