public class com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor extends com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor
  super_class: com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor
{
  private static final java.lang.Class<?>[] FILTER_ANNOTATIONS;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  private final com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor processor;
    descriptor: Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.nodes.spi.Replacements replacements;
    descriptor: Lorg/graalvm/compiler/nodes/spi/Replacements;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=4, locals=0, args_size=0
         0: .line 48
            ldc Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
            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 com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
         3: .line 49
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
            aastore
            dup
            iconst_1
            ldc Lorg/graalvm/compiler/word/Word$Operation;
            aastore
            dup
            iconst_2
            ldc Lorg/graalvm/nativeimage/c/constant/CConstant;
            aastore
            putstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.FILTER_ANNOTATIONS:[Ljava/lang/Class;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor, org.graalvm.compiler.nodes.spi.Replacements);
    descriptor: (Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;Lorg/graalvm/compiler/nodes/spi/Replacements;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
        start local 1 // com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor processor
        start local 2 // org.graalvm.compiler.nodes.spi.Replacements replacements
         0: .line 54
            aload 0 /* this */
            invokespecial com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* processor */
            putfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
         2: .line 56
            aload 0 /* this */
            aload 2 /* replacements */
            putfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
         3: .line 57
            return
        end local 2 // org.graalvm.compiler.nodes.spi.Replacements replacements
        end local 1 // com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor processor
        end local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
            0    4     1     processor  Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
            0    4     2  replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
    MethodParameters:
              Name  Flags
      processor     
      replacements  

  public jdk.vm.ci.meta.ResolvedJavaMethod lookup(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 61
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isNative:()Z
            ifne 2
         1: .line 62
            aload 1 /* method */
            areturn
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getCodeSize:()I
            ifne 3
            aload 1 /* method */
            instanceof com.oracle.graal.pointsto.infrastructure.GraphProvider
            ifeq 5
         3: .line 66
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
            ifne 4
            aload 1 /* method */
            instanceof com.oracle.graal.pointsto.infrastructure.WrappedJavaMethod
            ifeq 4
            new java.lang.AssertionError
            dup
            ldc "Must not see AnalysisMethod or HostedMethod here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            areturn
         5: .line 69
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotations:()[Ljava/lang/annotation/Annotation;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 15
      StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.annotation.Annotation[]
      StackMap stack:
         6: aload 5
            iload 3
            aaload
            astore 2 /* annotation */
        start local 2 // java.lang.annotation.Annotation annotation
         7: .line 70
            getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.FILTER_ANNOTATIONS:[Ljava/lang/Class;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 12
      StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod java.lang.annotation.Annotation int int java.lang.annotation.Annotation[] top int int java.lang.Class[]
      StackMap stack:
         8: aload 9
            iload 7
            aaload
            astore 6 /* c */
        start local 6 // java.lang.Class c
         9: .line 71
            aload 2 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            aload 6 /* c */
            if_acmpne 11
        10: .line 72
            aload 1 /* method */
            areturn
        end local 6 // java.lang.Class c
        11: .line 70
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        12: iload 7
            iload 8
            if_icmplt 8
        13: .line 75
            getstatic com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.$assertionsDisabled:Z
            ifne 14
            aload 2 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            ldc Lorg/graalvm/nativeimage/c/function/CFunction;
            if_acmpne 14
            new java.lang.AssertionError
            dup
            ldc "CFunction must have been handled by another SubstitutionProcessor"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.annotation.Annotation annotation
        14: .line 69
      StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod top int int java.lang.annotation.Annotation[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        15: iload 3
            iload 4
            if_icmplt 6
        16: .line 77
            aload 0 /* this */
            getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
            invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getGraphBuilderPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$Plugins;
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins.getInvocationPlugins:()Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            aload 1 /* method */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins.lookupInvocation:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
            ifnull 17
            iconst_1
            goto 18
      StackMap locals: com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 2 /* isHandledByPlugin */
        start local 2 // boolean isHandledByPlugin
        19: .line 78
            iload 2 /* isHandledByPlugin */
            ifeq 21
        20: .line 79
            aload 1 /* method */
            areturn
        21: .line 81
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
            aload 1 /* method */
            invokevirtual com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.lookup:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
        end local 2 // boolean isHandledByPlugin
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
            0   22     1             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            7   14     2         annotation  Ljava/lang/annotation/Annotation;
            9   11     6                  c  Ljava/lang/Class<*>;
           19   22     2  isHandledByPlugin  Z
    MethodParameters:
        Name  Flags
      method  

  public jdk.vm.ci.meta.ResolvedJavaMethod resolve(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 86
            aload 0 /* this */
            getfield com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor.processor:Lcom/oracle/graal/pointsto/infrastructure/SubstitutionProcessor;
            aload 1 /* method */
            invokevirtual com.oracle.graal.pointsto.infrastructure.SubstitutionProcessor.resolve:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // com.oracle.svm.hosted.code.NativeMethodSubstitutionProcessor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/svm/hosted/code/NativeMethodSubstitutionProcessor;
            0    1     1  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
        Name  Flags
      method  
}
SourceFile: "NativeMethodSubstitutionProcessor.java"
InnerClasses:
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
  public Plugins = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$Plugins of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public abstract Operation = org.graalvm.compiler.word.Word$Operation of org.graalvm.compiler.word.Word