public class org.eclipse.jdt.internal.core.nd.field.FieldList<T> extends org.eclipse.jdt.internal.core.nd.field.BaseField implements org.eclipse.jdt.internal.core.nd.field.IDestructableField
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.nd.field.FieldList
super_class: org.eclipse.jdt.internal.core.nd.field.BaseField
{
public static final org.eclipse.jdt.internal.core.nd.field.FieldPointer FIRST_BLOCK;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.eclipse.jdt.internal.core.nd.field.FieldPointer LAST_BLOCK_WITH_ELEMENTS;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jdt.internal.core.nd.field.StructDef<org.eclipse.jdt.internal.core.nd.field.FieldList> type;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<Lorg/eclipse/jdt/internal/core/nd/field/FieldList;>;
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long MAX_BYTES_IN_A_CHUNK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.eclipse.jdt.internal.core.nd.field.StructDef<T> elementType;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
private final int elementsPerBlock;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jdt.internal.core.nd.field.StructDef<?> ownerType;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;
private final org.eclipse.jdt.internal.core.nd.db.ModificationLog$Tag allocateTag;
descriptor: Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jdt.internal.core.nd.db.ModificationLog$Tag appendTag;
descriptor: Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jdt.internal.core.nd.db.ModificationLog$Tag destructTag;
descriptor: Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/eclipse/jdt/internal/core/nd/field/FieldList;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.$assertionsDisabled:Z
3: iconst_1
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.getBytesThatFitInChunks:(I)J
putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.MAX_BYTES_IN_A_CHUNK:J
4: ldc Lorg/eclipse/jdt/internal/core/nd/field/FieldList;
invokestatic org.eclipse.jdt.internal.core.nd.field.StructDef.createAbstract:(Ljava/lang/Class;)Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
5: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addPointer:()Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.FIRST_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
6: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addPointer:()Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
7: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.done:()V
8: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.size:()I
bipush 8
invokestatic org.eclipse.jdt.internal.core.nd.util.MathUtils.roundUpToNearestMultipleOfPowerOfTwo:(II)I
putstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LIST_HEADER_BYTES:I
9: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(org.eclipse.jdt.internal.core.nd.field.StructDef<?>, org.eclipse.jdt.internal.core.nd.field.StructDef<T>, );
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.eclipse.jdt.internal.core.nd.field.BaseField.<init>:()V
1: aload 0
aload 2
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
2: aload 0
iload 3
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementsPerBlock:I
3: aload 0
aload 1
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.ownerType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
4: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getNumFields:()I
istore 4
start local 4 5: aload 0
new java.lang.StringBuilder
dup
ldc "field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", a "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc " in struct "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getStructName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.setFieldName:(Ljava/lang/String;)V
8: aload 0
new java.lang.StringBuilder
dup
ldc "Allocating elements for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.db.ModificationLog.createTag:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.allocateTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
9: aload 0
new java.lang.StringBuilder
dup
ldc "Appending to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.db.ModificationLog.createTag:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.appendTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
10: aload 0
new java.lang.StringBuilder
dup
ldc "Deallocating "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getFieldName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.db.ModificationLog.createTag:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
putfield org.eclipse.jdt.internal.core.nd.field.FieldList.destructTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 12 1 ownerType Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;
0 12 2 elementType Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
0 12 3 elementsPerBlock I
5 12 4 fieldNumber I
Signature: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;I)V
MethodParameters:
Name Flags
ownerType
elementType
elementsPerBlock
public static <T> org.eclipse.jdt.internal.core.nd.field.FieldList<T> create(org.eclipse.jdt.internal.core.nd.field.StructDef<?>, org.eclipse.jdt.internal.core.nd.field.StructDef<T>);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;)Lorg/eclipse/jdt/internal/core/nd/field/FieldList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokestatic org.eclipse.jdt.internal.core.nd.field.FieldList.create:(Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldList;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ownerStruct Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;
0 1 1 elementType Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;)Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
MethodParameters:
Name Flags
ownerStruct
elementType
public static <T> org.eclipse.jdt.internal.core.nd.field.FieldList<T> create(org.eclipse.jdt.internal.core.nd.field.StructDef<?>, org.eclipse.jdt.internal.core.nd.field.StructDef<T>, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.eclipse.jdt.internal.core.nd.field.FieldList
dup
aload 0
aload 1
iload 2
invokespecial org.eclipse.jdt.internal.core.nd.field.FieldList.<init>:(Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;I)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.add:(Lorg/eclipse/jdt/internal/core/nd/field/IField;)V
2: aload 0
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addDestructableField:(Lorg/eclipse/jdt/internal/core/nd/field/IDestructableField;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ownerStruct Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;
0 4 1 elementType Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
0 4 2 elementsPerBlock I
1 4 3 result Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
MethodParameters:
Name Flags
ownerStruct
elementType
elementsPerBlock
private int getElementSize();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getFactory:()Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.getRecordSize:()I
istore 1
start local 1 1: iload 1
bipush 8
invokestatic org.eclipse.jdt.internal.core.nd.util.MathUtils.roundUpToNearestMultipleOfPowerOfTwo:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
1 2 1 recordSize I
public int getRecordSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LIST_HEADER_BYTES:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
public java.util.List<T> asList(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.offset:I
i2l
ladd
lstore 4
start local 4 1: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.FIRST_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 4
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 6
start local 6 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 3: lload 6
lstore 9
start local 9 4: goto 10
5: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long long long java.util.List long
StackMap stack:
lload 9
lstore 11
start local 11 6: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 11
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 9
7: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 11
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 13
start local 13 8: lload 11
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_HEADER_BYTES:I
i2l
ladd
lstore 14
start local 14 9: aload 0
aload 8
aload 1
lload 14
iload 13
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.readElements:(Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
end local 14 end local 13 end local 11 10: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
ifne 5
11: aload 8
areturn
end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 12 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 12 2 address J
1 12 4 headerStartAddress J
2 12 6 firstBlockAddress J
3 12 8 result Ljava/util/List<TT;>;
4 12 9 nextBlockAddress J
6 10 11 currentBlockAddress J
8 10 13 elementsInBlock I
9 10 14 firstElementInBlockAddress J
Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
nd
address
private void readElements(java.util.List<T>, org.eclipse.jdt.internal.core.nd.Nd, long, );
descriptor: (Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getFactory:()Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
astore 6
start local 6 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getElementSize:()I
istore 7
start local 7 2: goto 6
3: StackMap locals: org.eclipse.jdt.internal.core.nd.ITypeFactory int
StackMap stack:
aload 1
aload 6
aload 2
lload 3
invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.create:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: lload 3
iload 7
i2l
ladd
lstore 3
5: iinc 5 -1
StackMap locals:
StackMap stack:
6: iload 5
ifgt 3
7: return
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 8 1 result Ljava/util/List<TT;>;
0 8 2 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 8 3 nextElementAddress J
0 8 5 count I
1 8 6 factory Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<TT;>;
2 8 7 size I
Signature: (Ljava/util/List<TT;>;Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
MethodParameters:
Name Flags
result
nd
nextElementAddress
count
public T append(org.eclipse.jdt.internal.core.nd.Nd, );
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
astore 4
start local 4 1: aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.appendTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.start:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
2: lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.offset:I
i2l
ladd
lstore 5
start local 5 3: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 5
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 7
start local 7 4: lload 7
lstore 9
start local 9 5: lload 7
lconst_0
lcmp
ifne 10
6: aload 0
aload 1
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementsPerBlock:I
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.allocateNewBlock:(Lorg/eclipse/jdt/internal/core/nd/Nd;I)J
lstore 11
start local 11 7: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 5
lload 11
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
8: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.FIRST_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 5
lload 11
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
9: lload 11
lstore 9
end local 11 10: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long org.eclipse.jdt.internal.core.nd.db.Database long long long
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 11
start local 11 11: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_SIZE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 12
start local 12 12: iload 11
iload 12
if_icmplt 20
13: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 13
start local 13 14: lload 13
lconst_0
lcmp
ifne 17
15: aload 0
aload 1
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementsPerBlock:I
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.allocateNewBlock:(Lorg/eclipse/jdt/internal/core/nd/Nd;I)J
lstore 13
16: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 9
lload 13
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
17: StackMap locals: int int long
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 5
lload 13
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
18: lload 13
lstore 9
19: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 11
end local 13 20: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 9
iload 11
iconst_1
iadd
i2s
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JS)V
21: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getElementSize:()I
istore 13
start local 13 22: lload 9
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_HEADER_BYTES:I
i2l
ladd
iload 11
iload 13
imul
i2l
ladd
lstore 14
start local 14 23: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.$assertionsDisabled:Z
ifne 24
lload 14
ldc 2
lsub
ldc 7
land
lconst_0
lcmp
ifeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals: int long
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getFactory:()Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
aload 1
lload 14
invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.create:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/lang/Object;
astore 17
25: aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.appendTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
26: aload 17
areturn
end local 14 end local 13 end local 12 end local 11 end local 9 end local 7 end local 5 27: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long org.eclipse.jdt.internal.core.nd.db.Database
StackMap stack: java.lang.Throwable
astore 16
28: aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.appendTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
29: aload 16
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 30 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 30 2 address J
1 30 4 db Lorg/eclipse/jdt/internal/core/nd/db/Database;
3 27 5 headerStartAddress J
4 27 7 nextBlockAddress J
5 27 9 insertionBlockAddress J
7 10 11 newBlockAddress J
11 27 11 elementsInBlock I
12 27 12 blockSize I
14 20 13 nextBlock J
22 27 13 elementSize I
23 27 14 resultAddress J
Exception table:
from to target type
2 25 27 any
Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)TT;
MethodParameters:
Name Flags
nd
address
public void allocate(org.eclipse.jdt.internal.core.nd.Nd, long, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
astore 5
start local 5 1: aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.allocateTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.start:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
2: iload 4
ifne 5
3: aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.allocateTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
4: return
5: StackMap locals: org.eclipse.jdt.internal.core.nd.db.Database
StackMap stack:
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.offset:I
i2l
ladd
lstore 6
start local 6 6: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 6
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 8
start local 8 7: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.MAX_BYTES_IN_A_CHUNK:J
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_HEADER_BYTES:I
i2l
lsub
8: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getElementSize:()I
i2l
9: ldiv
l2i
istore 10
start local 10 10: lload 8
lconst_0
lcmp
ifne 15
11: iload 4
iload 10
invokestatic java.lang.Math.min:(II)I
istore 11
start local 11 12: aload 0
aload 1
iload 11
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.allocateNewBlock:(Lorg/eclipse/jdt/internal/core/nd/Nd;I)J
lstore 8
13: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.LAST_BLOCK_WITH_ELEMENTS:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 6
lload 8
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
14: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.FIRST_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 6
lload 8
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
end local 11 15: StackMap locals: long long int
StackMap stack:
iload 4
istore 11
start local 11 16: StackMap locals: int
StackMap stack:
lload 8
lstore 12
start local 12 17: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 12
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 8
18: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 12
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 14
start local 14 19: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_SIZE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 12
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 15
start local 15 20: iload 11
iload 15
iload 14
isub
isub
istore 11
21: iload 11
ifgt 23
22: goto 30
23: StackMap locals: long int int
StackMap stack:
lload 8
lconst_0
lcmp
ifne 16
24: aload 0
aload 1
iload 10
iload 4
invokestatic java.lang.Math.min:(II)I
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.allocateNewBlock:(Lorg/eclipse/jdt/internal/core/nd/Nd;I)J
lstore 8
25: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 12
lload 8
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)V
end local 15 end local 14 end local 12 26: goto 16
end local 11 end local 10 end local 8 end local 6 27: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long int org.eclipse.jdt.internal.core.nd.db.Database
StackMap stack: java.lang.Throwable
astore 16
28: aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.allocateTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
29: aload 16
athrow
30: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.allocateTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
31: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 32 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 32 2 address J
0 32 4 numElements I
1 32 5 db Lorg/eclipse/jdt/internal/core/nd/db/Database;
6 27 6 headerStartAddress J
7 27 8 nextBlockAddress J
10 27 10 maxBlockSizeThatFitsInAChunk I
12 15 11 firstAllocation I
16 27 11 remainingToAllocate I
17 26 12 currentBlockAddress J
19 26 14 elementsInUse I
20 26 15 blockSize I
Exception table:
from to target type
2 3 27 any
5 27 27 any
MethodParameters:
Name Flags
nd
address
numElements
private long allocateNewBlock(org.eclipse.jdt.internal.core.nd.Nd, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;I)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getMemoryPoolId:(Lorg/eclipse/jdt/internal/core/nd/Nd;)S
istore 3
start local 3 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getElementSize:()I
istore 4
start local 4 2: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_HEADER_BYTES:I
iload 2
iload 4
imul
iadd
i2l
lstore 5
start local 5 3: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.MAX_BYTES_IN_A_CHUNK:J
lload 5
lsub
iload 4
i2l
lcmp
ifge 5
4: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.MAX_BYTES_IN_A_CHUNK:J
lstore 5
5: StackMap locals: int int long
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
lload 5
iload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.malloc:(JS)J
lstore 7
start local 7 6: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_SIZE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 7
iload 2
i2s
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JS)V
7: lload 7
lreturn
end local 7 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 8 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 8 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 8 2 blockSize I
1 8 3 poolId S
2 8 4 elementSize I
3 8 5 bytesNeeded J
6 8 7 result J
MethodParameters:
Name Flags
nd
blockSize
private short getMemoryPoolId(org.eclipse.jdt.internal.core.nd.Nd);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;)S
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_5
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.ownerType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
ifnull 5
2: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.ownerType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getStructClass:()Ljava/lang/Class;
astore 3
start local 3 3: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getTypeRegistry:()Lorg/eclipse/jdt/internal/core/nd/NdNodeTypeRegistry;
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.NdNodeTypeRegistry.isRegisteredClass:(Ljava/lang/Class;)Z
ifeq 5
4: sipush 256
aload 1
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getNodeType:(Ljava/lang/Class;)S
iadd
i2s
istore 2
end local 3 5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 6 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
1 6 2 poolId S
3 5 3 structClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
nd
public void destruct(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
astore 4
start local 4 1: aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.destructTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.start:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
2: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getMemoryPoolId:(Lorg/eclipse/jdt/internal/core/nd/Nd;)S
istore 5
start local 5 3: lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.offset:I
i2l
ladd
lstore 6
start local 6 4: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList.FIRST_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 6
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 8
start local 8 5: lload 8
lstore 10
start local 10 6: goto 12
7: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long org.eclipse.jdt.internal.core.nd.db.Database int long long long
StackMap stack:
lload 10
lstore 12
start local 12 8: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.NEXT_BLOCK:Lorg/eclipse/jdt/internal/core/nd/field/FieldPointer;
aload 1
lload 12
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldPointer.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)J
lstore 10
9: getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.ELEMENTS_IN_USE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
lload 12
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
istore 14
start local 14 10: aload 0
aload 1
lload 12
getstatic org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader.BLOCK_HEADER_BYTES:I
i2l
ladd
iload 14
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.destructElements:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
11: aload 4
lload 12
iload 5
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.free:(JS)V
end local 14 end local 12 12: StackMap locals:
StackMap stack:
lload 10
lconst_0
lcmp
ifne 7
13: aload 4
lload 6
aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getRecordSize:()I
i2l
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.clearRange:(JJ)V
end local 10 end local 8 end local 6 end local 5 14: goto 18
StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldList org.eclipse.jdt.internal.core.nd.Nd long org.eclipse.jdt.internal.core.nd.db.Database
StackMap stack: java.lang.Throwable
15: astore 15
16: aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.destructTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
17: aload 15
athrow
18: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.destructTag:Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.end:(Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog$Tag;)V
19: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 20 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 20 2 address J
1 20 4 db Lorg/eclipse/jdt/internal/core/nd/db/Database;
3 14 5 poolId S
4 14 6 headerStartAddress J
5 14 8 firstBlockAddress J
6 14 10 nextBlockAddress J
8 12 12 currentBlockAddress J
10 12 14 elementsInBlock I
Exception table:
from to target type
2 15 15 any
MethodParameters:
Name Flags
nd
address
private void destructElements(org.eclipse.jdt.internal.core.nd.Nd, long, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldList.elementType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getFactory:()Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
astore 5
start local 5 1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldList.getElementSize:()I
istore 6
start local 6 2: goto 5
3: StackMap locals: org.eclipse.jdt.internal.core.nd.ITypeFactory int
StackMap stack:
aload 5
aload 1
lload 2
invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.destruct:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
4: lload 2
iload 6
i2l
ladd
lstore 2
5: StackMap locals:
StackMap stack:
iinc 4 -1
iload 4
ifge 3
6: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldList<TT;>;
0 7 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 7 2 nextElementAddress J
0 7 4 count I
1 7 5 factory Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<TT;>;
2 7 6 size I
MethodParameters:
Name Flags
nd
nextElementAddress
count
}
Signature: <T:Ljava/lang/Object;>Lorg/eclipse/jdt/internal/core/nd/field/BaseField;Lorg/eclipse/jdt/internal/core/nd/field/IDestructableField;
SourceFile: "FieldList.java"
NestMembers:
org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader
InnerClasses:
public Tag = org.eclipse.jdt.internal.core.nd.db.ModificationLog$Tag of org.eclipse.jdt.internal.core.nd.db.ModificationLog
private BlockHeader = org.eclipse.jdt.internal.core.nd.field.FieldList$BlockHeader of org.eclipse.jdt.internal.core.nd.field.FieldList