public class org.eclipse.jdt.internal.core.nd.field.FieldOneToMany<T extends org.eclipse.jdt.internal.core.nd.INdStruct> extends org.eclipse.jdt.internal.core.nd.field.BaseField implements org.eclipse.jdt.internal.core.nd.field.IDestructableField, org.eclipse.jdt.internal.core.nd.field.IRefCountedField
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.nd.field.FieldOneToMany
super_class: org.eclipse.jdt.internal.core.nd.field.BaseField
{
public org.eclipse.jdt.internal.core.nd.field.StructDef<T> targetType;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x0001) ACC_PUBLIC
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
public final org.eclipse.jdt.internal.core.nd.field.StructDef<? extends org.eclipse.jdt.internal.core.nd.INdStruct> localType;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<+Lorg/eclipse/jdt/internal/core/nd/INdStruct;>;
private final org.eclipse.jdt.internal.core.nd.RawGrowableArray backPointerArray;
descriptor: Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
org.eclipse.jdt.internal.core.nd.field.FieldManyToOne<?> forwardPointer;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
flags: (0x0000)
Signature: Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<*>;
private void <init>(org.eclipse.jdt.internal.core.nd.field.StructDef<? extends org.eclipse.jdt.internal.core.nd.INdStruct>, org.eclipse.jdt.internal.core.nd.field.FieldManyToOne<? extends org.eclipse.jdt.internal.core.nd.INdStruct>, );
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, 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 1
putfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.localType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
2: aload 2
ifnull 10
3: aload 2
getfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.backPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
ifnull 7
aload 2
getfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.backPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
aload 0
if_acmpeq 7
4: new java.lang.IllegalArgumentException
dup
5: ldc "Attempted to construct a FieldBackPointer referring to a forward pointer that is already in use by another field"
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldOneToMany org.eclipse.jdt.internal.core.nd.field.StructDef org.eclipse.jdt.internal.core.nd.field.FieldManyToOne int
StackMap stack:
aload 2
aload 1
putfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.targetType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
8: aload 0
aload 2
getfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.localType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
putfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.targetType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
9: aload 2
aload 0
putfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.backPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
10: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.forwardPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
11: aload 0
new java.lang.StringBuilder
dup
ldc "field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getNumFields:()I
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;
12: 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;
13: invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.setFieldName:(Ljava/lang/String;)V
14: aload 0
new org.eclipse.jdt.internal.core.nd.RawGrowableArray
dup
iload 3
invokespecial org.eclipse.jdt.internal.core.nd.RawGrowableArray.<init>:(I)V
putfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 16 1 localType Lorg/eclipse/jdt/internal/core/nd/field/StructDef<+Lorg/eclipse/jdt/internal/core/nd/INdStruct;>;
0 16 2 forwardPointer Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<+Lorg/eclipse/jdt/internal/core/nd/INdStruct;>;
0 16 3 inlineElements I
Signature: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef<+Lorg/eclipse/jdt/internal/core/nd/INdStruct;>;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<+Lorg/eclipse/jdt/internal/core/nd/INdStruct;>;I)V
MethodParameters:
Name Flags
localType
forwardPointer
inlineElements
public static <T extends org.eclipse.jdt.internal.core.nd.INdStruct, B extends org.eclipse.jdt.internal.core.nd.INdStruct> org.eclipse.jdt.internal.core.nd.field.FieldOneToMany<T> create(org.eclipse.jdt.internal.core.nd.field.StructDef<B>, org.eclipse.jdt.internal.core.nd.field.FieldManyToOne<B>, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
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.FieldOneToMany
dup
aload 0
aload 1
iload 2
invokespecial org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.<init>:(Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;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 0
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addRefCountedField:(Lorg/eclipse/jdt/internal/core/nd/field/IRefCountedField;)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 builder Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TB;>;
0 5 1 forwardPointer Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<TB;>;
0 5 2 inlineElementCount I
1 5 3 result Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
Signature: <T::Lorg/eclipse/jdt/internal/core/nd/INdStruct;B::Lorg/eclipse/jdt/internal/core/nd/INdStruct;>(Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TB;>;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<TB;>;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
MethodParameters:
Name Flags
builder
forwardPointer
inlineElementCount
public static <T extends org.eclipse.jdt.internal.core.nd.INdStruct, B extends org.eclipse.jdt.internal.core.nd.INdStruct> org.eclipse.jdt.internal.core.nd.field.FieldOneToMany<T> create(org.eclipse.jdt.internal.core.nd.field.StructDef<B>, org.eclipse.jdt.internal.core.nd.field.FieldManyToOne<B>);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;)Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
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_0
invokestatic org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.create:(Lorg/eclipse/jdt/internal/core/nd/field/StructDef;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;I)Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 builder Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TB;>;
0 1 1 forwardPointer Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<TB;>;
Signature: <T::Lorg/eclipse/jdt/internal/core/nd/INdStruct;B::Lorg/eclipse/jdt/internal/core/nd/INdStruct;>(Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TB;>;Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne<TB;>;)Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
MethodParameters:
Name Flags
builder
forwardPointer
public void accept(org.eclipse.jdt.internal.core.nd.Nd, long, org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$Visitor<T>);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany$Visitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.size:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 4
iload 6
aload 0
aload 1
lload 2
iload 6
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)Lorg/eclipse/jdt/internal/core/nd/INdStruct;
invokeinterface org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$Visitor.visit:(ILjava/lang/Object;)V
4: iinc 6 1
StackMap locals:
StackMap stack:
5: iload 6
iload 5
if_icmplt 3
end local 6 6: return
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/FieldOneToMany<TT;>;
0 7 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 7 2 address J
0 7 4 visitor Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany$Visitor<TT;>;
1 7 5 size I
2 6 6 idx I
Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany$Visitor<TT;>;)V
MethodParameters:
Name Flags
nd
address
visitor
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=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
aload 0
aload 1
lload 2
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.size:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 1: aload 0
aload 1
lload 2
new org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$1
dup
aload 0
aload 4
invokespecial org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$1.<init>:(Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany;Ljava/util/List;)V
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.accept:(Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany$Visitor;)V
2: aload 4
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 3 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 3 2 address J
1 3 4 result Ljava/util/List<TT;>;
Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
nd
address
public boolean isEmpty(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.isEmpty:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 1 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 1 2 address J
MethodParameters:
Name Flags
nd
address
public int size(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.size:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 1 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 1 2 address J
MethodParameters:
Name Flags
nd
address
public T get(org.eclipse.jdt.internal.core.nd.Nd, long, );
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)Lorg/eclipse/jdt/internal/core/nd/INdStruct;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
iload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)J
lstore 5
start local 5 1: aload 1
lload 5
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.targetType:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokestatic org.eclipse.jdt.internal.core.nd.NdNode.load:(Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/StructDef;)Lorg/eclipse/jdt/internal/core/nd/INdStruct;
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 2 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 2 2 address J
0 2 4 index I
1 2 5 nextPointer J
Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)TT;
MethodParameters:
Name Flags
nd
address
index
public long getAddressOf(org.eclipse.jdt.internal.core.nd.Nd, long, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, 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.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
iload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 1 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 1 2 address J
0 1 4 index I
MethodParameters:
Name Flags
nd
address
index
void remove(org.eclipse.jdt.internal.core.nd.Nd, long, int);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
flags: (0x0000)
Code:
stack=6, 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.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
iload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.remove:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)J
lstore 5
start local 5 1: lload 5
lconst_0
lcmp
ifeq 3
2: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.forwardPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
aload 1
lload 5
iload 4
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.adjustIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
3: StackMap locals: long
StackMap stack:
return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 4 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 4 2 address J
0 4 4 index I
1 4 5 swappedElement J
MethodParameters:
Name Flags
nd
address
index
int add(org.eclipse.jdt.internal.core.nd.Nd, long, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)I
flags: (0x0000)
Code:
stack=6, locals=6, 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.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
lload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.add:(Lorg/eclipse/jdt/internal/core/nd/Nd;JJ)I
ireturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 1 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 1 2 address J
0 1 4 value J
MethodParameters:
Name Flags
nd
address
value
public int getRecordSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.getRecordSize:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
public void ensureCapacity(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=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
lstore 5
start local 5 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 5
iload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.ensureCapacity:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)V
2: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 3 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 3 2 address J
0 3 4 capacity I
1 3 5 arrayAddress J
MethodParameters:
Name Flags
nd
address
capacity
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=5, locals=11, 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.FieldOneToMany.offset:I
i2l
ladd
lstore 4
start local 4 1: aload 0
aload 1
lload 2
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.size:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
istore 6
start local 6 2: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.forwardPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
getfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.pointsToOwner:Z
istore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 10
5: StackMap locals: org.eclipse.jdt.internal.core.nd.field.FieldOneToMany org.eclipse.jdt.internal.core.nd.Nd long long int int int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 4
iload 8
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;JI)J
lstore 9
start local 9 6: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.forwardPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.clearedByBackPointer:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
7: iload 7
ifeq 9
8: aload 1
lload 9
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.scheduleDeletion:(J)V
end local 9 9: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
iload 6
if_icmplt 5
end local 8 11: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 4
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.destruct:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
12: return
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 13 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 13 2 address J
1 13 4 arrayAddress J
2 13 6 size I
3 13 7 isOwner Z
4 11 8 idx I
6 9 9 target J
MethodParameters:
Name Flags
nd
address
public int getCapacity(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.backPointerArray:Lorg/eclipse/jdt/internal/core/nd/RawGrowableArray;
aload 1
lload 2
aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.offset:I
i2l
ladd
invokevirtual org.eclipse.jdt.internal.core.nd.RawGrowableArray.getCapacity:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 1 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 1 2 address J
MethodParameters:
Name Flags
nd
address
public boolean hasReferences(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.forwardPointer:Lorg/eclipse/jdt/internal/core/nd/field/FieldManyToOne;
getfield org.eclipse.jdt.internal.core.nd.field.FieldManyToOne.pointsToOwner:Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldOneToMany.isEmpty:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/core/nd/field/FieldOneToMany<TT;>;
0 5 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 5 2 address J
MethodParameters:
Name Flags
nd
address
}
Signature: <T::Lorg/eclipse/jdt/internal/core/nd/INdStruct;>Lorg/eclipse/jdt/internal/core/nd/field/BaseField;Lorg/eclipse/jdt/internal/core/nd/field/IDestructableField;Lorg/eclipse/jdt/internal/core/nd/field/IRefCountedField;
SourceFile: "FieldOneToMany.java"
NestMembers:
org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$1 org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$Visitor
InnerClasses:
org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$1
public abstract Visitor = org.eclipse.jdt.internal.core.nd.field.FieldOneToMany$Visitor of org.eclipse.jdt.internal.core.nd.field.FieldOneToMany