public class org.aspectj.weaver.WeaverStateInfo
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.weaver.WeaverStateInfo
super_class: java.lang.Object
{
private java.util.List<org.aspectj.weaver.WeaverStateInfo$Entry> typeMungers;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/aspectj/weaver/WeaverStateInfo$Entry;>;
private boolean oldStyle;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean reweavable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean reweavableCompressedMode;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean reweavableDiffMode;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.String> aspectsAffectingType;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private byte[] unwovenClassFile;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private static boolean reweavableDefault;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean reweavableCompressedModeDefault;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean reweavableDiffModeDefault;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] key;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private boolean unwovenClassFileIsADiff;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
int compressionEnabled;
descriptor: I
flags: (0x0000)
private static final int UNTOUCHED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int WOVEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int EXTENDED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final byte REWEAVABLE_BIT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final byte REWEAVABLE_COMPRESSION_BIT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final byte REWEAVABLE_DIFF_BIT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final byte[] NO_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableDefault:Z
1: iconst_0
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableCompressedModeDefault:Z
2: iconst_1
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableDiffModeDefault:Z
3: bipush 16
newarray 8
dup
iconst_0
bipush -51
bastore
dup
iconst_1
bipush 34
bastore
dup
iconst_2
bipush 105
bastore
dup
iconst_3
bipush 56
bastore
dup
iconst_4
bipush -34
bastore
dup
iconst_5
bipush 65
bastore
dup
bipush 6
bipush 45
bastore
dup
bipush 7
bipush 78
bastore
dup
bipush 8
bipush -26
bastore
dup
bipush 9
bipush 125
bastore
dup
bipush 10
bipush 114
bastore
dup
bipush 11
bipush 97
bastore
dup
bipush 12
bipush 98
bastore
dup
bipush 13
iconst_1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
bipush -42
bastore
putstatic org.aspectj.weaver.WeaverStateInfo.key:[B
4: iconst_0
newarray 8
putstatic org.aspectj.weaver.WeaverStateInfo.NO_BYTES:[B
return
LocalVariableTable:
Start End Slot Name Signature
private void checkCompressionEnabled();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
ifne 8
1: aload 0
iconst_1
putfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
2: ldc "aspectj.compression.weaverstateinfo"
ldc "false"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 3: aload 1
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "ASPECTJ: aspectj.compression.weaverstateinfo=true: compressing weaverstateinfo"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: aload 0
iconst_2
putfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
end local 1 6: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
7: pop
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/aspectj/weaver/WeaverStateInfo;
3 6 1 value Ljava/lang/String;
Exception table:
from to target type
2 6 7 Class java.lang.Throwable
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFileIsADiff:Z
2: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
iconst_0
iload 1
getstatic org.aspectj.weaver.WeaverStateInfo.reweavableCompressedModeDefault:Z
getstatic org.aspectj.weaver.WeaverStateInfo.reweavableDiffModeDefault:Z
invokespecial org.aspectj.weaver.WeaverStateInfo.<init>:(Ljava/util/List;ZZZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 reweavable Z
MethodParameters:
Name Flags
reweavable
private void <init>(java.util.List<org.aspectj.weaver.WeaverStateInfo$Entry>, boolean, boolean, boolean, );
descriptor: (Ljava/util/List;ZZZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFileIsADiff:Z
2: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
3: aload 0
aload 1
putfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
4: aload 0
iload 2
putfield org.aspectj.weaver.WeaverStateInfo.oldStyle:Z
5: aload 0
iload 3
putfield org.aspectj.weaver.WeaverStateInfo.reweavable:Z
6: aload 0
iload 4
putfield org.aspectj.weaver.WeaverStateInfo.reweavableCompressedMode:Z
7: aload 0
iload 3
ifeq 8
iload 5
goto 9
StackMap locals: org.aspectj.weaver.WeaverStateInfo java.util.List int int int int
StackMap stack: org.aspectj.weaver.WeaverStateInfo
8: iconst_0
StackMap locals: org.aspectj.weaver.WeaverStateInfo java.util.List int int int int
StackMap stack: org.aspectj.weaver.WeaverStateInfo int
9: putfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
10: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
11: aload 0
aconst_null
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 13 1 typeMungers Ljava/util/List<Lorg/aspectj/weaver/WeaverStateInfo$Entry;>;
0 13 2 oldStyle Z
0 13 3 reweavableMode Z
0 13 4 reweavableCompressedMode Z
0 13 5 reweavableDiffMode Z
Signature: (Ljava/util/List<Lorg/aspectj/weaver/WeaverStateInfo$Entry;>;ZZZZ)V
MethodParameters:
Name Flags
typeMungers
oldStyle
reweavableMode
reweavableCompressedMode
reweavableDiffMode
public static void setReweavableModeDefaults(boolean, boolean, boolean);
descriptor: (ZZZ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableDefault:Z
1: iload 1
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableCompressedModeDefault:Z
2: iload 2
putstatic org.aspectj.weaver.WeaverStateInfo.reweavableDiffModeDefault:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 mode Z
0 4 1 compress Z
0 4 2 diff Z
MethodParameters:
Name Flags
mode
compress
diff
public static final org.aspectj.weaver.WeaverStateInfo read(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/WeaverStateInfo;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readByte:()B
istore 2
start local 2 1: iload 2
bipush 16
iand
ifeq 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifeq 6
5: iload 2
bipush 16
isub
i2b
istore 2
6: StackMap locals: int
StackMap stack:
iload 2
bipush 32
iand
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: iload 4
ifeq 11
10: iload 2
bipush 32
isub
i2b
istore 2
11: StackMap locals: int
StackMap stack:
iload 2
bipush 64
iand
ifeq 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 5
start local 5 14: iload 5
ifeq 16
15: iload 2
bipush 64
isub
i2b
istore 2
16: StackMap locals: int
StackMap stack:
iload 2
tableswitch { // 0 - 3
0: 17
1: 43
2: 18
3: 19
default: 43
}
17: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "unexpected UNWOVEN"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
new org.aspectj.weaver.WeaverStateInfo
dup
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_1
iload 3
iload 4
iload 5
invokespecial org.aspectj.weaver.WeaverStateInfo.<init>:(Ljava/util/List;ZZZZ)V
areturn
19: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 20: aload 0
invokevirtual org.aspectj.weaver.VersionedDataInputStream.isAtLeast169:()Z
ifeq 22
21: aload 0
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readBoolean:()Z
istore 6
22: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readShort:()S
istore 7
start local 7 23: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 24: iconst_0
istore 9
start local 9 25: goto 39
26: StackMap locals: int java.util.List int
StackMap stack:
aconst_null
astore 10
start local 10 27: iload 6
ifeq 35
28: aload 0
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readShort:()S
istore 11
start local 11 29: aload 0
iload 11
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readUtf8:(I)Ljava/lang/String;
astore 12
start local 12 30: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 33
31: getstatic org.aspectj.weaver.ResolvedType.MISSING:Lorg/aspectj/weaver/ResolvedType$Missing;
astore 10
32: goto 36
33: StackMap locals: org.aspectj.weaver.UnresolvedType int java.lang.String
StackMap stack:
aload 12
invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
astore 10
end local 12 end local 11 34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
invokestatic org.aspectj.weaver.UnresolvedType.read:(Ljava/io/DataInputStream;)Lorg/aspectj/weaver/UnresolvedType;
astore 10
36: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.aspectj.weaver.ResolvedTypeMunger.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/ResolvedTypeMunger;
astore 11
start local 11 37: aload 8
new org.aspectj.weaver.WeaverStateInfo$Entry
dup
aload 10
aload 11
invokespecial org.aspectj.weaver.WeaverStateInfo$Entry.<init>:(Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/ResolvedTypeMunger;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 38: iinc 9 1
StackMap locals:
StackMap stack:
39: iload 9
iload 7
if_icmplt 26
end local 9 40: new org.aspectj.weaver.WeaverStateInfo
dup
aload 8
iconst_0
iload 3
iload 4
iload 5
invokespecial org.aspectj.weaver.WeaverStateInfo.<init>:(Ljava/util/List;ZZZZ)V
astore 9
start local 9 41: aload 9
aload 0
iload 6
invokestatic org.aspectj.weaver.WeaverStateInfo.readAnyReweavableData:(Lorg/aspectj/weaver/WeaverStateInfo;Lorg/aspectj/weaver/VersionedDataInputStream;Z)V
42: aload 9
areturn
end local 9 end local 8 end local 7 end local 6 43: StackMap locals: org.aspectj.weaver.VersionedDataInputStream org.aspectj.weaver.ISourceContext int int int int
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "bad WeaverState.Kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". File was :"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
44: aload 1
ifnonnull 45
ldc "unknown"
goto 46
StackMap locals: org.aspectj.weaver.VersionedDataInputStream org.aspectj.weaver.ISourceContext int int int int
StackMap stack: new 43 new 43 java.lang.StringBuilder
45: aload 1
iconst_0
iconst_0
invokeinterface org.aspectj.weaver.ISourceContext.makeSourceLocation:(II)Lorg/aspectj/bridge/ISourceLocation;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals: org.aspectj.weaver.VersionedDataInputStream org.aspectj.weaver.ISourceContext int int int int
StackMap stack: new 43 new 43 java.lang.StringBuilder java.lang.String
46: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 s Lorg/aspectj/weaver/VersionedDataInputStream;
0 48 1 context Lorg/aspectj/weaver/ISourceContext;
1 48 2 b B
4 48 3 isReweavable Z
9 48 4 isReweavableCompressed Z
14 48 5 isReweavableDiff Z
20 43 6 isCompressed Z
23 43 7 n I
24 43 8 l Ljava/util/List<Lorg/aspectj/weaver/WeaverStateInfo$Entry;>;
25 40 9 i I
27 38 10 aspectType Lorg/aspectj/weaver/UnresolvedType;
29 34 11 cpIndex I
30 34 12 signature Ljava/lang/String;
37 38 11 typeMunger Lorg/aspectj/weaver/ResolvedTypeMunger;
41 43 9 wsi Lorg/aspectj/weaver/WeaverStateInfo;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
context
public void write(org.aspectj.weaver.CompressingDataOutputStream);
descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.aspectj.weaver.WeaverStateInfo.checkCompressionEnabled:()V
1: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.oldStyle:Z
ifne 2
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableCompressedMode:Z
ifeq 3
2: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "shouldn't be writing this"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iconst_3
istore 2
start local 2 4: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavable:Z
ifeq 6
5: iload 2
bipush 16
ior
i2b
istore 2
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
ifeq 9
7: aload 1
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.write:([B)V
8: iload 2
bipush 64
ior
i2b
istore 2
9: StackMap locals:
StackMap stack:
aload 1
iload 2
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeByte:(I)V
10: aload 1
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.compressionEnabled:I
iconst_2
if_icmpne 11
iconst_1
goto 12
StackMap locals:
StackMap stack: org.aspectj.weaver.CompressingDataOutputStream
11: iconst_0
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int
StackMap stack: org.aspectj.weaver.CompressingDataOutputStream int
12: putfield org.aspectj.weaver.CompressingDataOutputStream.compressionEnabled:Z
13: aload 1
aload 1
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.canCompress:()Z
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeBoolean:(Z)V
14: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 15: aload 1
iload 3
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeShort:(I)V
16: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int int top java.util.Iterator
StackMap stack:
17: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.WeaverStateInfo$Entry
astore 4
start local 4 18: aload 1
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.canCompress:()Z
ifeq 21
19: aload 1
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.aspectType:Lorg/aspectj/weaver/UnresolvedType;
invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeCompressedSignature:(Ljava/lang/String;)V
20: goto 22
21: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int int org.aspectj.weaver.WeaverStateInfo$Entry java.util.Iterator
StackMap stack:
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.aspectType:Lorg/aspectj/weaver/UnresolvedType;
aload 1
invokevirtual org.aspectj.weaver.UnresolvedType.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
22: StackMap locals:
StackMap stack:
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.typeMunger:Lorg/aspectj/weaver/ResolvedTypeMunger;
aload 1
invokevirtual org.aspectj.weaver.ResolvedTypeMunger.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
end local 4 23: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
24: aload 0
aload 1
aload 1
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.canCompress:()Z
invokestatic org.aspectj.weaver.WeaverStateInfo.writeAnyReweavableData:(Lorg/aspectj/weaver/WeaverStateInfo;Lorg/aspectj/weaver/CompressingDataOutputStream;Z)V
end local 3 25: goto 29
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int
StackMap stack: java.lang.Throwable
26: astore 6
27: aload 1
iconst_1
putfield org.aspectj.weaver.CompressingDataOutputStream.compressionEnabled:Z
28: aload 6
athrow
29: StackMap locals:
StackMap stack:
aload 1
iconst_1
putfield org.aspectj.weaver.CompressingDataOutputStream.compressionEnabled:Z
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 31 1 s Lorg/aspectj/weaver/CompressingDataOutputStream;
4 31 2 weaverStateInfoKind B
15 25 3 n I
18 23 4 e Lorg/aspectj/weaver/WeaverStateInfo$Entry;
Exception table:
from to target type
10 26 26 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public void markOverweavingInUse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
1: aload 0
getstatic org.aspectj.weaver.WeaverStateInfo.NO_BYTES:[B
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public void addConcreteMunger(org.aspectj.weaver.ConcreteTypeMunger);
descriptor: (Lorg/aspectj/weaver/ConcreteTypeMunger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
new org.aspectj.weaver.WeaverStateInfo$Entry
dup
aload 1
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getAspectType:()Lorg/aspectj/weaver/ResolvedType;
aload 1
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getMunger:()Lorg/aspectj/weaver/ResolvedTypeMunger;
invokespecial org.aspectj.weaver.WeaverStateInfo$Entry.<init>:(Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/ResolvedTypeMunger;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 munger Lorg/aspectj/weaver/ConcreteTypeMunger;
MethodParameters:
Name Flags
munger
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "WeaverStateInfo(aspectsAffectingType="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.oldStyle:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public java.util.List<org.aspectj.weaver.ConcreteTypeMunger> getTypeMungers(org.aspectj.weaver.ResolvedType);
descriptor: (Lorg/aspectj/weaver/ResolvedType;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.aspectj.weaver.ResolvedType.getWorld:()Lorg/aspectj/weaver/World;
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.typeMungers:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.ResolvedType org.aspectj.weaver.World java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.WeaverStateInfo$Entry
astore 4
start local 4 4: aload 2
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.aspectType:Lorg/aspectj/weaver/UnresolvedType;
iconst_1
invokevirtual org.aspectj.weaver.World.resolve:(Lorg/aspectj/weaver/UnresolvedType;Z)Lorg/aspectj/weaver/ResolvedType;
astore 6
start local 6 5: aload 6
invokevirtual org.aspectj.weaver.ResolvedType.isMissing:()Z
ifeq 10
6: aload 2
getstatic org.aspectj.bridge.IMessage.ERROR:Lorg/aspectj/bridge/IMessage$Kind;
ldc "aspectNeeded"
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.aspectType:Lorg/aspectj/weaver/UnresolvedType;
aload 1
invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
7: aload 1
invokevirtual org.aspectj.weaver.ResolvedType.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
aconst_null
8: invokevirtual org.aspectj.weaver.World.showMessage:(Lorg/aspectj/bridge/IMessage$Kind;Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;Lorg/aspectj/bridge/ISourceLocation;)V
9: goto 11
10: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.ResolvedType org.aspectj.weaver.World java.util.List org.aspectj.weaver.WeaverStateInfo$Entry java.util.Iterator org.aspectj.weaver.ResolvedType
StackMap stack:
aload 3
new org.aspectj.weaver.TemporaryTypeMunger
dup
aload 4
getfield org.aspectj.weaver.WeaverStateInfo$Entry.typeMunger:Lorg/aspectj/weaver/ResolvedTypeMunger;
aload 6
invokespecial org.aspectj.weaver.TemporaryTypeMunger.<init>:(Lorg/aspectj/weaver/ResolvedTypeMunger;Lorg/aspectj/weaver/ResolvedType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 11: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.ResolvedType org.aspectj.weaver.World java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
12: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 13 1 onType Lorg/aspectj/weaver/ResolvedType;
1 13 2 world Lorg/aspectj/weaver/World;
2 13 3 ret Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
4 11 4 entry Lorg/aspectj/weaver/WeaverStateInfo$Entry;
5 11 6 aspectType Lorg/aspectj/weaver/ResolvedType;
Signature: (Lorg/aspectj/weaver/ResolvedType;)Ljava/util/List<Lorg/aspectj/weaver/ConcreteTypeMunger;>;
MethodParameters:
Name Flags
onType
public boolean isOldStyle();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.oldStyle:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public byte[] getUnwovenClassFileData();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public byte[] getUnwovenClassFileData(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFileIsADiff:Z
ifeq 3
1: aload 0
aload 0
aload 1
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
invokevirtual org.aspectj.weaver.WeaverStateInfo.applyDiff:([B[B)[B
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
2: aload 0
iconst_0
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFileIsADiff:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 4 1 wovenClassFile [B
MethodParameters:
Name Flags
wovenClassFile
public void setUnwovenClassFileData(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 data [B
MethodParameters:
Name Flags
data
public boolean isReweavable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/WeaverStateInfo;
public void setReweavable(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.aspectj.weaver.WeaverStateInfo.reweavable:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 rw Z
MethodParameters:
Name Flags
rw
public void addAspectsAffectingType(java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 aspects Ljava/util/Collection<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
aspects
public void addAspectAffectingType(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 2 1 aspectSignature Ljava/lang/String;
MethodParameters:
Name Flags
aspectSignature
public java.util.Set<java.lang.String> getAspectsAffectingType();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/WeaverStateInfo;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
private static void readAnyReweavableData(org.aspectj.weaver.WeaverStateInfo, org.aspectj.weaver.VersionedDataInputStream, boolean);
descriptor: (Lorg/aspectj/weaver/WeaverStateInfo;Lorg/aspectj/weaver/VersionedDataInputStream;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.aspectj.weaver.WeaverStateInfo.isReweavable:()Z
ifeq 43
1: aload 1
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readShort:()S
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 15
4: StackMap locals: int int
StackMap stack:
aconst_null
astore 5
start local 5 5: iload 2
ifeq 8
6: aload 1
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readSignature:()Ljava/lang/String;
astore 5
7: goto 13
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readUTF:()Ljava/lang/String;
astore 5
9: aload 1
invokevirtual org.aspectj.weaver.VersionedDataInputStream.getMajorVersion:()I
bipush 7
if_icmpge 13
10: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 11: aload 6
ldc "L"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
end local 6 13: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.aspectj.weaver.WeaverStateInfo.addAspectAffectingType:(Ljava/lang/String;)V
end local 5 14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmplt 4
end local 4 16: aload 1
invokevirtual org.aspectj.weaver.VersionedDataInputStream.readInt:()I
istore 4
start local 4 17: aconst_null
astore 5
start local 5 18: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableCompressedMode:Z
ifeq 34
19: iload 4
newarray 8
astore 5
20: new java.util.zip.ZipInputStream
dup
aload 1
invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
astore 6
start local 6 21: aload 6
invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
pop
22: iconst_0
istore 7
start local 7 23: iload 4
istore 8
start local 8 24: goto 28
25: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.VersionedDataInputStream int int int byte[] java.util.zip.ZipInputStream int int
StackMap stack:
aload 6
aload 5
iload 7
iload 8
invokevirtual java.util.zip.ZipInputStream.read:([BII)I
istore 9
start local 9 26: iload 7
iload 9
iadd
istore 7
27: iload 8
iload 9
isub
istore 8
end local 9 28: StackMap locals:
StackMap stack:
iload 8
ifgt 25
29: aload 6
invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
30: iload 8
ifeq 41
31: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ERROR whilst reading compressed reweavable data, expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
32: ldc " bytes, only found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 34: StackMap locals:
StackMap stack:
iload 4
newarray 8
astore 5
35: iload 4
ifeq 41
36: aload 1
aload 5
invokevirtual org.aspectj.weaver.VersionedDataInputStream.read:([B)I
istore 6
start local 6 37: iload 6
iload 4
if_icmpeq 41
38: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "ERROR whilst reading reweavable data, expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
39: ldc " bytes, only found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 41: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
putfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFileIsADiff:Z
42: aload 0
aload 5
invokevirtual org.aspectj.weaver.WeaverStateInfo.setUnwovenClassFileData:([B)V
end local 5 end local 4 end local 3 43: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 wsi Lorg/aspectj/weaver/WeaverStateInfo;
0 44 1 s Lorg/aspectj/weaver/VersionedDataInputStream;
0 44 2 compressed Z
2 43 3 numberAspectsAffectingType I
3 16 4 i I
5 14 5 str Ljava/lang/String;
11 13 6 sb Ljava/lang/StringBuilder;
17 43 4 unwovenClassFileSize I
18 43 5 classData [B
21 34 6 zis Ljava/util/zip/ZipInputStream;
23 34 7 current I
24 34 8 bytesToGo I
26 28 9 amount I
37 41 6 bytesread I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
wsi
s
compressed
public byte[] replaceKeyWithDiff(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
ifeq 23
1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 2: new java.io.DataOutputStream
dup
aload 2
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 3: aload 1
invokestatic org.aspectj.weaver.WeaverStateInfo.findEndOfKey:([B)I
istore 4
start local 4 4: iload 4
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
arraylength
isub
istore 5
start local 5 5: iload 5
iconst_4
isub
istore 6
start local 6 6: aload 1
iload 6
invokestatic org.aspectj.weaver.WeaverStateInfo.readInt:([BI)I
istore 7
start local 7 7: aload 1
iload 5
iload 4
invokestatic org.aspectj.weaver.WeaverStateInfo.deleteInArray:([BII)[B
astore 1
8: iload 6
newarray 8
astore 8
start local 8 9: aload 1
iconst_0
aload 8
iconst_0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
aload 8
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
invokevirtual org.aspectj.weaver.WeaverStateInfo.generateDiff:([B[B)[B
astore 9
start local 9 11: aload 3
aload 9
arraylength
invokevirtual java.io.DataOutputStream.writeInt:(I)V
12: aload 3
aload 9
invokevirtual java.io.DataOutputStream.write:([B)V
13: goto 15
StackMap locals: org.aspectj.weaver.WeaverStateInfo byte[] java.io.ByteArrayOutputStream java.io.DataOutputStream int int int int byte[] byte[]
StackMap stack: java.io.IOException
14: pop
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 9
16: iload 7
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
arraylength
isub
aload 9
arraylength
iadd
istore 10
start local 10 17: aload 0
iload 10
invokevirtual org.aspectj.weaver.WeaverStateInfo.serializeInt:(I)[B
astore 11
start local 11 18: aload 1
iload 6
aload 11
iconst_0
baload
bastore
19: aload 1
iload 6
iconst_1
iadd
aload 11
iconst_1
baload
bastore
20: aload 1
iload 6
iconst_2
iadd
aload 11
iconst_2
baload
bastore
21: aload 1
iload 6
iconst_3
iadd
aload 11
iconst_3
baload
bastore
22: aload 9
aload 1
iload 6
iconst_4
iadd
iload 7
iadd
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
arraylength
isub
invokestatic org.aspectj.weaver.WeaverStateInfo.insertArray:([B[BI)[B
astore 1
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 23: StackMap locals: org.aspectj.weaver.WeaverStateInfo byte[]
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 24 1 wovenClassFile [B
2 23 2 arrayStream Ljava/io/ByteArrayOutputStream;
3 23 3 s Ljava/io/DataOutputStream;
4 23 4 endOfKey I
5 23 5 startOfKey I
6 23 6 oldLengthLocation I
7 23 7 oldLength I
9 23 8 wovenClassFileUpToWSI [B
11 23 9 diff [B
17 23 10 newLength I
18 23 11 newLengthBytes [B
Exception table:
from to target type
11 13 14 Class java.io.IOException
MethodParameters:
Name Flags
wovenClassFile
private static final int findEndOfKey(byte[]);
descriptor: ([B)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
isub
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokestatic org.aspectj.weaver.WeaverStateInfo.endOfKeyHere:([BI)Z
ifeq 4
3: iload 1
iconst_1
iadd
ireturn
4: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
5: iload 1
ifgt 2
end local 1 6: new java.lang.RuntimeException
dup
ldc "key not found in wovenClassFile"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 wovenClassFile [B
1 6 1 i I
MethodParameters:
Name Flags
wovenClassFile
private static final boolean endOfKeyHere(byte[], int);
descriptor: ([BI)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
arraylength
iconst_1
isub
iload 2
isub
baload
aload 0
iload 1
iload 2
isub
baload
if_icmpeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
getstatic org.aspectj.weaver.WeaverStateInfo.key:[B
arraylength
if_icmplt 2
end local 2 6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 lookIn [B
0 7 1 i I
1 6 2 j I
MethodParameters:
Name Flags
lookIn
i
private static final byte[] insertArray(byte[], byte[], int);
descriptor: ([B[BI)[B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
arraylength
aload 0
arraylength
iadd
newarray 8
astore 3
start local 3 1: aload 1
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
iconst_0
aload 3
iload 2
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 1
iload 2
aload 3
iload 2
aload 0
arraylength
iadd
aload 1
arraylength
iload 2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 toInsert [B
0 5 1 original [B
0 5 2 offset I
1 5 3 result [B
MethodParameters:
Name Flags
toInsert
original
offset
private static final int readInt(byte[], int);
descriptor: ([BI)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayInputStream
dup
aload 0
iload 1
iconst_4
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
astore 2
start local 2 1: new java.io.DataInputStream
dup
aload 2
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 2: iconst_m1
istore 4
start local 4 3: aload 3
invokevirtual java.io.DataInputStream.readInt:()I
istore 4
4: goto 7
StackMap locals: byte[] int java.io.ByteArrayInputStream java.io.DataInputStream int
StackMap stack: java.io.IOException
5: pop
6: new java.lang.RuntimeException
dup
ldc "readInt called with a bad array or offset"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [B
0 8 1 offset I
1 8 2 b Ljava/io/ByteArrayInputStream;
2 8 3 d Ljava/io/DataInputStream;
3 8 4 length I
Exception table:
from to target type
3 4 5 Class java.io.IOException
MethodParameters:
Name Flags
a
offset
private static final byte[] deleteInArray(byte[], int, int);
descriptor: ([BII)[B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iload 1
isub
istore 3
start local 3 1: aload 0
arraylength
iload 3
isub
newarray 8
astore 4
start local 4 2: aload 0
iconst_0
aload 4
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
iload 2
aload 4
iload 1
aload 0
arraylength
iload 2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [B
0 5 1 start I
0 5 2 end I
1 5 3 lengthToDelete I
2 5 4 result [B
MethodParameters:
Name Flags
a
start
end
byte[] generateDiff(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0000)
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: bipush 10
istore 3
start local 3 1: aload 1
arraylength
aload 2
arraylength
if_icmpge 2
aload 1
arraylength
goto 3
StackMap locals: int
StackMap stack:
2: aload 2
arraylength
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 3 1
6: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 7
aload 1
iload 3
baload
aload 2
iload 3
baload
if_icmpeq 5
7: StackMap locals:
StackMap stack:
iload 3
bipush 10
isub
istore 5
start local 5 8: aload 2
arraylength
iconst_4
isub
iload 5
isub
newarray 8
astore 6
start local 6 9: aload 6
iconst_0
aload 2
bipush 8
baload
bastore
10: aload 6
iconst_1
aload 2
bipush 9
baload
bastore
11: aload 0
iload 5
invokevirtual org.aspectj.weaver.WeaverStateInfo.serializeInt:(I)[B
astore 7
start local 7 12: aload 6
iconst_2
aload 7
iconst_0
baload
bastore
13: aload 6
iconst_3
aload 7
iconst_1
baload
bastore
14: aload 6
iconst_4
aload 7
iconst_2
baload
bastore
15: aload 6
iconst_5
aload 7
iconst_3
baload
bastore
16: aload 2
bipush 10
iload 5
iadd
aload 6
bipush 6
aload 6
arraylength
bipush 6
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 18 1 wovenClassFile [B
0 18 2 unWovenClassFile [B
1 18 3 lookingAt I
4 18 4 shorterLength I
8 18 5 lengthInCommon I
9 18 6 diff [B
12 18 7 lengthInCommonBytes [B
MethodParameters:
Name Flags
wovenClassFile
unWovenClassFile
byte[] applyDiff(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0000)
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_2
invokestatic org.aspectj.weaver.WeaverStateInfo.readInt:([BI)I
istore 3
start local 3 1: iconst_4
aload 2
arraylength
iadd
iload 3
iadd
newarray 8
astore 4
start local 4 2: aload 1
iconst_0
aload 4
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 4
bipush 8
aload 2
iconst_0
baload
bastore
4: aload 4
bipush 9
aload 2
iconst_1
baload
bastore
5: aload 1
bipush 10
aload 4
bipush 10
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 2
bipush 6
aload 4
bipush 10
iload 3
iadd
aload 2
arraylength
bipush 6
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 8 1 wovenClassFile [B
0 8 2 diff [B
1 8 3 lengthInCommon I
2 8 4 unWovenClassFile [B
MethodParameters:
Name Flags
wovenClassFile
diff
private byte[] serializeInt(int);
descriptor: (I)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayOutputStream
dup
iconst_4
invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
astore 2
start local 2 1: new java.io.DataOutputStream
dup
aload 2
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 3
start local 3 2: aload 3
iload 1
invokevirtual java.io.DataOutputStream.writeInt:(I)V
3: goto 5
StackMap locals: org.aspectj.weaver.WeaverStateInfo int java.io.ByteArrayOutputStream java.io.DataOutputStream
StackMap stack: java.io.IOException
4: pop
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 6 1 i I
1 6 2 bos Ljava/io/ByteArrayOutputStream;
2 6 3 dos Ljava/io/DataOutputStream;
Exception table:
from to target type
2 3 4 Class java.io.IOException
MethodParameters:
Name Flags
i
private static void writeAnyReweavableData(org.aspectj.weaver.WeaverStateInfo, org.aspectj.weaver.CompressingDataOutputStream, boolean);
descriptor: (Lorg/aspectj/weaver/WeaverStateInfo;Lorg/aspectj/weaver/CompressingDataOutputStream;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.aspectj.weaver.WeaverStateInfo.isReweavable:()Z
ifeq 13
1: aload 1
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeShort:(I)V
2: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: iload 2
ifeq 7
5: aload 1
aload 3
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeCompressedSignature:(Ljava/lang/String;)V
6: goto 8
7: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int java.lang.String java.util.Iterator
StackMap stack:
aload 1
aload 3
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 3 8: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
astore 3
start local 3 10: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.reweavableDiffMode:Z
ifne 13
11: aload 1
aload 3
arraylength
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeInt:(I)V
12: aload 1
aload 0
getfield org.aspectj.weaver.WeaverStateInfo.unwovenClassFile:[B
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.write:([B)V
end local 3 13: StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.CompressingDataOutputStream int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 wsi Lorg/aspectj/weaver/WeaverStateInfo;
0 14 1 s Lorg/aspectj/weaver/CompressingDataOutputStream;
0 14 2 compress Z
4 8 3 type Ljava/lang/String;
10 13 3 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
wsi
s
compress
public boolean isAspectAlreadyApplied(org.aspectj.weaver.ResolvedType);
descriptor: (Lorg/aspectj/weaver/ResolvedType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.aspectj.weaver.ResolvedType.getSignature:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield org.aspectj.weaver.WeaverStateInfo.aspectsAffectingType:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.aspectj.weaver.WeaverStateInfo org.aspectj.weaver.ResolvedType java.lang.String top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 3
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/aspectj/weaver/WeaverStateInfo;
0 7 1 someAspect Lorg/aspectj/weaver/ResolvedType;
1 7 2 someAspectSignature Ljava/lang/String;
3 5 3 aspectSignature Ljava/lang/String;
MethodParameters:
Name Flags
someAspect
}
SourceFile: "WeaverStateInfo.java"
NestMembers:
org.aspectj.weaver.WeaverStateInfo$Entry
InnerClasses:
public final Kind = org.aspectj.bridge.IMessage$Kind of org.aspectj.bridge.IMessage
private Entry = org.aspectj.weaver.WeaverStateInfo$Entry of org.aspectj.weaver.WeaverStateInfo