public class net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers implements net.bytebuddy.asm.MemberSubstitution$Replacement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers
  super_class: java.lang.Object
{
  private final net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.field.FieldDescription$InDefinedShape> fieldMatcher;
    descriptor: Lnet/bytebuddy/matcher/ElementMatcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;

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

  private final boolean matchFieldRead;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean matchFieldWrite;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean includeVirtualCalls;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean includeSuperCalls;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.asm.MemberSubstitution$Substitution substitution;
    descriptor: Lnet/bytebuddy/asm/MemberSubstitution$Substitution;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.field.FieldDescription$InDefinedShape>, net.bytebuddy.matcher.ElementMatcher<? super net.bytebuddy.description.method.MethodDescription>, boolean, boolean, boolean, boolean, net.bytebuddy.asm.MemberSubstitution$Substitution);
    descriptor: (Lnet/bytebuddy/matcher/ElementMatcher;Lnet/bytebuddy/matcher/ElementMatcher;ZZZZLnet/bytebuddy/asm/MemberSubstitution$Substitution;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
        start local 1 // net.bytebuddy.matcher.ElementMatcher fieldMatcher
        start local 2 // net.bytebuddy.matcher.ElementMatcher methodMatcher
        start local 3 // boolean matchFieldRead
        start local 4 // boolean matchFieldWrite
        start local 5 // boolean includeVirtualCalls
        start local 6 // boolean includeSuperCalls
        start local 7 // net.bytebuddy.asm.MemberSubstitution$Substitution substitution
         0: .line 1608
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1615
            aload 0 /* this */
            aload 1 /* fieldMatcher */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher;
         2: .line 1616
            aload 0 /* this */
            aload 2 /* methodMatcher */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher;
         3: .line 1617
            aload 0 /* this */
            iload 3 /* matchFieldRead */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.matchFieldRead:Z
         4: .line 1618
            aload 0 /* this */
            iload 4 /* matchFieldWrite */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.matchFieldWrite:Z
         5: .line 1619
            aload 0 /* this */
            iload 5 /* includeVirtualCalls */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.includeVirtualCalls:Z
         6: .line 1620
            aload 0 /* this */
            iload 6 /* includeSuperCalls */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.includeSuperCalls:Z
         7: .line 1621
            aload 0 /* this */
            aload 7 /* substitution */
            putfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.substitution:Lnet/bytebuddy/asm/MemberSubstitution$Substitution;
         8: .line 1622
            return
        end local 7 // net.bytebuddy.asm.MemberSubstitution$Substitution substitution
        end local 6 // boolean includeSuperCalls
        end local 5 // boolean includeVirtualCalls
        end local 4 // boolean matchFieldWrite
        end local 3 // boolean matchFieldRead
        end local 2 // net.bytebuddy.matcher.ElementMatcher methodMatcher
        end local 1 // net.bytebuddy.matcher.ElementMatcher fieldMatcher
        end local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lnet/bytebuddy/asm/MemberSubstitution$Replacement$ForElementMatchers;
            0    9     1         fieldMatcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;
            0    9     2        methodMatcher  Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;
            0    9     3       matchFieldRead  Z
            0    9     4      matchFieldWrite  Z
            0    9     5  includeVirtualCalls  Z
            0    9     6    includeSuperCalls  Z
            0    9     7         substitution  Lnet/bytebuddy/asm/MemberSubstitution$Substitution;
    Signature: (Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;>;Lnet/bytebuddy/matcher/ElementMatcher<-Lnet/bytebuddy/description/method/MethodDescription;>;ZZZZLnet/bytebuddy/asm/MemberSubstitution$Substitution;)V
    MethodParameters:
                     Name  Flags
      fieldMatcher         
      methodMatcher        
      matchFieldRead       
      matchFieldWrite      
      includeVirtualCalls  
      includeSuperCalls    
      substitution         

  public net.bytebuddy.asm.MemberSubstitution$Replacement$Binding bind(net.bytebuddy.description.field.FieldDescription$InDefinedShape, boolean);
    descriptor: (Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;Z)Lnet/bytebuddy/asm/MemberSubstitution$Replacement$Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
        start local 1 // net.bytebuddy.description.field.FieldDescription$InDefinedShape fieldDescription
        start local 2 // boolean writeAccess
         0: .line 1628
            iload 2 /* writeAccess */
            ifeq 1
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.matchFieldWrite:Z
            ifeq 4
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.matchFieldRead:Z
            ifeq 4
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.fieldMatcher:Lnet/bytebuddy/matcher/ElementMatcher;
            aload 1 /* fieldDescription */
            invokeinterface net.bytebuddy.matcher.ElementMatcher.matches:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1629
            new net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Resolved
            dup
            aload 1 /* fieldDescription */
            invokeinterface net.bytebuddy.description.field.FieldDescription$InDefinedShape.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDescription;
            aload 1 /* fieldDescription */
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.substitution:Lnet/bytebuddy/asm/MemberSubstitution$Substitution;
            invokespecial net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Resolved.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/ByteCodeElement;Lnet/bytebuddy/asm/MemberSubstitution$Substitution;)V
            goto 5
         4: .line 1630
      StackMap locals:
      StackMap stack:
            getstatic net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Unresolved.INSTANCE:Lnet/bytebuddy/asm/MemberSubstitution$Replacement$Binding$Unresolved;
         5: .line 1628
      StackMap locals:
      StackMap stack: net.bytebuddy.asm.MemberSubstitution$Replacement$Binding
            areturn
        end local 2 // boolean writeAccess
        end local 1 // net.bytebuddy.description.field.FieldDescription$InDefinedShape fieldDescription
        end local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lnet/bytebuddy/asm/MemberSubstitution$Replacement$ForElementMatchers;
            0    6     1  fieldDescription  Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;
            0    6     2       writeAccess  Z
    MethodParameters:
                  Name  Flags
      fieldDescription  
      writeAccess       

  public net.bytebuddy.asm.MemberSubstitution$Replacement$Binding bind(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.method.MethodDescription, net.bytebuddy.asm.MemberSubstitution$Replacement$InvocationType);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/asm/MemberSubstitution$Replacement$InvocationType;)Lnet/bytebuddy/asm/MemberSubstitution$Replacement$Binding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
        start local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
        start local 2 // net.bytebuddy.description.method.MethodDescription methodDescription
        start local 3 // net.bytebuddy.asm.MemberSubstitution$Replacement$InvocationType invocationType
         0: .line 1637
            aload 3 /* invocationType */
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.includeVirtualCalls:Z
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.includeSuperCalls:Z
            invokevirtual net.bytebuddy.asm.MemberSubstitution$Replacement$InvocationType.matches:(ZZ)Z
            ifeq 2
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.methodMatcher:Lnet/bytebuddy/matcher/ElementMatcher;
            aload 2 /* methodDescription */
            invokeinterface net.bytebuddy.matcher.ElementMatcher.matches:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1638
            new net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Resolved
            dup
            aload 1 /* typeDescription */
            aload 2 /* methodDescription */
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers.substitution:Lnet/bytebuddy/asm/MemberSubstitution$Substitution;
            invokespecial net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Resolved.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/ByteCodeElement;Lnet/bytebuddy/asm/MemberSubstitution$Substitution;)V
            goto 3
         2: .line 1639
      StackMap locals:
      StackMap stack:
            getstatic net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Unresolved.INSTANCE:Lnet/bytebuddy/asm/MemberSubstitution$Replacement$Binding$Unresolved;
         3: .line 1637
      StackMap locals:
      StackMap stack: net.bytebuddy.asm.MemberSubstitution$Replacement$Binding
            areturn
        end local 3 // net.bytebuddy.asm.MemberSubstitution$Replacement$InvocationType invocationType
        end local 2 // net.bytebuddy.description.method.MethodDescription methodDescription
        end local 1 // net.bytebuddy.description.type.TypeDescription typeDescription
        end local 0 // net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lnet/bytebuddy/asm/MemberSubstitution$Replacement$ForElementMatchers;
            0    4     1    typeDescription  Lnet/bytebuddy/description/type/TypeDescription;
            0    4     2  methodDescription  Lnet/bytebuddy/description/method/MethodDescription;
            0    4     3     invocationType  Lnet/bytebuddy/asm/MemberSubstitution$Replacement$InvocationType;
    MethodParameters:
                   Name  Flags
      typeDescription    
      methodDescription  
      invocationType     
}
SourceFile: "MemberSubstitution.java"
NestHost: net.bytebuddy.asm.MemberSubstitution
InnerClasses:
  protected abstract Replacement = net.bytebuddy.asm.MemberSubstitution$Replacement of net.bytebuddy.asm.MemberSubstitution
  public abstract Binding = net.bytebuddy.asm.MemberSubstitution$Replacement$Binding of net.bytebuddy.asm.MemberSubstitution$Replacement
  public Resolved = net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Resolved of net.bytebuddy.asm.MemberSubstitution$Replacement$Binding
  public final Unresolved = net.bytebuddy.asm.MemberSubstitution$Replacement$Binding$Unresolved of net.bytebuddy.asm.MemberSubstitution$Replacement$Binding
  public ForElementMatchers = net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers of net.bytebuddy.asm.MemberSubstitution$Replacement
  protected Factory = net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers$Factory of net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers
  public final InvocationType = net.bytebuddy.asm.MemberSubstitution$Replacement$InvocationType of net.bytebuddy.asm.MemberSubstitution$Replacement
  public abstract Substitution = net.bytebuddy.asm.MemberSubstitution$Substitution of net.bytebuddy.asm.MemberSubstitution
  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
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()