public abstract class edu.umd.cs.findbugs.bcel.BCELUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: edu.umd.cs.findbugs.bcel.BCELUtil
  super_class: java.lang.Object
{
  private static final int JDK15_MAJOR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 48

  private static final int JDK15_MINOR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.bcel.BCELUtil this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // edu.umd.cs.findbugs.bcel.BCELUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/bcel/BCELUtil;

  public static edu.umd.cs.findbugs.classfile.MethodDescriptor getMethodDescriptor(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.Method);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/Method;)Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.bcel.classfile.JavaClass jclass
        start local 1 // org.apache.bcel.classfile.Method method
         0: .line 57
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            aload 0 /* jclass */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aload 1 /* method */
            invokevirtual org.apache.bcel.classfile.Method.getName:()Ljava/lang/String;
         1: .line 58
            aload 1 /* method */
            invokevirtual org.apache.bcel.classfile.Method.getSignature:()Ljava/lang/String;
            aload 1 /* method */
            invokevirtual org.apache.bcel.classfile.Method.isStatic:()Z
         2: .line 57
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getMethodDescriptor:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
            areturn
        end local 1 // org.apache.bcel.classfile.Method method
        end local 0 // org.apache.bcel.classfile.JavaClass jclass
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  jclass  Lorg/apache/bcel/classfile/JavaClass;
            0    3     1  method  Lorg/apache/bcel/classfile/Method;
    MethodParameters:
        Name  Flags
      jclass  
      method  

  public static edu.umd.cs.findbugs.classfile.MethodDescriptor getCalledMethodDescriptor(org.apache.bcel.generic.InvokeInstruction, org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Lorg/apache/bcel/generic/InvokeInstruction;Lorg/apache/bcel/generic/ConstantPoolGen;)Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.bcel.generic.InvokeInstruction inv
        start local 1 // org.apache.bcel.generic.ConstantPoolGen cpg
         0: .line 72
            aload 0 /* inv */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.InvokeInstruction.getClassName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* calledClassName */
        start local 2 // java.lang.String calledClassName
         1: .line 73
            aload 0 /* inv */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.InvokeInstruction.getMethodName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            astore 3 /* calledMethodName */
        start local 3 // java.lang.String calledMethodName
         2: .line 74
            aload 0 /* inv */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.InvokeInstruction.getSignature:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            astore 4 /* calledMethodSig */
        start local 4 // java.lang.String calledMethodSig
         3: .line 75
            aload 0 /* inv */
            invokevirtual org.apache.bcel.generic.InvokeInstruction.getOpcode:()S
            sipush 184
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* isStatic */
        start local 5 // boolean isStatic
         6: .line 77
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            aload 2 /* calledClassName */
            aload 3 /* calledMethodName */
            aload 4 /* calledMethodSig */
            iload 5 /* isStatic */
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getMethodDescriptor:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/classfile/MethodDescriptor;
            areturn
        end local 5 // boolean isStatic
        end local 4 // java.lang.String calledMethodSig
        end local 3 // java.lang.String calledMethodName
        end local 2 // java.lang.String calledClassName
        end local 1 // org.apache.bcel.generic.ConstantPoolGen cpg
        end local 0 // org.apache.bcel.generic.InvokeInstruction inv
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0               inv  Lorg/apache/bcel/generic/InvokeInstruction;
            0    7     1               cpg  Lorg/apache/bcel/generic/ConstantPoolGen;
            1    7     2   calledClassName  Ljava/lang/String;
            2    7     3  calledMethodName  Ljava/lang/String;
            3    7     4   calledMethodSig  Ljava/lang/String;
            6    7     5          isStatic  Z
    MethodParameters:
      Name  Flags
      inv   
      cpg   

  public static edu.umd.cs.findbugs.classfile.FieldDescriptor getAccessedFieldDescriptor(org.apache.bcel.generic.FieldInstruction, org.apache.bcel.generic.ConstantPoolGen);
    descriptor: (Lorg/apache/bcel/generic/FieldInstruction;Lorg/apache/bcel/generic/ConstantPoolGen;)Ledu/umd/cs/findbugs/classfile/FieldDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.bcel.generic.FieldInstruction fins
        start local 1 // org.apache.bcel.generic.ConstantPoolGen cpg
         0: .line 92
            aload 0 /* fins */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.FieldInstruction.getClassName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         1: .line 93
            aload 0 /* fins */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.FieldInstruction.getName:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            astore 3 /* fieldName */
        start local 3 // java.lang.String fieldName
         2: .line 94
            aload 0 /* fins */
            aload 1 /* cpg */
            invokevirtual org.apache.bcel.generic.FieldInstruction.getSignature:(Lorg/apache/bcel/generic/ConstantPoolGen;)Ljava/lang/String;
            astore 4 /* fieldSig */
        start local 4 // java.lang.String fieldSig
         3: .line 95
            aload 0 /* fins */
            invokevirtual org.apache.bcel.generic.FieldInstruction.getOpcode:()S
            sipush 178
            if_icmpeq 4
            aload 0 /* fins */
            invokevirtual org.apache.bcel.generic.FieldInstruction.getOpcode:()S
            sipush 179
            if_icmpeq 4
            iconst_0
            goto 5
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* isStatic */
        start local 5 // boolean isStatic
         6: .line 96
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            aload 2 /* className */
            aload 3 /* fieldName */
            aload 4 /* fieldSig */
            iload 5 /* isStatic */
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getFieldDescriptor:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/classfile/FieldDescriptor;
            areturn
        end local 5 // boolean isStatic
        end local 4 // java.lang.String fieldSig
        end local 3 // java.lang.String fieldName
        end local 2 // java.lang.String className
        end local 1 // org.apache.bcel.generic.ConstantPoolGen cpg
        end local 0 // org.apache.bcel.generic.FieldInstruction fins
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       fins  Lorg/apache/bcel/generic/FieldInstruction;
            0    7     1        cpg  Lorg/apache/bcel/generic/ConstantPoolGen;
            1    7     2  className  Ljava/lang/String;
            2    7     3  fieldName  Ljava/lang/String;
            3    7     4   fieldSig  Ljava/lang/String;
            6    7     5   isStatic  Z
    MethodParameters:
      Name  Flags
      fins  
      cpg   

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor getClassDescriptor(org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.classfile.JavaClass jclass
         0: .line 107
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
            aload 0 /* jclass */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toSlashedClassName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getClassDescriptor:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // org.apache.bcel.classfile.JavaClass jclass
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  jclass  Lorg/apache/bcel/classfile/JavaClass;
    MethodParameters:
        Name  Flags
      jclass  

  public static boolean preTiger(org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.classfile.JavaClass jclass
         0: .line 118
            aload 0 /* jclass */
            invokevirtual org.apache.bcel.classfile.JavaClass.getMajor:()I
            bipush 48
            if_icmplt 2
            aload 0 /* jclass */
            invokevirtual org.apache.bcel.classfile.JavaClass.getMajor:()I
            bipush 48
            if_icmpne 1
            aload 0 /* jclass */
            invokevirtual org.apache.bcel.classfile.JavaClass.getMinor:()I
            iflt 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // org.apache.bcel.classfile.JavaClass jclass
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  jclass  Lorg/apache/bcel/classfile/JavaClass;
    MethodParameters:
        Name  Flags
      jclass  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor getClassDescriptor(org.apache.bcel.generic.ObjectType);
    descriptor: (Lorg/apache/bcel/generic/ObjectType;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.ObjectType type
         0: .line 133
            aload 0 /* type */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.getClassDescriptor:(Lorg/apache/bcel/generic/ObjectType;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // org.apache.bcel.generic.ObjectType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Lorg/apache/bcel/generic/ObjectType;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      type  

  public static void throwClassNotFoundException(edu.umd.cs.findbugs.classfile.ClassDescriptor);
    descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
         0: .line 151
            aload 0 /* classDescriptor */
            invokestatic edu.umd.cs.findbugs.classfile.ClassDescriptor.throwClassNotFoundException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
         1: .line 152
            return
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  classDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      classDescriptor  

  public static org.apache.bcel.generic.ObjectType getObjectTypeInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 155
            aload 0 /* className */
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  className  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    RuntimeVisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    MethodParameters:
           Name  Flags
      className  

  public static org.apache.bcel.generic.ObjectType getObjectTypeInstance(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 159
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.bcel.BCELUtil.getObjectTypeInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lorg/apache/bcel/generic/ObjectType;
    MethodParameters:
       Name  Flags
      clazz  

  public static boolean isSynthetic(org.apache.bcel.classfile.FieldOrMethod);
    descriptor: (Lorg/apache/bcel/classfile/FieldOrMethod;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.bcel.classfile.FieldOrMethod m
         0: .line 163
            aload 0 /* m */
            invokevirtual org.apache.bcel.classfile.FieldOrMethod.isSynthetic:()Z
            ifeq 2
         1: .line 164
            iconst_1
            ireturn
         2: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            invokevirtual org.apache.bcel.classfile.FieldOrMethod.getAttributes:()[Lorg/apache/bcel/classfile/Attribute;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: org.apache.bcel.classfile.FieldOrMethod top int int org.apache.bcel.classfile.Attribute[]
      StackMap stack:
         3: aload 4
            iload 2
            aaload
            astore 1 /* a */
        start local 1 // org.apache.bcel.classfile.Attribute a
         4: .line 168
            aload 1 /* a */
            instanceof org.apache.bcel.classfile.Synthetic
            ifeq 6
         5: .line 169
            iconst_1
            ireturn
        end local 1 // org.apache.bcel.classfile.Attribute a
         6: .line 167
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 3
         8: .line 172
            iconst_0
            ireturn
        end local 0 // org.apache.bcel.classfile.FieldOrMethod m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     m  Lorg/apache/bcel/classfile/FieldOrMethod;
            4    6     1     a  Lorg/apache/bcel/classfile/Attribute;
    MethodParameters:
      Name  Flags
      m     

  public static boolean isSynthetic(org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.bcel.classfile.JavaClass j
         0: .line 175
            aload 0 /* j */
            invokevirtual org.apache.bcel.classfile.JavaClass.isSynthetic:()Z
            ifeq 2
         1: .line 176
            iconst_1
            ireturn
         2: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* j */
            invokevirtual org.apache.bcel.classfile.JavaClass.getAttributes:()[Lorg/apache/bcel/classfile/Attribute;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: org.apache.bcel.classfile.JavaClass top int int org.apache.bcel.classfile.Attribute[]
      StackMap stack:
         3: aload 4
            iload 2
            aaload
            astore 1 /* a */
        start local 1 // org.apache.bcel.classfile.Attribute a
         4: .line 180
            aload 1 /* a */
            instanceof org.apache.bcel.classfile.Synthetic
            ifeq 6
         5: .line 181
            iconst_1
            ireturn
        end local 1 // org.apache.bcel.classfile.Attribute a
         6: .line 179
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 3
         8: .line 184
            iconst_0
            ireturn
        end local 0 // org.apache.bcel.classfile.JavaClass j
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     j  Lorg/apache/bcel/classfile/JavaClass;
            4    6     1     a  Lorg/apache/bcel/classfile/Attribute;
    MethodParameters:
      Name  Flags
      j     

  public static boolean isSynthetic(org.apache.bcel.generic.FieldGenOrMethodGen);
    descriptor: (Lorg/apache/bcel/generic/FieldGenOrMethodGen;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.bcel.generic.FieldGenOrMethodGen m
         0: .line 187
            aload 0 /* m */
            invokevirtual org.apache.bcel.generic.FieldGenOrMethodGen.isSynthetic:()Z
            ifeq 2
         1: .line 188
            iconst_1
            ireturn
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            invokevirtual org.apache.bcel.generic.FieldGenOrMethodGen.getAttributes:()[Lorg/apache/bcel/classfile/Attribute;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: org.apache.bcel.generic.FieldGenOrMethodGen top int int org.apache.bcel.classfile.Attribute[]
      StackMap stack:
         3: aload 4
            iload 2
            aaload
            astore 1 /* a */
        start local 1 // org.apache.bcel.classfile.Attribute a
         4: .line 191
            aload 1 /* a */
            instanceof org.apache.bcel.classfile.Synthetic
            ifeq 6
         5: .line 192
            iconst_1
            ireturn
        end local 1 // org.apache.bcel.classfile.Attribute a
         6: .line 190
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 3
         8: .line 195
            iconst_0
            ireturn
        end local 0 // org.apache.bcel.generic.FieldGenOrMethodGen m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     m  Lorg/apache/bcel/generic/FieldGenOrMethodGen;
            4    6     1     a  Lorg/apache/bcel/classfile/Attribute;
    MethodParameters:
      Name  Flags
      m     
}
SourceFile: "BCELUtil.java"