public class org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration implements org.graalvm.compiler.api.replacements.MethodSubstitutionRegistry
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins;
    descriptor: Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Type declaringType;
    descriptor: Ljava/lang/reflect/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.bytecode.BytecodeProvider methodSubstitutionBytecodeProvider;
    descriptor: Lorg/graalvm/compiler/bytecode/BytecodeProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean allowOverwrite;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 176
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Class<?> getReceiverType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
         0: .line 185
            ldc Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
            areturn
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    Signature: ()Ljava/lang/Class<*>;

  public void <init>(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, java.lang.reflect.Type);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 2 // java.lang.reflect.Type declaringType
         0: .line 196
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 197
            aload 0 /* this */
            aload 1 /* plugins */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
         2: .line 198
            aload 0 /* this */
            aload 2 /* declaringType */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
         3: .line 199
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.methodSubstitutionBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
         4: .line 200
            return
        end local 2 // java.lang.reflect.Type declaringType
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    5     1        plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    5     2  declaringType  Ljava/lang/reflect/Type;
    MethodParameters:
               Name  Flags
      plugins        
      declaringType  

  public void <init>(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, java.lang.reflect.Type, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 2 // java.lang.reflect.Type declaringType
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider methodSubstitutionBytecodeProvider
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 213
            aload 0 /* this */
            aload 1 /* plugins */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
         2: .line 214
            aload 0 /* this */
            aload 2 /* declaringType */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
         3: .line 215
            aload 0 /* this */
            aload 3 /* methodSubstitutionBytecodeProvider */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.methodSubstitutionBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
         4: .line 216
            return
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider methodSubstitutionBytecodeProvider
        end local 2 // java.lang.reflect.Type declaringType
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0    5     0                                this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    5     1                             plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    5     2                       declaringType  Ljava/lang/reflect/Type;
            0    5     3  methodSubstitutionBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
    MethodParameters:
                                    Name  Flags
      plugins                             
      declaringType                       
      methodSubstitutionBytecodeProvider  

  public void <init>(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins, java.lang.String, org.graalvm.compiler.bytecode.BytecodeProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/String;Lorg/graalvm/compiler/bytecode/BytecodeProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        start local 2 // java.lang.String declaringClassName
        start local 3 // org.graalvm.compiler.bytecode.BytecodeProvider methodSubstitutionBytecodeProvider
         0: .line 228
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 229
            aload 0 /* this */
            aload 1 /* plugins */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
         2: .line 230
            aload 0 /* this */
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$OptionalLazySymbol
            dup
            aload 2 /* declaringClassName */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$OptionalLazySymbol.<init>:(Ljava/lang/String;)V
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
         3: .line 231
            aload 0 /* this */
            aload 3 /* methodSubstitutionBytecodeProvider */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.methodSubstitutionBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
         4: .line 232
            return
        end local 3 // org.graalvm.compiler.bytecode.BytecodeProvider methodSubstitutionBytecodeProvider
        end local 2 // java.lang.String declaringClassName
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins plugins
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot                                Name  Signature
            0    5     0                                this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    5     1                             plugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            0    5     2                  declaringClassName  Ljava/lang/String;
            0    5     3  methodSubstitutionBytecodeProvider  Lorg/graalvm/compiler/bytecode/BytecodeProvider;
    MethodParameters:
                                    Name  Flags
      plugins                             
      declaringClassName                  
      methodSubstitutionBytecodeProvider  

  public org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration setAllowOverwrite(boolean);
    descriptor: (Z)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // boolean allowOverwrite
         0: .line 238
            aload 0 /* this */
            iload 1 /* allowOverwrite */
            putfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
         1: .line 239
            aload 0 /* this */
            areturn
        end local 1 // boolean allowOverwrite
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1  allowOverwrite  Z
    MethodParameters:
                Name  Flags
      allowOverwrite  

  public void register0(java.lang.String, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 249
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 2 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_0
            anewarray java.lang.reflect.Type
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 250
            return
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      plugin  

  public void register1(java.lang.String, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 259
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 3 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 260
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 2 // java.lang.reflect.Type arg
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2     arg  Ljava/lang/reflect/Type;
            0    2     3  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg     
      plugin  

  public void register2(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 269
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 4 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 270
            return
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      plugin  

  public void register3(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 279
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 5 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_3
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 280
            return
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      plugin  

  public void register4(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // java.lang.reflect.Type arg4
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 289
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 6 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_4
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            dup
            iconst_3
            aload 5 /* arg4 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 290
            return
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 5 // java.lang.reflect.Type arg4
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5    arg4  Ljava/lang/reflect/Type;
            0    2     6  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      arg4    
      plugin  

  public void register5(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // java.lang.reflect.Type arg4
        start local 6 // java.lang.reflect.Type arg5
        start local 7 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 299
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 7 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_5
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            dup
            iconst_3
            aload 5 /* arg4 */
            aastore
            dup
            iconst_4
            aload 6 /* arg5 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 300
            return
        end local 7 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 6 // java.lang.reflect.Type arg5
        end local 5 // java.lang.reflect.Type arg4
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5    arg4  Ljava/lang/reflect/Type;
            0    2     6    arg5  Ljava/lang/reflect/Type;
            0    2     7  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      arg4    
      arg5    
      plugin  

  public void register6(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // java.lang.reflect.Type arg4
        start local 6 // java.lang.reflect.Type arg5
        start local 7 // java.lang.reflect.Type arg6
        start local 8 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 309
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 8 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            bipush 6
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            dup
            iconst_3
            aload 5 /* arg4 */
            aastore
            dup
            iconst_4
            aload 6 /* arg5 */
            aastore
            dup
            iconst_5
            aload 7 /* arg6 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 310
            return
        end local 8 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 7 // java.lang.reflect.Type arg6
        end local 6 // java.lang.reflect.Type arg5
        end local 5 // java.lang.reflect.Type arg4
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5    arg4  Ljava/lang/reflect/Type;
            0    2     6    arg5  Ljava/lang/reflect/Type;
            0    2     7    arg6  Ljava/lang/reflect/Type;
            0    2     8  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      arg4    
      arg5    
      arg6    
      plugin  

  public void register7(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=10
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // java.lang.reflect.Type arg4
        start local 6 // java.lang.reflect.Type arg5
        start local 7 // java.lang.reflect.Type arg6
        start local 8 // java.lang.reflect.Type arg7
        start local 9 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 319
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 9 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            bipush 7
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            dup
            iconst_3
            aload 5 /* arg4 */
            aastore
            dup
            iconst_4
            aload 6 /* arg5 */
            aastore
            dup
            iconst_5
            aload 7 /* arg6 */
            aastore
            dup
            bipush 6
            aload 8 /* arg7 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 320
            return
        end local 9 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 8 // java.lang.reflect.Type arg7
        end local 7 // java.lang.reflect.Type arg6
        end local 6 // java.lang.reflect.Type arg5
        end local 5 // java.lang.reflect.Type arg4
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5    arg4  Ljava/lang/reflect/Type;
            0    2     6    arg5  Ljava/lang/reflect/Type;
            0    2     7    arg6  Ljava/lang/reflect/Type;
            0    2     8    arg7  Ljava/lang/reflect/Type;
            0    2     9  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      arg4    
      arg5    
      arg6    
      arg7    
      plugin  

  public void registerOptional0(java.lang.String, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 329
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 2 /* plugin */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_0
            anewarray java.lang.reflect.Type
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 330
            return
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      plugin  

  public void registerOptional1(java.lang.String, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 339
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 3 /* plugin */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_1
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 340
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 2 // java.lang.reflect.Type arg
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2     arg  Ljava/lang/reflect/Type;
            0    2     3  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg     
      plugin  

  public void registerOptional2(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 349
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 4 /* plugin */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_2
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 350
            return
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      plugin  

  public void registerOptional3(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 359
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 5 /* plugin */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_3
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 360
            return
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      plugin  

  public void registerOptional4(java.lang.String, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, java.lang.reflect.Type, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
    descriptor: (Ljava/lang/String;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.reflect.Type arg1
        start local 3 // java.lang.reflect.Type arg2
        start local 4 // java.lang.reflect.Type arg3
        start local 5 // java.lang.reflect.Type arg4
        start local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
         0: .line 369
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 6 /* plugin */
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 1 /* name */
            iconst_4
            anewarray java.lang.reflect.Type
            dup
            iconst_0
            aload 2 /* arg1 */
            aastore
            dup
            iconst_1
            aload 3 /* arg2 */
            aastore
            dup
            iconst_2
            aload 4 /* arg3 */
            aastore
            dup
            iconst_3
            aload 5 /* arg4 */
            aastore
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 370
            return
        end local 6 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin plugin
        end local 5 // java.lang.reflect.Type arg4
        end local 4 // java.lang.reflect.Type arg3
        end local 3 // java.lang.reflect.Type arg2
        end local 2 // java.lang.reflect.Type arg1
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1    name  Ljava/lang/String;
            0    2     2    arg1  Ljava/lang/reflect/Type;
            0    2     3    arg2  Ljava/lang/reflect/Type;
            0    2     4    arg3  Ljava/lang/reflect/Type;
            0    2     5    arg4  Ljava/lang/reflect/Type;
            0    2     6  plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
    MethodParameters:
        Name  Flags
      name    
      arg1    
      arg2    
      arg3    
      arg4    
      plugin  

  public void registerMethodSubstitution(java.lang.Class<?>, java.lang.String, java.lang.reflect.Type[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.Class substituteDeclaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.reflect.Type[] argumentTypes
         0: .line 384
            aload 0 /* this */
            aload 1 /* substituteDeclaringClass */
            aload 2 /* name */
            aload 2 /* name */
            aload 3 /* argumentTypes */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.registerMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         1: .line 385
            return
        end local 3 // java.lang.reflect.Type[] argumentTypes
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class substituteDeclaringClass
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    2     1  substituteDeclaringClass  Ljava/lang/Class<*>;
            0    2     2                      name  Ljava/lang/String;
            0    2     3             argumentTypes  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
    MethodParameters:
                          Name  Flags
      substituteDeclaringClass  
      name                      
      argumentTypes             

  public void registerMethodSubstitution(java.lang.Class<?>, java.lang.String, java.lang.String, java.lang.reflect.Type[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.Class substituteDeclaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.String substituteName
        start local 4 // java.lang.reflect.Type[] argumentTypes
         0: .line 400
            aload 0 /* this */
            aload 1 /* substituteDeclaringClass */
            aload 3 /* substituteName */
            aload 4 /* argumentTypes */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.createMethodSubstitution:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
            astore 5 /* plugin */
        start local 5 // org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin plugin
         1: .line 401
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.plugins:Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 5 /* plugin */
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.allowOverwrite:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.declaringType:Ljava/lang/reflect/Type;
            aload 2 /* name */
            aload 4 /* argumentTypes */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.register:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;ZZLjava/lang/reflect/Type;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
         2: .line 402
            return
        end local 5 // org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin plugin
        end local 4 // java.lang.reflect.Type[] argumentTypes
        end local 3 // java.lang.String substituteName
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class substituteDeclaringClass
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    3     1  substituteDeclaringClass  Ljava/lang/Class<*>;
            0    3     2                      name  Ljava/lang/String;
            0    3     3            substituteName  Ljava/lang/String;
            0    3     4             argumentTypes  [Ljava/lang/reflect/Type;
            1    3     5                    plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
    MethodParameters:
                          Name  Flags
      substituteDeclaringClass  
      name                      
      substituteName            
      argumentTypes             

  public org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin createMethodSubstitution(java.lang.Class<?>, java.lang.String, java.lang.reflect.Type[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
        start local 1 // java.lang.Class substituteDeclaringClass
        start local 2 // java.lang.String substituteName
        start local 3 // java.lang.reflect.Type[] argumentTypes
         0: .line 405
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.methodSubstitutionBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "Registration used for method substitutions requires a non-null methodSubstitutionBytecodeProvider"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 406
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.methodSubstitutionBytecodeProvider:Lorg/graalvm/compiler/bytecode/BytecodeProvider;
            aload 1 /* substituteDeclaringClass */
            aload 2 /* substituteName */
            aload 3 /* argumentTypes */
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin.<init>:(Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/reflect/Type;)V
            astore 4 /* plugin */
        start local 4 // org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin plugin
         2: .line 407
            aload 4 /* plugin */
            areturn
        end local 4 // org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin plugin
        end local 3 // java.lang.reflect.Type[] argumentTypes
        end local 2 // java.lang.String substituteName
        end local 1 // java.lang.Class substituteDeclaringClass
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
            0    3     1  substituteDeclaringClass  Ljava/lang/Class<*>;
            0    3     2            substituteName  Ljava/lang/String;
            0    3     3             argumentTypes  [Ljava/lang/reflect/Type;
            2    3     4                    plugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/reflect/Type;)Lorg/graalvm/compiler/nodes/graphbuilderconf/MethodSubstitutionPlugin;
    MethodParameters:
                          Name  Flags
      substituteDeclaringClass  
      substituteName            
      argumentTypes             
}
SourceFile: "InvocationPlugins.java"
NestHost: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
InnerClasses:
  public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin
  OptionalLazySymbol = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$OptionalLazySymbol of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
  public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins