public final class org.eclipse.jdt.internal.core.nd.field.Field<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: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.nd.field.Field
  super_class: org.eclipse.jdt.internal.core.nd.field.BaseField
{
  public final org.eclipse.jdt.internal.core.nd.ITypeFactory<T> factory;
    descriptor: Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Signature: Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<TT;>;

  public void <init>(org.eclipse.jdt.internal.core.nd.ITypeFactory<T>, java.lang.String, );
    descriptor: (Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
        start local 1 // org.eclipse.jdt.internal.core.nd.ITypeFactory objectFactory
        start local 2 // java.lang.String structName
        start local 3 // int fieldNumber
         0: .line 38
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.nd.field.BaseField.<init>:()V
         1: .line 39
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* fieldNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", a "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            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;
         2: .line 40
            ldc " in struct "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* structName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 39
            invokevirtual org.eclipse.jdt.internal.core.nd.field.Field.setFieldName:(Ljava/lang/String;)V
         4: .line 41
            aload 0 /* this */
            aload 1 /* objectFactory */
            putfield org.eclipse.jdt.internal.core.nd.field.Field.factory:Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
         5: .line 42
            return
        end local 3 // int fieldNumber
        end local 2 // java.lang.String structName
        end local 1 // org.eclipse.jdt.internal.core.nd.ITypeFactory objectFactory
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;
            0    6     1  objectFactory  Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<TT;>;
            0    6     2     structName  Ljava/lang/String;
            0    6     3    fieldNumber  I
    Signature: (Lorg/eclipse/jdt/internal/core/nd/ITypeFactory<TT;>;Ljava/lang/String;I)V
    MethodParameters:
               Name  Flags
      objectFactory  
      structName     
      fieldNumber    

  public T get(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=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
        start local 1 // org.eclipse.jdt.internal.core.nd.Nd nd
        start local 2 // long address
         0: .line 45
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.factory:Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
            aload 1 /* nd */
            lload 2 /* address */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.offset:I
            i2l
            ladd
            invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.create:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)Ljava/lang/Object;
            areturn
        end local 2 // long address
        end local 1 // org.eclipse.jdt.internal.core.nd.Nd nd
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;
            0    1     1       nd  Lorg/eclipse/jdt/internal/core/nd/Nd;
            0    1     2  address  J
    Signature: (Lorg/eclipse/jdt/internal/core/nd/Nd;J)TT;
    MethodParameters:
         Name  Flags
      nd       
      address  

  public boolean hasDestructor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
         0: .line 49
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.factory:Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
            invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.hasDestructor:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;

  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=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
        start local 1 // org.eclipse.jdt.internal.core.nd.Nd nd
        start local 2 // long address
         0: .line 54
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.factory:Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
            aload 1 /* nd */
            lload 2 /* address */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.offset:I
            i2l
            ladd
            invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.destruct:(Lorg/eclipse/jdt/internal/core/nd/Nd;J)V
         1: .line 55
            return
        end local 2 // long address
        end local 1 // org.eclipse.jdt.internal.core.nd.Nd nd
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;
            0    2     1       nd  Lorg/eclipse/jdt/internal/core/nd/Nd;
            0    2     2  address  J
    MethodParameters:
         Name  Flags
      nd       
      address  

  public int getRecordSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
         0: .line 59
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.nd.field.Field.factory:Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
            invokeinterface org.eclipse.jdt.internal.core.nd.ITypeFactory.getRecordSize:()I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;

  public int getAlignment();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
         0: .line 70
            bipush 8
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.nd.field.Field this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/nd/field/Field<TT;>;

  public static <T> org.eclipse.jdt.internal.core.nd.field.Field<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/Field;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.nd.field.StructDef struct
        start local 1 // org.eclipse.jdt.internal.core.nd.field.StructDef fieldType
         0: .line 82
            new org.eclipse.jdt.internal.core.nd.field.Field
            dup
            aload 1 /* fieldType */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getFactory:()Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;
            aload 0 /* struct */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getStructName:()Ljava/lang/String;
            aload 0 /* struct */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.getNumFields:()I
            invokespecial org.eclipse.jdt.internal.core.nd.field.Field.<init>:(Lorg/eclipse/jdt/internal/core/nd/ITypeFactory;Ljava/lang/String;I)V
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.internal.core.nd.field.Field result
         1: .line 83
            aload 0 /* struct */
            aload 2 /* result */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.add:(Lorg/eclipse/jdt/internal/core/nd/field/IField;)V
         2: .line 84
            aload 0 /* struct */
            aload 2 /* result */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addDestructableField:(Lorg/eclipse/jdt/internal/core/nd/field/IDestructableField;)V
         3: .line 85
            aload 1 /* fieldType */
            aload 0 /* struct */
            invokevirtual org.eclipse.jdt.internal.core.nd.field.StructDef.addDependency:(Lorg/eclipse/jdt/internal/core/nd/field/StructDef;)V
         4: .line 86
            aload 2 /* result */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.nd.field.Field result
        end local 1 // org.eclipse.jdt.internal.core.nd.field.StructDef fieldType
        end local 0 // org.eclipse.jdt.internal.core.nd.field.StructDef struct
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0     struct  Lorg/eclipse/jdt/internal/core/nd/field/StructDef<*>;
            0    5     1  fieldType  Lorg/eclipse/jdt/internal/core/nd/field/StructDef<TT;>;
            1    5     2     result  Lorg/eclipse/jdt/internal/core/nd/field/Field<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/Field<TT;>;
    MethodParameters:
           Name  Flags
      struct     
      fieldType  
}
Signature: <T:Ljava/lang/Object;>Lorg/eclipse/jdt/internal/core/nd/field/BaseField;Lorg/eclipse/jdt/internal/core/nd/field/IDestructableField;
SourceFile: "Field.java"