public class net.bytebuddy.asm.MemberRemoval extends net.bytebuddy.asm.AsmVisitorWrapper$AbstractBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.asm.MemberRemoval
  super_class: net.bytebuddy.asm.AsmVisitorWrapper$AbstractBase
{
  private final net.bytebuddy.matcher.ElementMatcher$Junction<net.bytebuddy.description.field.FieldDescription$InDefinedShape> fieldMatcher;
    descriptor: Lnet/bytebuddy/matcher/ElementMatcher$Junction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;

  private final net.bytebuddy.matcher.ElementMatcher$Junction<net.bytebuddy.description.method.MethodDescription> methodMatcher;
    descriptor: Lnet/bytebuddy/matcher/ElementMatcher$Junction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/method/MethodDescription;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.bytebuddy.asm.MemberRemoval this
         0: .line 71
            aload 0 /* this */
            invokestatic net.bytebuddy.matcher.ElementMatchers.none:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokestatic net.bytebuddy.matcher.ElementMatchers.none:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokespecial net.bytebuddy.asm.MemberRemoval.<init>:(Lnet/bytebuddy/matcher/ElementMatcher$Junction;Lnet/bytebuddy/matcher/ElementMatcher$Junction;)V
         1: .line 72
            return
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lnet/bytebuddy/asm/MemberRemoval;

  protected void <init>(net.bytebuddy.matcher.ElementMatcher$Junction<net.bytebuddy.description.field.FieldDescription$InDefinedShape>, net.bytebuddy.matcher.ElementMatcher$Junction<net.bytebuddy.description.method.MethodDescription>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher$Junction;Lnet/bytebuddy/matcher/ElementMatcher$Junction;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.matcher.ElementMatcher$Junction fieldMatcher
        start local 2 // net.bytebuddy.matcher.ElementMatcher$Junction methodMatcher
         0: .line 80
            aload 0 /* this */
            invokespecial net.bytebuddy.asm.AsmVisitorWrapper$AbstractBase.<init>:()V
         1: .line 82
            aload 0 /* this */
            aload 1 /* fieldMatcher */
            putfield net.bytebuddy.asm.MemberRemoval.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
         2: .line 83
            aload 0 /* this */
            aload 2 /* methodMatcher */
            putfield net.bytebuddy.asm.MemberRemoval.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
         3: .line 84
            return
        end local 2 // net.bytebuddy.matcher.ElementMatcher$Junction methodMatcher
        end local 1 // net.bytebuddy.matcher.ElementMatcher$Junction fieldMatcher
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lnet/bytebuddy/asm/MemberRemoval;
            0    4     1   fieldMatcher  Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
            0    4     2  methodMatcher  Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/method/MethodDescription;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;Lnet/bytebuddy/matcher/ElementMatcher$Junction<Lnet/bytebuddy/description/method/MethodDescription;>;)V
    MethodParameters:
               Name  Flags
      fieldMatcher   
      methodMatcher  

  public net.bytebuddy.asm.MemberRemoval stripFields(net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.field.FieldDescription$InDefinedShape>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.matcher.ElementMatcher matcher
         0: .line 93
            new net.bytebuddy.asm.MemberRemoval
            dup
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 1 /* matcher */
            invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.or:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokespecial net.bytebuddy.asm.MemberRemoval.<init>:(Lnet/bytebuddy/matcher/ElementMatcher$Junction;Lnet/bytebuddy/matcher/ElementMatcher$Junction;)V
            areturn
        end local 1 // net.bytebuddy.matcher.ElementMatcher matcher
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lnet/bytebuddy/asm/MemberRemoval;
            0    1     1  matcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;)Lnet/bytebuddy/asm/MemberRemoval;
    MethodParameters:
         Name  Flags
      matcher  

  public net.bytebuddy.asm.MemberRemoval stripMethods(net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.method.MethodDescription>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.matcher.ElementMatcher matcher
         0: .line 103
            aload 0 /* this */
            invokestatic net.bytebuddy.matcher.ElementMatchers.isMethod:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 1 /* matcher */
            invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.and:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokevirtual net.bytebuddy.asm.MemberRemoval.stripInvokables:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
            areturn
        end local 1 // net.bytebuddy.matcher.ElementMatcher matcher
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lnet/bytebuddy/asm/MemberRemoval;
            0    1     1  matcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;)Lnet/bytebuddy/asm/MemberRemoval;
    MethodParameters:
         Name  Flags
      matcher  

  public net.bytebuddy.asm.MemberRemoval stripConstructors(net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.method.MethodDescription>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.matcher.ElementMatcher matcher
         0: .line 113
            aload 0 /* this */
            invokestatic net.bytebuddy.matcher.ElementMatchers.isConstructor:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 1 /* matcher */
            invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.and:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokevirtual net.bytebuddy.asm.MemberRemoval.stripInvokables:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
            areturn
        end local 1 // net.bytebuddy.matcher.ElementMatcher matcher
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lnet/bytebuddy/asm/MemberRemoval;
            0    1     1  matcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;)Lnet/bytebuddy/asm/MemberRemoval;
    MethodParameters:
         Name  Flags
      matcher  

  public net.bytebuddy.asm.MemberRemoval stripInvokables(net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.method.MethodDescription>);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/asm/MemberRemoval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.matcher.ElementMatcher matcher
         0: .line 123
            new net.bytebuddy.asm.MemberRemoval
            dup
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 1 /* matcher */
            invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.or:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            invokespecial net.bytebuddy.asm.MemberRemoval.<init>:(Lnet/bytebuddy/matcher/ElementMatcher$Junction;Lnet/bytebuddy/matcher/ElementMatcher$Junction;)V
            areturn
        end local 1 // net.bytebuddy.matcher.ElementMatcher matcher
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lnet/bytebuddy/asm/MemberRemoval;
            0    1     1  matcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;)Lnet/bytebuddy/asm/MemberRemoval;
    MethodParameters:
         Name  Flags
      matcher  

  public org.objectweb.asm.ClassVisitor wrap(net.bytebuddy.description.type.TypeDescription, org.objectweb.asm.ClassVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.pool.TypePool, net.bytebuddy.description.field.FieldList<net.bytebuddy.description.field.FieldDescription$InDefinedShape>, net.bytebuddy.description.method.MethodList<?>, int, int);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lorg/objectweb/asm/ClassVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/pool/TypePool;Lnet/bytebuddy/description/field/FieldList;Lnet/bytebuddy/description/method/MethodList;II)Lorg/objectweb/asm/ClassVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=9
        start local 0 // net.bytebuddy.asm.MemberRemoval this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        start local 2 // org.objectweb.asm.ClassVisitor classVisitor
        start local 3 // net.bytebuddy.implementation.Implementation$Context implementationContext
        start local 4 // net.bytebuddy.pool.TypePool typePool
        start local 5 // net.bytebuddy.description.field.FieldList fields
        start local 6 // net.bytebuddy.description.method.MethodList methods
        start local 7 // int writerFlags
        start local 8 // int readerFlags
         0: .line 137
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* mappedFields */
        start local 9 // java.util.Map mappedFields
         1: .line 138
            aload 5 /* fields */
            invokeinterface net.bytebuddy.description.field.FieldList.iterator:()Ljava/util/Iterator;
            astore 11
            goto 4
      StackMap locals: net.bytebuddy.asm.MemberRemoval net.bytebuddy.description.type.TypeDescription org.objectweb.asm.ClassVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.pool.TypePool net.bytebuddy.description.field.FieldList net.bytebuddy.description.method.MethodList int int java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
            astore 10 /* fieldDescription */
        start local 10 // net.bytebuddy.description.field.FieldDescription$InDefinedShape fieldDescription
         3: .line 139
            aload 9 /* mappedFields */
            new java.lang.StringBuilder
            dup
            aload 10 /* fieldDescription */
            invokeinterface net.bytebuddy.description.field.FieldDescription$InDefinedShape.getInternalName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* fieldDescription */
            invokeinterface net.bytebuddy.description.field.FieldDescription$InDefinedShape.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* fieldDescription */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // net.bytebuddy.description.field.FieldDescription$InDefinedShape fieldDescription
         4: .line 138
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 141
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 10 /* mappedMethods */
        start local 10 // java.util.Map mappedMethods
         6: .line 142
            aload 6 /* methods */
            new net.bytebuddy.description.method.MethodDescription$Latent$TypeInitializer
            dup
            aload 1 /* instrumentedType */
            invokespecial net.bytebuddy.description.method.MethodDescription$Latent$TypeInitializer.<init>:(Lnet/bytebuddy/description/type/TypeDescription;)V
            invokestatic net.bytebuddy.utility.CompoundList.of:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 9
      StackMap locals: net.bytebuddy.asm.MemberRemoval net.bytebuddy.description.type.TypeDescription org.objectweb.asm.ClassVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.pool.TypePool net.bytebuddy.description.field.FieldList net.bytebuddy.description.method.MethodList int int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.method.MethodDescription
            astore 11 /* methodDescription */
        start local 11 // net.bytebuddy.description.method.MethodDescription methodDescription
         8: .line 143
            aload 10 /* mappedMethods */
            new java.lang.StringBuilder
            dup
            aload 11 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getInternalName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 11 /* methodDescription */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // net.bytebuddy.description.method.MethodDescription methodDescription
         9: .line 142
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 145
            new net.bytebuddy.asm.MemberRemoval$MemberRemovingClassVisitor
            dup
            aload 2 /* classVisitor */
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberRemoval.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher$Junction;
            aload 9 /* mappedFields */
            aload 10 /* mappedMethods */
            invokespecial net.bytebuddy.asm.MemberRemoval$MemberRemovingClassVisitor.<init>:(Lorg/objectweb/asm/ClassVisitor;Lnet/bytebuddy/matcher/ElementMatcher$Junction;Lnet/bytebuddy/matcher/ElementMatcher$Junction;Ljava/util/Map;Ljava/util/Map;)V
            areturn
        end local 10 // java.util.Map mappedMethods
        end local 9 // java.util.Map mappedFields
        end local 8 // int readerFlags
        end local 7 // int writerFlags
        end local 6 // net.bytebuddy.description.method.MethodList methods
        end local 5 // net.bytebuddy.description.field.FieldList fields
        end local 4 // net.bytebuddy.pool.TypePool typePool
        end local 3 // net.bytebuddy.implementation.Implementation$Context implementationContext
        end local 2 // org.objectweb.asm.ClassVisitor classVisitor
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.asm.MemberRemoval this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   11     0                   this  Lnet/bytebuddy/asm/MemberRemoval;
            0   11     1       instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
            0   11     2           classVisitor  Lorg/objectweb/asm/ClassVisitor;
            0   11     3  implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
            0   11     4               typePool  Lnet/bytebuddy/pool/TypePool;
            0   11     5                 fields  Lnet/bytebuddy/description/field/FieldList<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
            0   11     6                methods  Lnet/bytebuddy/description/method/MethodList<*>;
            0   11     7            writerFlags  I
            0   11     8            readerFlags  I
            1   11     9           mappedFields  Ljava/util/Map<Ljava/lang/String;Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
            3    4    10       fieldDescription  Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;
            6   11    10          mappedMethods  Ljava/util/Map<Ljava/lang/String;Lnet/bytebuddy/description/method/MethodDescription;>;
            8    9    11      methodDescription  Lnet/bytebuddy/description/method/MethodDescription;
    Signature: (Lnet/bytebuddy/description/type/TypeDescription;Lorg/objectweb/asm/ClassVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/pool/TypePool;Lnet/bytebuddy/description/field/FieldList<Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;Lnet/bytebuddy/description/method/MethodList<*>;II)Lorg/objectweb/asm/ClassVisitor;
    MethodParameters:
                       Name  Flags
      instrumentedType       
      classVisitor           
      implementationContext  
      typePool               
      fields                 
      methods                
      writerFlags            
      readerFlags            
}
SourceFile: "MemberRemoval.java"
NestMembers:
  net.bytebuddy.asm.MemberRemoval$MemberRemovingClassVisitor
InnerClasses:
  public abstract AbstractBase = net.bytebuddy.asm.AsmVisitorWrapper$AbstractBase of net.bytebuddy.asm.AsmVisitorWrapper
  protected MemberRemovingClassVisitor = net.bytebuddy.asm.MemberRemoval$MemberRemovingClassVisitor of net.bytebuddy.asm.MemberRemoval
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract InDefinedShape = net.bytebuddy.description.field.FieldDescription$InDefinedShape of net.bytebuddy.description.field.FieldDescription
  public Latent = net.bytebuddy.description.method.MethodDescription$Latent of net.bytebuddy.description.method.MethodDescription
  public TypeInitializer = net.bytebuddy.description.method.MethodDescription$Latent$TypeInitializer of net.bytebuddy.description.method.MethodDescription$Latent
  public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
  public abstract Junction = net.bytebuddy.matcher.ElementMatcher$Junction of net.bytebuddy.matcher.ElementMatcher
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()