public abstract class org.eclipse.jdt.internal.core.nd.NdNode extends org.eclipse.jdt.internal.core.nd.NdStruct implements org.eclipse.jdt.internal.core.nd.IDestructable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jdt.internal.core.nd.NdNode
super_class: org.eclipse.jdt.internal.core.nd.NdStruct
{
public static final org.eclipse.jdt.internal.core.nd.field.FieldShort NODE_TYPE;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.eclipse.jdt.internal.core.nd.field.StructDef<org.eclipse.jdt.internal.core.nd.NdNode> type;
descriptor: Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/eclipse/jdt/internal/core/nd/field/StructDef<Lorg/eclipse/jdt/internal/core/nd/NdNode;>;
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/NdNode;
getstatic org.eclipse.jdt.internal.core.nd.NdStruct.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokestatic org.eclipse.jdt.internal.core.nd.field.StructDef.create:(Ljava/lang/Class;Lorg/eclipse/jdt/internal/core/nd/field/StructDef;)Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
putstatic org.eclipse.jdt.internal.core.nd.NdNode.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
1: getstatic org.eclipse.jdt.internal.core.nd.NdNode.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addShort:()Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
putstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
2: getstatic org.eclipse.jdt.internal.core.nd.NdNode.type:Lorg/eclipse/jdt/internal/core/nd/field/StructDef;
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.done:()V
3: return
LocalVariableTable:
Start End Slot Name Signature
public static org.eclipse.jdt.internal.core.nd.NdNode load(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)Lorg/eclipse/jdt/internal/core/nd/NdNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
lload 1
getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 0
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getNode:(JS)Lorg/eclipse/jdt/internal/core/nd/NdNode;
3: areturn
4: StackMap locals:
StackMap stack: org.eclipse.jdt.internal.core.nd.db.IndexException
astore 3
start local 3 5: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.describeProblem:()Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.addProblemAddress:(Lorg/eclipse/jdt/internal/core/nd/field/IField;J)Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.attachTo:(Lorg/eclipse/jdt/internal/core/nd/db/IndexException;)V
6: aload 3
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 7 1 address J
5 7 3 e Lorg/eclipse/jdt/internal/core/nd/db/IndexException;
Exception table:
from to target type
2 3 4 Class org.eclipse.jdt.internal.core.nd.db.IndexException
MethodParameters:
Name Flags
nd
address
public static <T extends org.eclipse.jdt.internal.core.nd.INdStruct> T load(org.eclipse.jdt.internal.core.nd.Nd, long, org.eclipse.jdt.internal.core.nd.field.StructDef<T>);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/StructDef;)Lorg/eclipse/jdt/internal/core/nd/INdStruct;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
lload 1
getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 0
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.get:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)S
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getNode:(JS)Lorg/eclipse/jdt/internal/core/nd/NdNode;
astore 4
start local 4 3: goto 7
end local 4 StackMap locals:
StackMap stack: org.eclipse.jdt.internal.core.nd.db.IndexException
4: astore 5
start local 5 5: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.describeProblem:()Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.addProblemAddress:(Lorg/eclipse/jdt/internal/core/nd/field/IField;J)Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.attachTo:(Lorg/eclipse/jdt/internal/core/nd/db/IndexException;)V
6: aload 5
athrow
end local 5 start local 4 7: StackMap locals: org.eclipse.jdt.internal.core.nd.NdNode
StackMap stack:
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getStructClass:()Ljava/lang/Class;
astore 5
start local 5 8: aload 5
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 15
9: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.describeProblem:()Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
10: getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.addProblemAddress:(Lorg/eclipse/jdt/internal/core/nd/field/IField;J)Lorg/eclipse/jdt/internal/core/nd/IndexExceptionBuilder;
11: new java.lang.StringBuilder
dup
ldc "Found wrong data type at address "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ". Expected a subclass of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " but found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jdt.internal.core.nd.IndexExceptionBuilder.build:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/nd/db/IndexException;
14: athrow
15: StackMap locals: java.lang.Class
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 16 1 address J
0 16 3 typeToLoad Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
3 4 4 result Lorg/eclipse/jdt/internal/core/nd/NdNode;
7 16 4 result Lorg/eclipse/jdt/internal/core/nd/NdNode;
5 7 5 e Lorg/eclipse/jdt/internal/core/nd/db/IndexException;
8 16 5 clazz Ljava/lang/Class<TT;>;
Exception table:
from to target type
2 3 4 Class org.eclipse.jdt.internal.core.nd.db.IndexException
Signature: <T::Lorg/eclipse/jdt/internal/core/nd/INdStruct;>(Lorg/eclipse/jdt/internal/core/nd/Nd;JLorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;)TT;
MethodParameters:
Name Flags
nd
address
typeToLoad
public final void delete();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.NdNode.getNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.delete:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
protected void <init>(org.eclipse.jdt.internal.core.nd.Nd, long);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
invokespecial org.eclipse.jdt.internal.core.nd.NdStruct.<init>:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
1: return
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/NdNode;
0 2 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
0 2 2 address J
MethodParameters:
Name Flags
nd
address
protected void <init>(org.eclipse.jdt.internal.core.nd.Nd);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
invokespecial org.eclipse.jdt.internal.core.nd.NdStruct.<init>:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
1: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
astore 2
start local 2 2: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getNodeType:(Ljava/lang/Class;)S
istore 3
start local 3 3: aload 1
iload 3
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getTypeFactory:(S)Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
astore 4
start local 4 4: aload 0
aload 2
aload 4
invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.getRecordSize:()I
i2l
sipush 256
iload 3
iadd
i2s
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.malloc:(JS)J
putfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
5: getstatic org.eclipse.jdt.internal.core.nd.NdNode.NODE_TYPE:Lorg/eclipse/jdt/internal/core/nd/field/FieldShort;
aload 1
aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
iload 3
invokevirtual org.eclipse.jdt.internal.core.nd.field.FieldShort.put:(Lorg/eclipse/jdt/internal/core/nd/Nd;JS)V
6: return
end local 4 end local 3 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/NdNode;
0 7 1 nd Lorg/eclipse/jdt/internal/core/nd/Nd;
2 7 2 db Lorg/eclipse/jdt/internal/core/nd/db/Database;
3 7 3 nodeType S
4 7 4 factory1 Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<+Lorg/eclipse/jdt/internal/core/nd/NdNode;>;
MethodParameters:
Name Flags
nd
public short getNodeType();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getNodeType:(Ljava/lang/Class;)S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
public final long getAddress();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
public final long getBindingID();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
public final boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.eclipse.jdt.internal.core.nd.NdNode
ifeq 6
3: aload 1
checkcast org.eclipse.jdt.internal.core.nd.NdNode
astore 2
start local 2 4: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.NdNode.getNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.NdNode.getNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
if_acmpne 5
aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
aload 2
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
lcmp
ifne 5
iconst_1
ireturn
StackMap locals: org.eclipse.jdt.internal.core.nd.NdNode
StackMap stack:
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
0 7 1 obj Ljava/lang/Object;
4 6 2 other Lorg/eclipse/jdt/internal/core/nd/NdNode;
MethodParameters:
Name Flags
obj
public final int hashCode();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.NdNode.address:J
iconst_3
lshr
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
public static int getNodeId(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 16
ishl
iload 1
ldc 65535
iand
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 linkageID I
0 1 1 nodeType I
MethodParameters:
Name Flags
linkageID
nodeType
protected byte getByte(long);
descriptor: (J)B
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.NdNode.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getByte:(J)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
0 1 1 offset J
MethodParameters:
Name Flags
offset
protected static boolean getBit(int, int);
descriptor: (II)Z
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
iload 1
ishl
istore 2
start local 2 1: iload 0
iload 2
iand
ifeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 bitVector I
0 3 1 offset I
1 3 2 mask I
MethodParameters:
Name Flags
bitVector
offset
public void destruct();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/nd/NdNode;
}
SourceFile: "NdNode.java"