public abstract class org.apache.bcel.generic.ElementValueGen
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.bcel.generic.ElementValueGen
  super_class: java.lang.Object
{
  protected int type;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected org.apache.bcel.generic.ConstantPoolGen cpGen;
    descriptor: Lorg/apache/bcel/generic/ConstantPoolGen;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int STRING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 115

  public static final int ENUM_CONSTANT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 101

  public static final int CLASS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 99

  public static final int ANNOTATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int ARRAY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 91

  public static final int PRIMITIVE_INT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 73

  public static final int PRIMITIVE_BYTE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 66

  public static final int PRIMITIVE_CHAR;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 67

  public static final int PRIMITIVE_DOUBLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 68

  public static final int PRIMITIVE_FLOAT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 70

  public static final int PRIMITIVE_LONG;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 74

  public static final int PRIMITIVE_SHORT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 83

  public static final int PRIMITIVE_BOOLEAN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 90

  protected void <init>(int, org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (ILorg/apache/bcel/generic/ConstantPoolGen;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.bcel.generic.ElementValueGen this
        start local 1 // int type
        start local 2 // org.apache.bcel.generic.ConstantPoolGen cpGen
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            iload 1 /* type */
            putfield org.apache.bcel.generic.ElementValueGen.type:I
         2: .line 52
            aload 0 /* this */
            aload 2 /* cpGen */
            putfield org.apache.bcel.generic.ElementValueGen.cpGen:Lorg/apache/bcel/generic/ConstantPoolGen;
         3: .line 53
            return
        end local 2 // org.apache.bcel.generic.ConstantPoolGen cpGen
        end local 1 // int type
        end local 0 // org.apache.bcel.generic.ElementValueGen this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/bcel/generic/ElementValueGen;
            0    4     1   type  I
            0    4     2  cpGen  Lorg/apache/bcel/generic/ConstantPoolGen;
    MethodParameters:
       Name  Flags
      type   final
      cpGen  final

  public abstract org.apache.bcel.classfile.ElementValue getElementValue();
    descriptor: ()Lorg/apache/bcel/classfile/ElementValue;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public int getElementValueType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.ElementValueGen this
         0: .line 62
            aload 0 /* this */
            getfield org.apache.bcel.generic.ElementValueGen.type:I
            ireturn
        end local 0 // org.apache.bcel.generic.ElementValueGen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/ElementValueGen;

  public abstract java.lang.String stringifyValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void dump(java.io.DataOutputStream);
    descriptor: (Ljava/io/DataOutputStream;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dos   

  public static org.apache.bcel.generic.ElementValueGen readElementValue(java.io.DataInput, org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Ljava/io/DataInput;Lorg/apache/bcel/generic/ConstantPoolGen;)Lorg/apache/bcel/generic/ElementValueGen;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // java.io.DataInput dis
        start local 1 // org.apache.bcel.generic.ConstantPoolGen cpGen
         0: .line 98
            aload 0 /* dis */
            invokeinterface java.io.DataInput.readUnsignedByte:()I
            istore 2 /* type */
        start local 2 // int type
         1: .line 99
            iload 2 /* type */
            lookupswitch { // 13
                   64: 33
                   66: 2
                   67: 5
                   68: 8
                   70: 11
                   73: 14
                   74: 17
                   83: 20
                   90: 23
                   91: 41
                   99: 32
                  101: 29
                  115: 26
              default: 51
          }
         2: .line 102
      StackMap locals: int
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 66
            aload 0 /* dis */
         3: .line 103
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
         4: .line 102
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
         5: .line 105
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 67
            aload 0 /* dis */
         6: .line 106
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
         7: .line 105
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
         8: .line 108
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 68
            aload 0 /* dis */
         9: .line 109
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        10: .line 108
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        11: .line 111
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 70
            aload 0 /* dis */
        12: .line 112
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        13: .line 111
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        14: .line 114
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 73
            aload 0 /* dis */
        15: .line 115
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        16: .line 114
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        17: .line 117
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 74
            aload 0 /* dis */
        18: .line 118
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        19: .line 117
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        20: .line 120
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 83
            aload 0 /* dis */
        21: .line 121
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        22: .line 120
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        23: .line 123
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 90
            aload 0 /* dis */
        24: .line 124
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        25: .line 123
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        26: .line 126
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            bipush 115
            aload 0 /* dis */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
        27: .line 127
            aload 1 /* cpGen */
        28: .line 126
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        29: .line 129
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.EnumElementValueGen
            dup
            aload 0 /* dis */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 0 /* dis */
        30: .line 130
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
        31: .line 129
            invokespecial org.apache.bcel.generic.EnumElementValueGen.<init>:(IILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        32: .line 132
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ClassElementValueGen
            dup
            aload 0 /* dis */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.apache.bcel.generic.ClassElementValueGen.<init>:(ILorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        33: .line 136
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.AnnotationElementValueGen
            dup
            bipush 64
        34: .line 137
            new org.apache.bcel.generic.AnnotationEntryGen
            dup
            aload 0 /* dis */
            aload 1 /* cpGen */
        35: .line 138
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
            iconst_1
        36: .line 137
            invokestatic org.apache.bcel.classfile.AnnotationEntry.read:(Ljava/io/DataInput;Lorg/apache/bcel/classfile/ConstantPool;Z)Lorg/apache/bcel/classfile/AnnotationEntry;
        37: .line 138
            aload 1 /* cpGen */
            iconst_0
        38: .line 137
            invokespecial org.apache.bcel.generic.AnnotationEntryGen.<init>:(Lorg/apache/bcel/classfile/AnnotationEntry;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
        39: .line 138
            aload 1 /* cpGen */
        40: .line 136
            invokespecial org.apache.bcel.generic.AnnotationElementValueGen.<init>:(ILorg/apache/bcel/generic/AnnotationEntryGen;Lorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        41: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* dis */
            invokeinterface java.io.DataInput.readUnsignedShort:()I
            istore 3 /* numArrayVals */
        start local 3 // int numArrayVals
        42: .line 141
            iload 3 /* numArrayVals */
            anewarray org.apache.bcel.classfile.ElementValue
            astore 4 /* evalues */
        start local 4 // org.apache.bcel.classfile.ElementValue[] evalues
        43: .line 142
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        44: goto 49
        45: .line 144
      StackMap locals: int org.apache.bcel.classfile.ElementValue[] int
      StackMap stack:
            aload 4 /* evalues */
            iload 5 /* j */
            aload 0 /* dis */
            aload 1 /* cpGen */
        46: .line 145
            invokevirtual org.apache.bcel.generic.ConstantPoolGen.getConstantPool:()Lorg/apache/bcel/classfile/ConstantPool;
        47: .line 144
            invokestatic org.apache.bcel.classfile.ElementValue.readElementValue:(Ljava/io/DataInput;Lorg/apache/bcel/classfile/ConstantPool;)Lorg/apache/bcel/classfile/ElementValue;
            aastore
        48: .line 142
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        49: iload 5 /* j */
            iload 3 /* numArrayVals */
            if_icmplt 45
        end local 5 // int j
        50: .line 147
            new org.apache.bcel.generic.ArrayElementValueGen
            dup
            bipush 91
            aload 4 /* evalues */
            aload 1 /* cpGen */
            invokespecial org.apache.bcel.generic.ArrayElementValueGen.<init>:(I[Lorg/apache/bcel/classfile/ElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;)V
            areturn
        end local 4 // org.apache.bcel.classfile.ElementValue[] evalues
        end local 3 // int numArrayVals
        51: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected element value kind in annotation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int type
        end local 1 // org.apache.bcel.generic.ConstantPoolGen cpGen
        end local 0 // java.io.DataInput dis
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   52     0           dis  Ljava/io/DataInput;
            0   52     1         cpGen  Lorg/apache/bcel/generic/ConstantPoolGen;
            1   52     2          type  I
           42   51     3  numArrayVals  I
           43   51     4       evalues  [Lorg/apache/bcel/classfile/ElementValue;
           44   50     5             j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      dis    final
      cpGen  final

  protected org.apache.bcel.generic.ConstantPoolGen getConstantPool();
    descriptor: ()Lorg/apache/bcel/generic/ConstantPoolGen;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.ElementValueGen this
         0: .line 155
            aload 0 /* this */
            getfield org.apache.bcel.generic.ElementValueGen.cpGen:Lorg/apache/bcel/generic/ConstantPoolGen;
            areturn
        end local 0 // org.apache.bcel.generic.ElementValueGen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/ElementValueGen;

  public static org.apache.bcel.generic.ElementValueGen copy(org.apache.bcel.classfile.ElementValue, org.apache.bcel.generic.ConstantPoolGen, boolean);
    descriptor: (Lorg/apache/bcel/classfile/ElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)Lorg/apache/bcel/generic/ElementValueGen;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.bcel.classfile.ElementValue value
        start local 1 // org.apache.bcel.generic.ConstantPoolGen cpool
        start local 2 // boolean copyPoolEntries
         0: .line 165
            aload 0 /* value */
            invokevirtual org.apache.bcel.classfile.ElementValue.getElementValueType:()I
            lookupswitch { // 13
                   64: 7
                   66: 1
                   67: 1
                   68: 1
                   70: 1
                   73: 1
                   74: 1
                   83: 1
                   90: 1
                   91: 10
                   99: 13
                  101: 4
                  115: 1
              default: 16
          }
         1: .line 176
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.SimpleElementValueGen
            dup
            aload 0 /* value */
            checkcast org.apache.bcel.classfile.SimpleElementValue
            aload 1 /* cpool */
         2: .line 177
            iload 2 /* copyPoolEntries */
         3: .line 176
            invokespecial org.apache.bcel.generic.SimpleElementValueGen.<init>:(Lorg/apache/bcel/classfile/SimpleElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
            areturn
         4: .line 179
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.EnumElementValueGen
            dup
            aload 0 /* value */
            checkcast org.apache.bcel.classfile.EnumElementValue
            aload 1 /* cpool */
         5: .line 180
            iload 2 /* copyPoolEntries */
         6: .line 179
            invokespecial org.apache.bcel.generic.EnumElementValueGen.<init>:(Lorg/apache/bcel/classfile/EnumElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
            areturn
         7: .line 182
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.AnnotationElementValueGen
            dup
         8: .line 183
            aload 0 /* value */
            checkcast org.apache.bcel.classfile.AnnotationElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
         9: .line 182
            invokespecial org.apache.bcel.generic.AnnotationElementValueGen.<init>:(Lorg/apache/bcel/classfile/AnnotationElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
            areturn
        10: .line 185
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ArrayElementValueGen
            dup
            aload 0 /* value */
            checkcast org.apache.bcel.classfile.ArrayElementValue
            aload 1 /* cpool */
        11: .line 186
            iload 2 /* copyPoolEntries */
        12: .line 185
            invokespecial org.apache.bcel.generic.ArrayElementValueGen.<init>:(Lorg/apache/bcel/classfile/ArrayElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
            areturn
        13: .line 188
      StackMap locals:
      StackMap stack:
            new org.apache.bcel.generic.ClassElementValueGen
            dup
            aload 0 /* value */
            checkcast org.apache.bcel.classfile.ClassElementValue
            aload 1 /* cpool */
        14: .line 189
            iload 2 /* copyPoolEntries */
        15: .line 188
            invokespecial org.apache.bcel.generic.ClassElementValueGen.<init>:(Lorg/apache/bcel/classfile/ClassElementValue;Lorg/apache/bcel/generic/ConstantPoolGen;Z)V
            areturn
        16: .line 191
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not implemented yet! ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* value */
            invokevirtual org.apache.bcel.classfile.ElementValue.getElementValueType:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // boolean copyPoolEntries
        end local 1 // org.apache.bcel.generic.ConstantPoolGen cpool
        end local 0 // org.apache.bcel.classfile.ElementValue value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0            value  Lorg/apache/bcel/classfile/ElementValue;
            0   17     1            cpool  Lorg/apache/bcel/generic/ConstantPoolGen;
            0   17     2  copyPoolEntries  Z
    MethodParameters:
                 Name  Flags
      value            final
      cpool            final
      copyPoolEntries  final
}
SourceFile: "ElementValueGen.java"