class net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder extends org.objectweb.asm.ClassVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder
  super_class: org.objectweb.asm.ClassVisitor
{
  private final java.util.Set rejected;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private net.sf.cglib.core.Signature currentMethodSig;
    descriptor: Lnet/sf/cglib/core/Signature;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map methods;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.util.Set);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
        start local 1 // java.util.Set rejected
         0: .line 125
            aload 0 /* this */
            getstatic net.sf.cglib.core.Constants.ASM_API:I
            invokespecial org.objectweb.asm.ClassVisitor.<init>:(I)V
         1: .line 121
            aload 0 /* this */
            aconst_null
            putfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.currentMethodSig:Lnet/sf/cglib/core/Signature;
         2: .line 122
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.methods:Ljava/util/Map;
         3: .line 126
            aload 0 /* this */
            aload 1 /* rejected */
            putfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.rejected:Ljava/util/Set;
         4: .line 127
            return
        end local 1 // java.util.Set rejected
        end local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lnet/sf/cglib/core/DuplicatesPredicate$UnnecessaryBridgeFinder;
            0    5     1  rejected  Ljava/util/Set;
    MethodParameters:
          Name  Flags
      rejected  

  void addSuspectMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
        start local 1 // java.lang.reflect.Method m
         0: .line 130
            aload 0 /* this */
            getfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.methods:Ljava/util/Map;
            aload 1 /* m */
            invokestatic net.sf.cglib.core.ReflectUtils.getSignature:(Ljava/lang/reflect/Member;)Lnet/sf/cglib/core/Signature;
            aload 1 /* m */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 131
            return
        end local 1 // java.lang.reflect.Method m
        end local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/sf/cglib/core/DuplicatesPredicate$UnnecessaryBridgeFinder;
            0    2     1     m  Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      m     

  public void visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=7, args_size=7
        start local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
        start local 1 // int version
        start local 2 // int access
        start local 3 // java.lang.String name
        start local 4 // java.lang.String signature
        start local 5 // java.lang.String superName
        start local 6 // java.lang.String[] interfaces
         0: .line 139
            return
        end local 6 // java.lang.String[] interfaces
        end local 5 // java.lang.String superName
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String name
        end local 2 // int access
        end local 1 // int version
        end local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lnet/sf/cglib/core/DuplicatesPredicate$UnnecessaryBridgeFinder;
            0    1     1     version  I
            0    1     2      access  I
            0    1     3        name  Ljava/lang/String;
            0    1     4   signature  Ljava/lang/String;
            0    1     5   superName  Ljava/lang/String;
            0    1     6  interfaces  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      version     
      access      
      name        
      signature   
      superName   
      interfaces  

  public org.objectweb.asm.MethodVisitor visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
        start local 1 // int access
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
        start local 4 // java.lang.String signature
        start local 5 // java.lang.String[] exceptions
         0: .line 143
            new net.sf.cglib.core.Signature
            dup
            aload 2 /* name */
            aload 3 /* desc */
            invokespecial net.sf.cglib.core.Signature.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* sig */
        start local 6 // net.sf.cglib.core.Signature sig
         1: .line 144
            aload 0 /* this */
            getfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.methods:Ljava/util/Map;
            aload 6 /* sig */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 7 /* currentMethod */
        start local 7 // java.lang.reflect.Method currentMethod
         2: .line 145
            aload 7 /* currentMethod */
            ifnull 5
         3: .line 146
            aload 0 /* this */
            aload 6 /* sig */
            putfield net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder.currentMethodSig:Lnet/sf/cglib/core/Signature;
         4: .line 147
            new net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder$1
            dup
            aload 0 /* this */
            getstatic net.sf.cglib.core.Constants.ASM_API:I
            aload 7 /* currentMethod */
            invokespecial net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder$1.<init>:(Lnet/sf/cglib/core/DuplicatesPredicate$UnnecessaryBridgeFinder;ILjava/lang/reflect/Method;)V
            areturn
         5: .line 160
      StackMap locals: net.sf.cglib.core.Signature java.lang.reflect.Method
      StackMap stack:
            aconst_null
            areturn
        end local 7 // java.lang.reflect.Method currentMethod
        end local 6 // net.sf.cglib.core.Signature sig
        end local 5 // java.lang.String[] exceptions
        end local 4 // java.lang.String signature
        end local 3 // java.lang.String desc
        end local 2 // java.lang.String name
        end local 1 // int access
        end local 0 // net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lnet/sf/cglib/core/DuplicatesPredicate$UnnecessaryBridgeFinder;
            0    6     1         access  I
            0    6     2           name  Ljava/lang/String;
            0    6     3           desc  Ljava/lang/String;
            0    6     4      signature  Ljava/lang/String;
            0    6     5     exceptions  [Ljava/lang/String;
            1    6     6            sig  Lnet/sf/cglib/core/Signature;
            2    6     7  currentMethod  Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      access      
      name        
      desc        
      signature   
      exceptions  
}
SourceFile: "DuplicatesPredicate.java"
NestHost: net.sf.cglib.core.DuplicatesPredicate
InnerClasses:
  private UnnecessaryBridgeFinder = net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder of net.sf.cglib.core.DuplicatesPredicate
  net.sf.cglib.core.DuplicatesPredicate$UnnecessaryBridgeFinder$1