public abstract class org.aspectj.apache.bcel.classfile.annotation.ElementValue
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.aspectj.apache.bcel.classfile.annotation.ElementValue
  super_class: java.lang.Object
{
  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 int type;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected org.aspectj.apache.bcel.classfile.ConstantPool cpool;
    descriptor: Lorg/aspectj/apache/bcel/classfile/ConstantPool;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>(int, org.aspectj.apache.bcel.classfile.ConstantPool);
    descriptor: (ILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue this
        start local 1 // int type
        start local 2 // org.aspectj.apache.bcel.classfile.ConstantPool cpool
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            iload 1 /* type */
            putfield org.aspectj.apache.bcel.classfile.annotation.ElementValue.type:I
         2: .line 43
            aload 0 /* this */
            aload 2 /* cpool */
            putfield org.aspectj.apache.bcel.classfile.annotation.ElementValue.cpool:Lorg/aspectj/apache/bcel/classfile/ConstantPool;
         3: .line 44
            return
        end local 2 // org.aspectj.apache.bcel.classfile.ConstantPool cpool
        end local 1 // int type
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            0    4     1   type  I
            0    4     2  cpool  Lorg/aspectj/apache/bcel/classfile/ConstantPool;
    MethodParameters:
       Name  Flags
      type   
      cpool  

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

  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.aspectj.apache.bcel.classfile.annotation.ElementValue readElementValue(java.io.DataInputStream, org.aspectj.apache.bcel.classfile.ConstantPool);
    descriptor: (Ljava/io/DataInputStream;Lorg/aspectj/apache/bcel/classfile/ConstantPool;)Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // java.io.DataInputStream dis
        start local 1 // org.aspectj.apache.bcel.classfile.ConstantPool cpGen
         0: .line 55
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedByte:()I
            istore 2 /* type */
        start local 2 // int type
         1: .line 56
            iload 2 /* type */
            lookupswitch { // 13
                   64: 13
                   66: 2
                   67: 3
                   68: 4
                   70: 5
                   73: 6
                   74: 7
                   83: 8
                   90: 9
                   91: 14
                   99: 12
                  101: 11
                  115: 10
              default: 22
          }
         2: .line 58
      StackMap locals: int
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 66
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         3: .line 60
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 67
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         4: .line 62
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 68
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         5: .line 64
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 70
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         6: .line 66
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 73
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         7: .line 68
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 74
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         8: .line 70
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 83
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
         9: .line 72
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 90
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        10: .line 74
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            bipush 115
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        11: .line 77
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.EnumElementValue
            dup
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.EnumElementValue.<init>:(IILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        12: .line 80
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
            dup
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.ClassElementValue.<init>:(ILorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        13: .line 84
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue
            dup
            bipush 64
            aload 0 /* dis */
            aload 1 /* cpGen */
            iconst_1
            invokestatic org.aspectj.apache.bcel.classfile.annotation.AnnotationGen.read:(Ljava/io/DataInputStream;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue.<init>:(ILorg/aspectj/apache/bcel/classfile/annotation/AnnotationGen;Lorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        14: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUnsignedShort:()I
            istore 3 /* numArrayVals */
        start local 3 // int numArrayVals
        15: .line 88
            iload 3 /* numArrayVals */
            anewarray org.aspectj.apache.bcel.classfile.annotation.ElementValue
            astore 4 /* evalues */
        start local 4 // org.aspectj.apache.bcel.classfile.annotation.ElementValue[] evalues
        16: .line 89
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        17: goto 20
        18: .line 90
      StackMap locals: int org.aspectj.apache.bcel.classfile.annotation.ElementValue[] int
      StackMap stack:
            aload 4 /* evalues */
            iload 5 /* j */
            aload 0 /* dis */
            aload 1 /* cpGen */
            invokestatic org.aspectj.apache.bcel.classfile.annotation.ElementValue.readElementValue:(Ljava/io/DataInputStream;Lorg/aspectj/apache/bcel/classfile/ConstantPool;)Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            aastore
        19: .line 89
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* j */
            iload 3 /* numArrayVals */
            if_icmplt 18
        end local 5 // int j
        21: .line 92
            new org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue
            dup
            bipush 91
            aload 4 /* evalues */
            aload 1 /* cpGen */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue.<init>:(I[Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;)V
            areturn
        end local 4 // org.aspectj.apache.bcel.classfile.annotation.ElementValue[] evalues
        end local 3 // int numArrayVals
        22: .line 95
      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.aspectj.apache.bcel.classfile.ConstantPool cpGen
        end local 0 // java.io.DataInputStream dis
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0           dis  Ljava/io/DataInputStream;
            0   23     1         cpGen  Lorg/aspectj/apache/bcel/classfile/ConstantPool;
            1   23     2          type  I
           15   22     3  numArrayVals  I
           16   22     4       evalues  [Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
           17   21     5             j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      dis    
      cpGen  

  protected org.aspectj.apache.bcel.classfile.ConstantPool getConstantPool();
    descriptor: ()Lorg/aspectj/apache/bcel/classfile/ConstantPool;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue this
         0: .line 100
            aload 0 /* this */
            getfield org.aspectj.apache.bcel.classfile.annotation.ElementValue.cpool:Lorg/aspectj/apache/bcel/classfile/ConstantPool;
            areturn
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;

  public static org.aspectj.apache.bcel.classfile.annotation.ElementValue copy(org.aspectj.apache.bcel.classfile.annotation.ElementValue, org.aspectj.apache.bcel.classfile.ConstantPool, boolean);
    descriptor: (Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue value
        start local 1 // org.aspectj.apache.bcel.classfile.ConstantPool cpool
        start local 2 // boolean copyPoolEntries
         0: .line 107
            aload 0 /* value */
            invokevirtual org.aspectj.apache.bcel.classfile.annotation.ElementValue.getElementValueType:()I
            lookupswitch { // 13
                   64: 3
                   66: 1
                   67: 1
                   68: 1
                   70: 1
                   73: 1
                   74: 1
                   83: 1
                   90: 1
                   91: 4
                   99: 5
                  101: 2
                  115: 1
              default: 6
          }
         1: .line 117
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            dup
            aload 0 /* value */
            checkcast org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.SimpleElementValue.<init>:(Lorg/aspectj/apache/bcel/classfile/annotation/SimpleElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)V
            areturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.EnumElementValue
            dup
            aload 0 /* value */
            checkcast org.aspectj.apache.bcel.classfile.annotation.EnumElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.EnumElementValue.<init>:(Lorg/aspectj/apache/bcel/classfile/annotation/EnumElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)V
            areturn
         3: .line 123
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue
            dup
            aload 0 /* value */
            checkcast org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.AnnotationElementValue.<init>:(Lorg/aspectj/apache/bcel/classfile/annotation/AnnotationElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)V
            areturn
         4: .line 126
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue
            dup
            aload 0 /* value */
            checkcast org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.ArrayElementValue.<init>:(Lorg/aspectj/apache/bcel/classfile/annotation/ArrayElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)V
            areturn
         5: .line 129
      StackMap locals:
      StackMap stack:
            new org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
            dup
            aload 0 /* value */
            checkcast org.aspectj.apache.bcel.classfile.annotation.ClassElementValue
            aload 1 /* cpool */
            iload 2 /* copyPoolEntries */
            invokespecial org.aspectj.apache.bcel.classfile.annotation.ClassElementValue.<init>:(Lorg/aspectj/apache/bcel/classfile/annotation/ClassElementValue;Lorg/aspectj/apache/bcel/classfile/ConstantPool;Z)V
            areturn
         6: .line 132
      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.aspectj.apache.bcel.classfile.annotation.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.aspectj.apache.bcel.classfile.ConstantPool cpool
        end local 0 // org.aspectj.apache.bcel.classfile.annotation.ElementValue value
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0            value  Lorg/aspectj/apache/bcel/classfile/annotation/ElementValue;
            0    7     1            cpool  Lorg/aspectj/apache/bcel/classfile/ConstantPool;
            0    7     2  copyPoolEntries  Z
    MethodParameters:
                 Name  Flags
      value            
      cpool            
      copyPoolEntries  
}
SourceFile: "ElementValue.java"