public class net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation implements net.bytebuddy.asm.MemberSubstitution$Substitution
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation
  super_class: java.lang.Object
{
  private static final int THIS_REFERENCE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final net.bytebuddy.description.type.TypeDescription instrumentedType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        start local 2 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver methodResolver
         0: .line 1067
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1068
            aload 0 /* this */
            aload 1 /* instrumentedType */
            putfield net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 1069
            aload 0 /* this */
            aload 2 /* methodResolver */
            putfield net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation.methodResolver:Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver;
         3: .line 1070
            return
        end local 2 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver methodResolver
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation;
            0    4     1  instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
            0    4     2    methodResolver  Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver;
    MethodParameters:
                  Name  Flags
      instrumentedType  
      methodResolver    

  public net.bytebuddy.implementation.bytecode.StackManipulation resolve(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.ByteCodeElement, net.bytebuddy.description.type.TypeList$Generic, net.bytebuddy.description.type.TypeDescription$Generic);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/ByteCodeElement;Lnet/bytebuddy/description/type/TypeList$Generic;Lnet/bytebuddy/description/type/TypeDescription$Generic;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation this
        start local 1 // net.bytebuddy.description.type.TypeDescription targetType
        start local 2 // net.bytebuddy.description.ByteCodeElement target
        start local 3 // net.bytebuddy.description.type.TypeList$Generic parameters
        start local 4 // net.bytebuddy.description.type.TypeDescription$Generic result
         0: .line 1076
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation.methodResolver:Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver;
            aload 1 /* targetType */
            aload 2 /* target */
            aload 3 /* parameters */
            aload 4 /* result */
            invokeinterface net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver.resolve:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/ByteCodeElement;Lnet/bytebuddy/description/type/TypeList$Generic;Lnet/bytebuddy/description/type/TypeDescription$Generic;)Lnet/bytebuddy/description/method/MethodDescription;
            astore 5 /* methodDescription */
        start local 5 // net.bytebuddy.description.method.MethodDescription methodDescription
         1: .line 1077
            aload 5 /* methodDescription */
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.method.MethodDescription.isAccessibleTo:(Lnet/bytebuddy/description/type/TypeDescription;)Z
            ifne 3
         2: .line 1078
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " cannot access "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* methodDescription */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1080
      StackMap locals: net.bytebuddy.description.method.MethodDescription
      StackMap stack:
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.isStatic:()Z
            ifeq 5
         4: .line 1081
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getParameters:()Lnet/bytebuddy/description/method/ParameterList;
            invokeinterface net.bytebuddy.description.method.ParameterList.asTypeList:()Lnet/bytebuddy/description/type/TypeList$Generic;
            goto 6
         5: .line 1082
      StackMap locals:
      StackMap stack:
            new net.bytebuddy.description.type.TypeList$Generic$Explicit
            dup
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDefinition;
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getParameters:()Lnet/bytebuddy/description/method/ParameterList;
            invokeinterface net.bytebuddy.description.method.ParameterList.asTypeList:()Lnet/bytebuddy/description/type/TypeList$Generic;
            invokestatic net.bytebuddy.utility.CompoundList.of:(Ljava/lang/Object;Ljava/util/List;)Ljava/util/List;
            invokespecial net.bytebuddy.description.type.TypeList$Generic$Explicit.<init>:(Ljava/util/List;)V
         6: .line 1080
      StackMap locals:
      StackMap stack: net.bytebuddy.description.type.TypeList$Generic
            astore 6 /* mapped */
        start local 6 // net.bytebuddy.description.type.TypeList$Generic mapped
         7: .line 1083
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            aload 4 /* result */
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.isAssignableTo:(Lnet/bytebuddy/description/type/TypeDescription;)Z
            ifne 9
         8: .line 1084
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot assign return value of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* methodDescription */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1085
      StackMap locals: net.bytebuddy.description.type.TypeList$Generic
      StackMap stack:
            aload 6 /* mapped */
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.size:()I
            aload 3 /* parameters */
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.size:()I
            if_icmpeq 11
        10: .line 1086
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot invoke "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* methodDescription */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* parameters */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1088
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        12: goto 16
        13: .line 1089
      StackMap locals: int
      StackMap stack:
            aload 6 /* mapped */
            iload 7 /* index */
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.get:(I)Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription$Generic
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            aload 3 /* parameters */
            iload 7 /* index */
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.get:(I)Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription$Generic
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.isAssignableTo:(Lnet/bytebuddy/description/type/TypeDescription;)Z
            ifne 15
        14: .line 1090
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot invoke "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* methodDescription */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* parameters */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1088
      StackMap locals:
      StackMap stack:
            iinc 7 /* index */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* index */
            aload 6 /* mapped */
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.size:()I
            if_icmplt 13
        end local 7 // int index
        17: .line 1093
            aload 5 /* methodDescription */
            invokeinterface net.bytebuddy.description.method.MethodDescription.isVirtual:()Z
            ifeq 19
        18: .line 1094
            aload 5 /* methodDescription */
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
            aload 6 /* mapped */
            iconst_0
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.get:(I)Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription$Generic
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType.virtual:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            goto 20
        19: .line 1095
      StackMap locals:
      StackMap stack:
            aload 5 /* methodDescription */
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
        20: .line 1093
      StackMap locals:
      StackMap stack: net.bytebuddy.implementation.bytecode.StackManipulation
            areturn
        end local 6 // net.bytebuddy.description.type.TypeList$Generic mapped
        end local 5 // net.bytebuddy.description.method.MethodDescription methodDescription
        end local 4 // net.bytebuddy.description.type.TypeDescription$Generic result
        end local 3 // net.bytebuddy.description.type.TypeList$Generic parameters
        end local 2 // net.bytebuddy.description.ByteCodeElement target
        end local 1 // net.bytebuddy.description.type.TypeDescription targetType
        end local 0 // net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lnet/bytebuddy/asm/MemberSubstitution$Substitution$ForMethodInvocation;
            0   21     1         targetType  Lnet/bytebuddy/description/type/TypeDescription;
            0   21     2             target  Lnet/bytebuddy/description/ByteCodeElement;
            0   21     3         parameters  Lnet/bytebuddy/description/type/TypeList$Generic;
            0   21     4             result  Lnet/bytebuddy/description/type/TypeDescription$Generic;
            1   21     5  methodDescription  Lnet/bytebuddy/description/method/MethodDescription;
            7   21     6             mapped  Lnet/bytebuddy/description/type/TypeList$Generic;
           12   17     7              index  I
    MethodParameters:
            Name  Flags
      targetType  
      target      
      parameters  
      result      
}
SourceFile: "MemberSubstitution.java"
NestHost: net.bytebuddy.asm.MemberSubstitution
InnerClasses:
  public abstract Substitution = net.bytebuddy.asm.MemberSubstitution$Substitution of net.bytebuddy.asm.MemberSubstitution
  public ForMethodInvocation = net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation of net.bytebuddy.asm.MemberSubstitution$Substitution
  public abstract MethodResolver = net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$MethodResolver of net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation
  public OfGivenMethod = net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$OfGivenMethod of net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation
  final OfInstrumentedMethod = net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$OfInstrumentedMethod of net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation
  public OfMatchedMethod = net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation$OfMatchedMethod of net.bytebuddy.asm.MemberSubstitution$Substitution$ForMethodInvocation
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public abstract Generic = net.bytebuddy.description.type.TypeList$Generic of net.bytebuddy.description.type.TypeList
  public Explicit = net.bytebuddy.description.type.TypeList$Generic$Explicit of net.bytebuddy.description.type.TypeList$Generic
  public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()