class sun.awt.XSettings$Update
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.awt.XSettings$Update
super_class: java.lang.Object
{
private static final int LITTLE_ENDIAN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int BIG_ENDIAN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int TYPE_INTEGER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int TYPE_STRING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int TYPE_COLOR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private byte[] data;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int dlen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int idx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isLittle;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long serial;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int nsettings;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isValid;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap updatedSettings;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
final sun.awt.XSettings this$0;
descriptor: Lsun/awt/XSettings;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.awt.XSettings, byte[]);
descriptor: (Lsun/awt/XSettings;[B)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield sun.awt.XSettings$Update.this$0:Lsun/awt/XSettings;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield sun.awt.XSettings$Update.serial:J
2: aload 0
iconst_0
putfield sun.awt.XSettings$Update.nsettings:I
3: aload 0
aload 2
putfield sun.awt.XSettings$Update.data:[B
4: aload 0
aload 2
arraylength
putfield sun.awt.XSettings$Update.dlen:I
5: aload 0
getfield sun.awt.XSettings$Update.dlen:I
bipush 12
if_icmpge 7
6: return
7: StackMap locals: sun.awt.XSettings$Update sun.awt.XSettings byte[]
StackMap stack:
aload 0
iconst_0
putfield sun.awt.XSettings$Update.idx:I
8: aload 0
aload 0
invokevirtual sun.awt.XSettings$Update.getCARD8:()I
ifne 9
iconst_1
goto 10
StackMap locals:
StackMap stack: sun.awt.XSettings$Update
9: iconst_0
StackMap locals: sun.awt.XSettings$Update sun.awt.XSettings byte[]
StackMap stack: sun.awt.XSettings$Update int
10: putfield sun.awt.XSettings$Update.isLittle:Z
11: aload 0
iconst_4
putfield sun.awt.XSettings$Update.idx:I
12: aload 0
aload 0
invokevirtual sun.awt.XSettings$Update.getCARD32:()J
putfield sun.awt.XSettings$Update.serial:J
13: aload 0
bipush 8
putfield sun.awt.XSettings$Update.idx:I
14: aload 0
aload 0
invokevirtual sun.awt.XSettings$Update.getINT32:()I
putfield sun.awt.XSettings$Update.nsettings:I
15: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield sun.awt.XSettings$Update.updatedSettings:Ljava/util/HashMap;
16: aload 0
iconst_1
putfield sun.awt.XSettings$Update.isValid:Z
17: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/XSettings$Update;
0 18 2 data [B
MethodParameters:
Name Flags
this$0 final
data
private void needBytes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.awt.XSettings$Update.idx:I
iload 1
iadd
aload 0
getfield sun.awt.XSettings$Update.dlen:I
if_icmpgt 2
1: return
2: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.awt.XSettings$Update.idx:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc " need "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc " length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.awt.XSettings$Update.dlen:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/XSettings$Update;
0 6 1 n I
Exceptions:
throws java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
n
private int getCARD8();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual sun.awt.XSettings$Update.needBytes:(I)V
1: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
baload
sipush 255
iand
istore 1
start local 1 2: aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
putfield sun.awt.XSettings$Update.idx:I
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/XSettings$Update;
2 4 1 val I
Exceptions:
throws java.lang.IndexOutOfBoundsException
private int getCARD16();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_2
invokevirtual sun.awt.XSettings$Update.needBytes:(I)V
1: aload 0
getfield sun.awt.XSettings$Update.isLittle:Z
ifeq 6
2: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_0
iadd
baload
sipush 255
iand
3: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
4: ior
istore 1
start local 1 5: goto 9
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_0
iadd
baload
sipush 255
iand
bipush 8
ishl
7: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
baload
sipush 255
iand
8: ior
istore 1
start local 1 9: StackMap locals: int
StackMap stack:
aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_2
iadd
putfield sun.awt.XSettings$Update.idx:I
10: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/awt/XSettings$Update;
5 6 1 val I
9 11 1 val I
Exceptions:
throws java.lang.IndexOutOfBoundsException
private int getINT32();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_4
invokevirtual sun.awt.XSettings$Update.needBytes:(I)V
1: aload 0
getfield sun.awt.XSettings$Update.isLittle:Z
ifeq 10
2: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_0
iadd
baload
sipush 255
iand
3: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
4: ior
5: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
6: ior
7: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_3
iadd
baload
sipush 255
iand
bipush 24
ishl
8: ior
istore 1
start local 1 9: goto 17
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_0
iadd
baload
sipush 255
iand
bipush 24
ishl
11: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
baload
sipush 255
iand
bipush 16
ishl
12: ior
13: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_2
iadd
baload
sipush 255
iand
bipush 8
ishl
14: ior
15: aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iconst_3
iadd
baload
sipush 255
iand
iconst_0
ishl
16: ior
istore 1
start local 1 17: StackMap locals: int
StackMap stack:
aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_4
iadd
putfield sun.awt.XSettings$Update.idx:I
18: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/awt/XSettings$Update;
9 10 1 val I
17 19 1 val I
Exceptions:
throws java.lang.IndexOutOfBoundsException
private long getCARD32();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.awt.XSettings$Update.getINT32:()I
i2l
ldc 4294967295
land
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/XSettings$Update;
Exceptions:
throws java.lang.IndexOutOfBoundsException
private java.lang.String getString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.awt.XSettings$Update.needBytes:(I)V
1: aconst_null
astore 2
start local 2 2: new java.lang.String
dup
aload 0
getfield sun.awt.XSettings$Update.data:[B
aload 0
getfield sun.awt.XSettings$Update.idx:I
iload 1
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
astore 2
3: goto 5
StackMap locals: sun.awt.XSettings$Update int java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.awt.XSettings$Update.idx:I
iload 1
iadd
iconst_3
iadd
bipush -4
iand
putfield sun.awt.XSettings$Update.idx:I
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/XSettings$Update;
0 7 1 len I
2 7 2 str Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
len
public java.util.Map update();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.awt.XSettings$Update.isValid:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.this$0:Lsun/awt/XSettings;
dup
astore 1
monitorenter
3: aload 0
getfield sun.awt.XSettings$Update.this$0:Lsun/awt/XSettings;
getfield sun.awt.XSettings.serial:J
lstore 2
start local 2 4: aload 0
getfield sun.awt.XSettings$Update.serial:J
lload 2
lcmp
ifgt 7
5: aload 1
monitorexit
6: aconst_null
areturn
7: StackMap locals: sun.awt.XSettings long
StackMap stack:
iconst_0
istore 4
start local 4 8: goto 11
9: StackMap locals: int
StackMap stack:
aload 0
lload 2
invokevirtual sun.awt.XSettings$Update.updateOne:(J)V
10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 0
getfield sun.awt.XSettings$Update.nsettings:I
if_icmpge 12
aload 0
getfield sun.awt.XSettings$Update.idx:I
aload 0
getfield sun.awt.XSettings$Update.dlen:I
if_icmplt 9
end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.this$0:Lsun/awt/XSettings;
aload 0
getfield sun.awt.XSettings$Update.serial:J
putfield sun.awt.XSettings.serial:J
end local 2 13: aload 1
monitorexit
14: goto 17
StackMap locals: sun.awt.XSettings$Update sun.awt.XSettings
StackMap stack: java.lang.Throwable
15: aload 1
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.updatedSettings:Ljava/util/HashMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/awt/XSettings$Update;
4 13 2 currentSerial J
8 12 4 i I
Exception table:
from to target type
3 6 15 any
7 14 15 any
15 16 15 any
private void updateOne(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD8:()I
istore 3
start local 3 1: aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_1
iadd
putfield sun.awt.XSettings$Update.idx:I
2: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD16:()I
istore 4
start local 4 3: aload 0
getfield sun.awt.XSettings$Update.idx:I
istore 5
start local 5 4: aload 0
aload 0
getfield sun.awt.XSettings$Update.idx:I
iload 4
iadd
iconst_3
iadd
bipush -4
iand
putfield sun.awt.XSettings$Update.idx:I
5: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD32:()J
lstore 6
start local 6 6: lload 6
lload 1
lcmp
ifgt 21
7: iload 3
ifne 10
8: aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_4
iadd
putfield sun.awt.XSettings$Update.idx:I
9: goto 20
StackMap locals: sun.awt.XSettings$Update long int int int long
StackMap stack:
10: iload 3
iconst_1
if_icmpne 14
11: aload 0
invokevirtual sun.awt.XSettings$Update.getINT32:()I
istore 8
start local 8 12: aload 0
aload 0
getfield sun.awt.XSettings$Update.idx:I
iload 8
iadd
iconst_3
iadd
bipush -4
iand
putfield sun.awt.XSettings$Update.idx:I
end local 8 13: goto 20
StackMap locals:
StackMap stack:
14: iload 3
iconst_2
if_icmpne 17
15: aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
bipush 8
iadd
putfield sun.awt.XSettings$Update.idx:I
16: goto 20
17: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
21: StackMap locals:
StackMap stack:
aload 0
iload 5
putfield sun.awt.XSettings$Update.idx:I
22: aload 0
iload 4
invokevirtual sun.awt.XSettings$Update.getString:(I)Ljava/lang/String;
astore 8
start local 8 23: aload 0
dup
getfield sun.awt.XSettings$Update.idx:I
iconst_4
iadd
putfield sun.awt.XSettings$Update.idx:I
24: aconst_null
astore 9
start local 9 25: iload 3
ifne 28
26: aload 0
invokevirtual sun.awt.XSettings$Update.getINT32:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 9
27: goto 43
28: StackMap locals: java.lang.String java.lang.Object
StackMap stack:
iload 3
iconst_1
if_icmpne 31
29: aload 0
aload 0
invokevirtual sun.awt.XSettings$Update.getINT32:()I
invokevirtual sun.awt.XSettings$Update.getString:(I)Ljava/lang/String;
astore 9
30: goto 43
31: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpne 42
32: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD16:()I
istore 10
start local 10 33: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD16:()I
istore 11
start local 11 34: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD16:()I
istore 12
start local 12 35: aload 0
invokevirtual sun.awt.XSettings$Update.getCARD16:()I
istore 13
start local 13 36: new java.awt.Color
dup
iload 10
i2f
ldc 65535.0
fdiv
37: iload 11
i2f
ldc 65535.0
fdiv
38: iload 12
i2f
ldc 65535.0
fdiv
39: iload 13
i2f
ldc 65535.0
fdiv
40: invokespecial java.awt.Color.<init>:(FFFF)V
astore 9
end local 13 end local 12 end local 11 end local 10 41: goto 43
42: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals:
StackMap stack:
aload 8
ifnonnull 45
44: return
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.XSettings$Update.updatedSettings:Ljava/util/HashMap;
aload 8
aload 9
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
46: return
end local 9 end local 8 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/awt/XSettings$Update;
0 47 1 currentSerial J
1 47 3 type I
3 47 4 nameLen I
4 47 5 nameIdx I
6 47 6 lastChanged J
12 13 8 len I
23 47 8 name Ljava/lang/String;
25 47 9 value Ljava/lang/Object;
33 41 10 r I
34 41 11 g I
35 41 12 b I
36 41 13 a I
Exceptions:
throws java.lang.IndexOutOfBoundsException, java.lang.IllegalArgumentException
MethodParameters:
Name Flags
currentSerial
}
SourceFile: "XSettings.java"
NestHost: sun.awt.XSettings
InnerClasses:
Update = sun.awt.XSettings$Update of sun.awt.XSettings