public final class org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler extends org.graalvm.compiler.replacements.processor.AnnotationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler
  super_class: org.graalvm.compiler.replacements.processor.AnnotationHandler
{
  static final java.lang.String CONSTANT_NODE_PARAMETER_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.graph.Node.ConstantNodeParameter"

  static final java.lang.String MARKER_TYPE_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.nodeinfo.StructuralInput.MarkerType"

  static final java.lang.String GRAPH_BUILDER_CONTEXT_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext"

  static final java.lang.String STRUCTURAL_INPUT_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.nodeinfo.StructuralInput"

  static final java.lang.String RESOLVED_JAVA_TYPE_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.vm.ci.meta.ResolvedJavaType"

  static final java.lang.String VALUE_NODE_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.nodes.ValueNode"

  static final java.lang.String STAMP_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.core.common.type.Stamp"

  static final java.lang.String NODE_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.graph.Node"

  static final java.lang.String NODE_INFO_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.nodeinfo.NodeInfo"

  static final java.lang.String NODE_INTRINSIC_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.graph.Node.NodeIntrinsic"

  static final java.lang.String NODE_INTRINSIC_FACTORY_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.graph.Node.NodeIntrinsicFactory"

  static final java.lang.String INJECTED_NODE_PARAMETER_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.graph.Node.InjectedNodeParameter"

  static final java.lang.String FOREIGN_CALL_DESCRIPTOR_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "org.graalvm.compiler.core.common.spi.ForeignCallDescriptor"

  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 57
            ldc Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            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.replacements.processor.NodeIntrinsicHandler.$assertionsDisabled:Z
         3: .line 71
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.processor.AbstractProcessor);
    descriptor: (Lorg/graalvm/compiler/processor/AbstractProcessor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // org.graalvm.compiler.processor.AbstractProcessor processor
         0: .line 74
            aload 0 /* this */
            aload 1 /* processor */
            ldc "org.graalvm.compiler.graph.Node.NodeIntrinsic"
            invokespecial org.graalvm.compiler.replacements.processor.AnnotationHandler.<init>:(Lorg/graalvm/compiler/processor/AbstractProcessor;Ljava/lang/String;)V
         1: .line 75
            return
        end local 1 // org.graalvm.compiler.processor.AbstractProcessor processor
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0    2     1  processor  Lorg/graalvm/compiler/processor/AbstractProcessor;
    MethodParameters:
           Name  Flags
      processor  

  public void process(javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, org.graalvm.compiler.replacements.processor.PluginGenerator);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Lorg/graalvm/compiler/replacements/processor/PluginGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=18, args_size=4
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.Element element
        start local 2 // javax.lang.model.element.AnnotationMirror annotation
        start local 3 // org.graalvm.compiler.replacements.processor.PluginGenerator generator
         0: .line 79
            aload 1 /* element */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            if_acmpeq 3
         1: .line 80
            getstatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.$assertionsDisabled:Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "Element is guaranteed to be a method."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 81
      StackMap locals:
      StackMap stack:
            return
         3: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast javax.lang.model.element.ExecutableElement
            astore 4 /* intrinsicMethod */
        start local 4 // javax.lang.model.element.ExecutableElement intrinsicMethod
         4: .line 85
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            astore 5 /* messager */
        start local 5 // javax.annotation.processing.Messager messager
         5: .line 86
            aload 4 /* intrinsicMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 87
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "A @%s method must be static."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "org.graalvm.compiler.graph.Node.NodeIntrinsic"
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
         7: .line 89
      StackMap locals: javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager
      StackMap stack:
            aload 4 /* intrinsicMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.NATIVE:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 90
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "A @%s method must be native."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "org.graalvm.compiler.graph.Node.NodeIntrinsic"
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
         9: .line 93
      StackMap locals:
      StackMap stack:
            aload 2 /* annotation */
            ldc "value"
            ldc Ljavax/lang/model/type/TypeMirror;
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            astore 6 /* nodeClassMirror */
        start local 6 // javax.lang.model.type.TypeMirror nodeClassMirror
        10: .line 94
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 6 /* nodeClassMirror */
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.asTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            astore 7 /* nodeClass */
        start local 7 // javax.lang.model.element.TypeElement nodeClass
        11: .line 95
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 6 /* nodeClassMirror */
            aload 2 /* annotation */
            invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 20
        12: .line 97
            aload 4 /* intrinsicMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 8 /* enclosingElement */
        start local 8 // javax.lang.model.element.Element enclosingElement
        13: .line 98
            goto 15
        14: .line 99
      StackMap locals: javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.element.Element
      StackMap stack:
            aload 8 /* enclosingElement */
            invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
            astore 8 /* enclosingElement */
        15: .line 98
      StackMap locals:
      StackMap stack:
            aload 8 /* enclosingElement */
            ifnull 16
            aload 8 /* enclosingElement */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            if_acmpne 14
        16: .line 101
      StackMap locals:
      StackMap stack:
            aload 8 /* enclosingElement */
            ifnull 19
        17: .line 102
            aload 8 /* enclosingElement */
            checkcast javax.lang.model.element.TypeElement
            astore 7 /* nodeClass */
        18: .line 103
            goto 20
        19: .line 104
      StackMap locals:
      StackMap stack:
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Cannot find a class enclosing @%s method."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "org.graalvm.compiler.graph.Node.NodeIntrinsic"
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        end local 8 // javax.lang.model.element.Element enclosingElement
        20: .line 108
      StackMap locals:
      StackMap stack:
            aload 4 /* intrinsicMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            astore 8 /* returnType */
        start local 8 // javax.lang.model.type.TypeMirror returnType
        21: .line 109
            aload 8 /* returnType */
            instanceof javax.lang.model.type.TypeVariable
            ifeq 23
        22: .line 110
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "@NodeIntrinsic cannot have a generic return type."
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        23: .line 113
      StackMap locals: javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 2 /* annotation */
            ldc "injectedStampIsNonNull"
            ldc Ljava/lang/Boolean;
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 9 /* injectedStampIsNonNull */
        start local 9 // boolean injectedStampIsNonNull
        24: .line 114
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 7 /* nodeClass */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node.NodeIntrinsicFactory"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            ifnull 25
            iconst_1
            goto 26
      StackMap locals: int
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 10 /* isFactory */
        start local 10 // boolean isFactory
        27: .line 116
            aload 8 /* returnType */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            if_acmpne 34
        28: .line 117
            aload 4 /* intrinsicMethod */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 33
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int top java.util.Iterator
      StackMap stack:
        29: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 11 /* parameter */
        start local 11 // javax.lang.model.element.VariableElement parameter
        30: .line 118
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 11 /* parameter */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node.InjectedNodeParameter"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            ifnull 33
        31: .line 119
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "@NodeIntrinsic with an injected Stamp parameter cannot have a void return type."
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        32: .line 120
            goto 34
        end local 11 // javax.lang.model.element.VariableElement parameter
        33: .line 117
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        34: .line 124
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int
      StackMap stack:
            new java.util.Formatter
            dup
            invokespecial java.util.Formatter.<init>:()V
            astore 11 /* msg */
        start local 11 // java.util.Formatter msg
        35: .line 125
            aload 7 /* nodeClass */
            invokestatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.findIntrinsifyFactoryMethods:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
            astore 12 /* factories */
        start local 12 // java.util.List factories
        36: .line 126
            aload 12 /* factories */
            invokeinterface java.util.List.size:()I
            ifle 54
        37: .line 127
            iconst_0
            istore 13 /* hadError */
        start local 13 // boolean hadError
        38: .line 128
            iload 10 /* isFactory */
            ifeq 47
        39: .line 129
            aload 12 /* factories */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 45
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List int top java.util.Iterator
      StackMap stack:
        40: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 14 /* candidate */
        start local 14 // javax.lang.model.element.ExecutableElement candidate
        41: .line 130
            aload 0 /* this */
            aload 14 /* candidate */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.checkIntrinsifyFactorySignature:(Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
            astore 16 /* error */
        start local 16 // java.lang.String error
        42: .line 131
            aload 16 /* error */
            ifnull 45
        43: .line 132
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 11 /* msg */
            ldc "intrinsify method has invalid signature: %s%n%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* error */
            aastore
            dup
            iconst_1
            aload 14 /* candidate */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            aload 14 /* candidate */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        44: .line 133
            iconst_1
            istore 13 /* hadError */
        end local 16 // java.lang.String error
        end local 14 // javax.lang.model.element.ExecutableElement candidate
        45: .line 129
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        46: .line 136
            goto 52
        47: .line 137
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List int
      StackMap stack:
            aload 12 /* factories */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 51
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List int top java.util.Iterator
      StackMap stack:
        48: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 14 /* candidate */
        start local 14 // javax.lang.model.element.ExecutableElement candidate
        49: .line 138
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Found intrinsify methods in %s which is not a NodeIntrinsicFactory"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* nodeClass */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 14 /* candidate */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        50: .line 139
            iconst_1
            istore 13 /* hadError */
        end local 14 // javax.lang.model.element.ExecutableElement candidate
        51: .line 137
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        52: .line 142
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List int
      StackMap stack:
            iload 13 /* hadError */
            ifeq 54
        53: .line 143
            return
        end local 13 // boolean hadError
        54: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* intrinsicMethod */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.constructorSignature:(Ljavax/lang/model/element/ExecutableElement;)[Ljavax/lang/model/type/TypeMirror;
            astore 13 /* constructorSignature */
        start local 13 // javax.lang.model.type.TypeMirror[] constructorSignature
        55: .line 148
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 14 /* nonMatches */
        start local 14 // java.util.Map nonMatches
        56: .line 149
            iload 10 /* isFactory */
            ifeq 63
        57: .line 150
            aload 0 /* this */
            aload 12 /* factories */
            aload 13 /* constructorSignature */
            aload 14 /* nonMatches */
            iload 9 /* injectedStampIsNonNull */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.findIntrinsifyFactoryMethods:(Ljava/util/List;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Ljava/util/List;
            astore 15 /* candidates */
        start local 15 // java.util.List candidates
        58: .line 151
            aload 2 /* annotation */
            aload 4 /* intrinsicMethod */
            aload 5 /* messager */
            aload 7 /* nodeClass */
            ldc "factories"
            aload 15 /* candidates */
            aload 11 /* msg */
            invokestatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.checkTooManyElements:(Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/ExecutableElement;Ljavax/annotation/processing/Messager;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Ljava/util/List;Ljava/util/Formatter;)Z
            ifeq 60
        59: .line 152
            return
        60: .line 154
      StackMap locals: javax.lang.model.type.TypeMirror[] java.util.Map java.util.List
      StackMap stack:
            aload 15 /* candidates */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 77
        61: .line 155
            aload 3 /* generator */
            new org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$CustomFactoryPlugin
            dup
            aload 4 /* intrinsicMethod */
            aload 15 /* candidates */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            aload 13 /* constructorSignature */
            invokespecial org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$CustomFactoryPlugin.<init>:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;)V
            invokevirtual org.graalvm.compiler.replacements.processor.PluginGenerator.addPlugin:(Lorg/graalvm/compiler/replacements/processor/GeneratedPlugin;)V
        62: .line 156
            return
        end local 15 // java.util.List candidates
        63: .line 159
      StackMap locals:
      StackMap stack:
            aload 7 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 66
        64: .line 160
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "Cannot make a node intrinsic for abstract class %s."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        65: .line 161
            return
        66: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* nodeClass */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.isNodeType:(Ljavax/lang/model/element/TypeElement;)Z
            ifne 69
        67: .line 163
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "%s is not a subclass of %s."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* element */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        68: .line 164
            return
        69: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 8 /* returnType */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.nodeinfo.StructuralInput"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 71
        70: .line 167
            aload 0 /* this */
            aload 7 /* nodeClass */
            aload 8 /* returnType */
            aload 1 /* element */
            aload 2 /* annotation */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.checkInputType:(Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        71: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* nodeClass */
            aload 13 /* constructorSignature */
            aload 14 /* nonMatches */
            iload 9 /* injectedStampIsNonNull */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.findConstructors:(Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Ljava/util/List;
            astore 15 /* constructors */
        start local 15 // java.util.List constructors
        72: .line 171
            aload 2 /* annotation */
            aload 4 /* intrinsicMethod */
            aload 5 /* messager */
            aload 7 /* nodeClass */
            ldc "constructors"
            aload 15 /* constructors */
            aload 11 /* msg */
            invokestatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.checkTooManyElements:(Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/ExecutableElement;Ljavax/annotation/processing/Messager;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Ljava/util/List;Ljava/util/Formatter;)Z
            ifeq 74
        73: .line 172
            return
        74: .line 174
      StackMap locals: java.util.List
      StackMap stack:
            aload 15 /* constructors */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 77
        75: .line 175
            aload 3 /* generator */
            new org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$ConstructorPlugin
            dup
            aload 4 /* intrinsicMethod */
            aload 15 /* constructors */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            aload 13 /* constructorSignature */
            invokespecial org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$ConstructorPlugin.<init>:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;)V
            invokevirtual org.graalvm.compiler.replacements.processor.PluginGenerator.addPlugin:(Lorg/graalvm/compiler/replacements/processor/GeneratedPlugin;)V
        76: .line 176
            return
        end local 15 // java.util.List constructors
        77: .line 179
      StackMap locals:
      StackMap stack:
            iload 10 /* isFactory */
            ifeq 78
            ldc "factories"
            goto 79
      StackMap locals:
      StackMap stack:
        78: ldc "constructors"
      StackMap locals:
      StackMap stack: java.lang.String
        79: astore 15 /* label */
        start local 15 // java.lang.String label
        80: .line 180
            aload 11 /* msg */
            ldc "Could not find any %s in %s matching node intrinsic"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* label */
            aastore
            dup
            iconst_1
            aload 7 /* nodeClass */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        81: .line 181
            aload 14 /* nonMatches */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 87
        82: .line 182
            aload 11 /* msg */
            ldc "%nThese %s failed to match:"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* label */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        83: .line 183
            aload 14 /* nonMatches */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 86
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List javax.lang.model.type.TypeMirror[] java.util.Map java.lang.String top java.util.Iterator
      StackMap stack:
        84: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* e */
        start local 16 // java.util.Map$Entry e
        85: .line 184
            aload 11 /* msg */
            ldc "%n  %s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            aastore
            dup
            iconst_1
            aload 16 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        end local 16 // java.util.Map$Entry e
        86: .line 183
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        87: .line 187
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror org.graalvm.compiler.replacements.processor.PluginGenerator javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror int int java.util.Formatter java.util.List javax.lang.model.type.TypeMirror[] java.util.Map java.lang.String
      StackMap stack:
            aload 5 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 11 /* msg */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            aload 4 /* intrinsicMethod */
            aload 2 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        88: .line 188
            return
        end local 15 // java.lang.String label
        end local 14 // java.util.Map nonMatches
        end local 13 // javax.lang.model.type.TypeMirror[] constructorSignature
        end local 12 // java.util.List factories
        end local 11 // java.util.Formatter msg
        end local 10 // boolean isFactory
        end local 9 // boolean injectedStampIsNonNull
        end local 8 // javax.lang.model.type.TypeMirror returnType
        end local 7 // javax.lang.model.element.TypeElement nodeClass
        end local 6 // javax.lang.model.type.TypeMirror nodeClassMirror
        end local 5 // javax.annotation.processing.Messager messager
        end local 4 // javax.lang.model.element.ExecutableElement intrinsicMethod
        end local 3 // org.graalvm.compiler.replacements.processor.PluginGenerator generator
        end local 2 // javax.lang.model.element.AnnotationMirror annotation
        end local 1 // javax.lang.model.element.Element element
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   89     0                    this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   89     1                 element  Ljavax/lang/model/element/Element;
            0   89     2              annotation  Ljavax/lang/model/element/AnnotationMirror;
            0   89     3               generator  Lorg/graalvm/compiler/replacements/processor/PluginGenerator;
            4   89     4         intrinsicMethod  Ljavax/lang/model/element/ExecutableElement;
            5   89     5                messager  Ljavax/annotation/processing/Messager;
           10   89     6         nodeClassMirror  Ljavax/lang/model/type/TypeMirror;
           11   89     7               nodeClass  Ljavax/lang/model/element/TypeElement;
           13   20     8        enclosingElement  Ljavax/lang/model/element/Element;
           21   89     8              returnType  Ljavax/lang/model/type/TypeMirror;
           24   89     9  injectedStampIsNonNull  Z
           27   89    10               isFactory  Z
           30   33    11               parameter  Ljavax/lang/model/element/VariableElement;
           35   89    11                     msg  Ljava/util/Formatter;
           36   89    12               factories  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
           38   54    13                hadError  Z
           41   45    14               candidate  Ljavax/lang/model/element/ExecutableElement;
           42   45    16                   error  Ljava/lang/String;
           49   51    14               candidate  Ljavax/lang/model/element/ExecutableElement;
           55   89    13    constructorSignature  [Ljavax/lang/model/type/TypeMirror;
           56   89    14              nonMatches  Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;
           58   63    15              candidates  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
           72   77    15            constructors  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
           80   89    15                   label  Ljava/lang/String;
           85   86    16                       e  Ljava/util/Map$Entry<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      element     
      annotation  
      generator   

  private static boolean checkTooManyElements(javax.lang.model.element.AnnotationMirror, javax.lang.model.element.ExecutableElement, javax.annotation.processing.Messager, javax.lang.model.element.TypeElement, java.lang.String, java.util.List<javax.lang.model.element.ExecutableElement>, java.util.Formatter);
    descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/ExecutableElement;Ljavax/annotation/processing/Messager;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Ljava/util/List;Ljava/util/Formatter;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // javax.lang.model.element.AnnotationMirror annotation
        start local 1 // javax.lang.model.element.ExecutableElement intrinsicMethod
        start local 2 // javax.annotation.processing.Messager messager
        start local 3 // javax.lang.model.element.TypeElement nodeClass
        start local 4 // java.lang.String kind
        start local 5 // java.util.List elements
        start local 6 // java.util.Formatter msg
         0: .line 192
            aload 5 /* elements */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 8
         1: .line 193
            aload 6 /* msg */
            ldc "Found more than one %s in %s matching node intrinsic:"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* kind */
            aastore
            dup
            iconst_1
            aload 3 /* nodeClass */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         2: .line 194
            aload 5 /* elements */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 5
      StackMap locals: javax.lang.model.element.AnnotationMirror javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.element.TypeElement java.lang.String java.util.List java.util.Formatter top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 7 /* candidate */
        start local 7 // javax.lang.model.element.ExecutableElement candidate
         4: .line 195
            aload 6 /* msg */
            ldc "%n  %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* candidate */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
        end local 7 // javax.lang.model.element.ExecutableElement candidate
         5: .line 194
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 197
            aload 2 /* messager */
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 6 /* msg */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            aload 1 /* intrinsicMethod */
            aload 0 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
         7: .line 198
            iconst_1
            ireturn
         8: .line 200
      StackMap locals: javax.lang.model.element.AnnotationMirror javax.lang.model.element.ExecutableElement javax.annotation.processing.Messager javax.lang.model.element.TypeElement java.lang.String java.util.List java.util.Formatter
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.util.Formatter msg
        end local 5 // java.util.List elements
        end local 4 // java.lang.String kind
        end local 3 // javax.lang.model.element.TypeElement nodeClass
        end local 2 // javax.annotation.processing.Messager messager
        end local 1 // javax.lang.model.element.ExecutableElement intrinsicMethod
        end local 0 // javax.lang.model.element.AnnotationMirror annotation
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0       annotation  Ljavax/lang/model/element/AnnotationMirror;
            0    9     1  intrinsicMethod  Ljavax/lang/model/element/ExecutableElement;
            0    9     2         messager  Ljavax/annotation/processing/Messager;
            0    9     3        nodeClass  Ljavax/lang/model/element/TypeElement;
            0    9     4             kind  Ljava/lang/String;
            0    9     5         elements  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            0    9     6              msg  Ljava/util/Formatter;
            4    5     7        candidate  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/ExecutableElement;Ljavax/annotation/processing/Messager;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;Ljava/util/Formatter;)Z
    MethodParameters:
                 Name  Flags
      annotation       
      intrinsicMethod  
      messager         
      nodeClass        
      kind             
      elements         
      msg              

  private void checkInputType(javax.lang.model.element.TypeElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.TypeElement nodeClass
        start local 2 // javax.lang.model.type.TypeMirror returnType
        start local 3 // javax.lang.model.element.Element element
        start local 4 // javax.lang.model.element.AnnotationMirror annotation
         0: .line 204
            aload 0 /* this */
            aload 2 /* returnType */
            aload 3 /* element */
            aload 4 /* annotation */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.getInputType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Ljava/lang/String;
            astore 5 /* inputType */
        start local 5 // java.lang.String inputType
         1: .line 205
            aload 5 /* inputType */
            ldc "Value"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
         2: .line 206
            iconst_0
            istore 6 /* allowed */
        start local 6 // boolean allowed
         3: .line 207
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 1 /* nodeClass */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.nodeinfo.NodeInfo"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            ldc "allowedUsageTypes"
            ldc Ljavax/lang/model/element/VariableElement;
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
            astore 7 /* allowedTypes */
        start local 7 // java.util.List allowedTypes
         4: .line 208
            aload 7 /* allowedTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 9
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 8 /* allowedType */
        start local 8 // javax.lang.model.element.VariableElement allowedType
         6: .line 209
            aload 8 /* allowedType */
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            aload 5 /* inputType */
            invokeinterface javax.lang.model.element.Name.contentEquals:(Ljava/lang/CharSequence;)Z
            ifeq 9
         7: .line 210
            iconst_1
            istore 6 /* allowed */
         8: .line 211
            goto 10
        end local 8 // javax.lang.model.element.VariableElement allowedType
         9: .line 208
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 214
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror java.lang.String int java.util.List
      StackMap stack:
            iload 6 /* allowed */
            ifne 12
        11: .line 215
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            ldc "@NodeIntrinsic returns input type %s, but only %s is allowed."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* inputType */
            aastore
            dup
            iconst_1
            aload 7 /* allowedTypes */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 3 /* element */
            aload 4 /* annotation */
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        end local 7 // java.util.List allowedTypes
        end local 6 // boolean allowed
        12: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String inputType
        end local 4 // javax.lang.model.element.AnnotationMirror annotation
        end local 3 // javax.lang.model.element.Element element
        end local 2 // javax.lang.model.type.TypeMirror returnType
        end local 1 // javax.lang.model.element.TypeElement nodeClass
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   13     1     nodeClass  Ljavax/lang/model/element/TypeElement;
            0   13     2    returnType  Ljavax/lang/model/type/TypeMirror;
            0   13     3       element  Ljavax/lang/model/element/Element;
            0   13     4    annotation  Ljavax/lang/model/element/AnnotationMirror;
            1   13     5     inputType  Ljava/lang/String;
            3   12     6       allowed  Z
            4   12     7  allowedTypes  Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
            6    9     8   allowedType  Ljavax/lang/model/element/VariableElement;
    MethodParameters:
            Name  Flags
      nodeClass   
      returnType  
      element     
      annotation  

  private java.lang.String getInputType(javax.lang.model.type.TypeMirror, javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.type.TypeMirror type
        start local 2 // javax.lang.model.element.Element element
        start local 3 // javax.lang.model.element.AnnotationMirror annotation
         0: .line 221
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 1 /* type */
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.asTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            astore 4 /* current */
        start local 4 // javax.lang.model.element.TypeElement current
         1: .line 222
            goto 6
         2: .line 223
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 4 /* current */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.nodeinfo.StructuralInput.MarkerType"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            astore 5 /* markerType */
        start local 5 // javax.lang.model.element.AnnotationMirror markerType
         3: .line 224
            aload 5 /* markerType */
            ifnull 5
         4: .line 225
            aload 5 /* markerType */
            ldc "value"
            ldc Ljavax/lang/model/element/VariableElement;
            invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            areturn
         5: .line 228
      StackMap locals: javax.lang.model.element.AnnotationMirror
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 4 /* current */
            invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.asTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            astore 4 /* current */
        end local 5 // javax.lang.model.element.AnnotationMirror markerType
         6: .line 222
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            ifnonnull 2
         7: .line 231
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
         8: .line 232
            ldc "The class %s is a subclass of StructuralInput, but isn't annotated with @MarkerType. %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            dup
            iconst_1
            aload 2 /* element */
            invokeinterface javax.lang.model.element.Element.getAnnotationMirrors:()Ljava/util/List;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 233
            aload 2 /* element */
            aload 3 /* annotation */
        10: .line 231
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
        11: .line 234
            ldc "Value"
            areturn
        end local 4 // javax.lang.model.element.TypeElement current
        end local 3 // javax.lang.model.element.AnnotationMirror annotation
        end local 2 // javax.lang.model.element.Element element
        end local 1 // javax.lang.model.type.TypeMirror type
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   12     1        type  Ljavax/lang/model/type/TypeMirror;
            0   12     2     element  Ljavax/lang/model/element/Element;
            0   12     3  annotation  Ljavax/lang/model/element/AnnotationMirror;
            1   12     4     current  Ljavax/lang/model/element/TypeElement;
            3    6     5  markerType  Ljavax/lang/model/element/AnnotationMirror;
    MethodParameters:
            Name  Flags
      type        
      element     
      annotation  

  private boolean isNodeType(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.TypeElement nodeClass
         0: .line 238
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 1 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSubtype:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ireturn
        end local 1 // javax.lang.model.element.TypeElement nodeClass
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0    1     1  nodeClass  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
           Name  Flags
      nodeClass  

  private javax.lang.model.type.TypeMirror[] constructorSignature(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)[Ljavax/lang/model/type/TypeMirror;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 242
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray javax.lang.model.type.TypeMirror
            astore 2 /* parameters */
        start local 2 // javax.lang.model.type.TypeMirror[] parameters
         1: .line 243
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 12
         3: .line 244
      StackMap locals: javax.lang.model.type.TypeMirror[] int
      StackMap stack:
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 4 /* parameter */
        start local 4 // javax.lang.model.element.VariableElement parameter
         4: .line 245
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 4 /* parameter */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node.ConstantNodeParameter"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            ifnonnull 7
         5: .line 246
            aload 2 /* parameters */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.nodes.ValueNode"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            aastore
         6: .line 247
            goto 11
         7: .line 248
      StackMap locals: javax.lang.model.element.VariableElement
      StackMap stack:
            aload 4 /* parameter */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 5 /* type */
        start local 5 // javax.lang.model.type.TypeMirror type
         8: .line 249
            aload 0 /* this */
            aload 5 /* type */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "java.lang.Class"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.isTypeCompatible:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 10
         9: .line 250
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "jdk.vm.ci.meta.ResolvedJavaType"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            astore 5 /* type */
        10: .line 252
      StackMap locals: javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 2 /* parameters */
            iload 3 /* i */
            aload 5 /* type */
            aastore
        end local 5 // javax.lang.model.type.TypeMirror type
        end local 4 // javax.lang.model.element.VariableElement parameter
        11: .line 243
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 3 // int i
        13: .line 255
            aload 2 /* parameters */
            areturn
        end local 2 // javax.lang.model.type.TypeMirror[] parameters
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   14     1      method  Ljavax/lang/model/element/ExecutableElement;
            1   14     2  parameters  [Ljavax/lang/model/type/TypeMirror;
            2   13     3           i  I
            4   11     4   parameter  Ljavax/lang/model/element/VariableElement;
            8   11     5        type  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
        Name  Flags
      method  

  private java.util.List<javax.lang.model.element.ExecutableElement> findConstructors(javax.lang.model.element.TypeElement, javax.lang.model.type.TypeMirror[], java.util.Map<javax.lang.model.element.ExecutableElement, java.lang.String>, boolean);
    descriptor: (Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.TypeElement nodeClass
        start local 2 // javax.lang.model.type.TypeMirror[] signature
        start local 3 // java.util.Map nonMatches
        start local 4 // boolean requiresInjectedStamp
         0: .line 259
            aload 1 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
            invokestatic javax.lang.model.util.ElementFilter.constructorsIn:(Ljava/lang/Iterable;)Ljava/util/List;
            astore 5 /* constructors */
        start local 5 // java.util.List constructors
         1: .line 260
            new java.util.ArrayList
            dup
            aload 5 /* constructors */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* found */
        start local 6 // java.util.List found
         2: .line 261
            aload 5 /* constructors */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 6
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror[] java.util.Map int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 7 /* constructor */
        start local 7 // javax.lang.model.element.ExecutableElement constructor
         4: .line 262
            aload 0 /* this */
            iconst_0
            aload 7 /* constructor */
            aload 2 /* signature */
            aload 3 /* nonMatches */
            iload 4 /* requiresInjectedStamp */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.matchSignature:(ILjavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Z
            ifeq 6
         5: .line 263
            aload 6 /* found */
            aload 7 /* constructor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // javax.lang.model.element.ExecutableElement constructor
         6: .line 261
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 266
            aload 6 /* found */
            areturn
        end local 6 // java.util.List found
        end local 5 // java.util.List constructors
        end local 4 // boolean requiresInjectedStamp
        end local 3 // java.util.Map nonMatches
        end local 2 // javax.lang.model.type.TypeMirror[] signature
        end local 1 // javax.lang.model.element.TypeElement nodeClass
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    8     0                   this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0    8     1              nodeClass  Ljavax/lang/model/element/TypeElement;
            0    8     2              signature  [Ljavax/lang/model/type/TypeMirror;
            0    8     3             nonMatches  Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;
            0    8     4  requiresInjectedStamp  Z
            1    8     5           constructors  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            2    8     6                  found  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            4    6     7            constructor  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;Z)Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
    MethodParameters:
                       Name  Flags
      nodeClass              
      signature              
      nonMatches             
      requiresInjectedStamp  

  private java.lang.String checkIntrinsifyFactorySignature(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.element.ExecutableElement method
         0: .line 270
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpge 2
         1: .line 271
            ldc "Too few arguments"
            areturn
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 2 /* firstArg */
        start local 2 // javax.lang.model.element.VariableElement firstArg
         3: .line 275
            aload 0 /* this */
            aload 2 /* firstArg */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.isTypeCompatible:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 5
         4: .line 276
            ldc "First argument isn't of type GraphBuilderContext"
            areturn
         5: .line 279
      StackMap locals: javax.lang.model.element.VariableElement
      StackMap stack:
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.BOOLEAN:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 7
         6: .line 280
            ldc "Doesn't return boolean"
            areturn
         7: .line 283
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 284
            ldc "Method is non-static"
            areturn
         9: .line 287
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 288
            ldc "Method is non-public"
            areturn
        11: .line 290
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.lang.model.element.VariableElement firstArg
        end local 1 // javax.lang.model.element.ExecutableElement method
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   12     1    method  Ljavax/lang/model/element/ExecutableElement;
            3   12     2  firstArg  Ljavax/lang/model/element/VariableElement;
    MethodParameters:
        Name  Flags
      method  

  private static java.util.List<javax.lang.model.element.ExecutableElement> findIntrinsifyFactoryMethods(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // javax.lang.model.element.TypeElement nodeClass
         0: .line 294
            aload 0 /* nodeClass */
            invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
            invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
            astore 1 /* methods */
        start local 1 // java.util.List methods
         1: .line 295
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* found */
        start local 2 // java.util.List found
         2: .line 296
            aload 1 /* methods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: javax.lang.model.element.TypeElement java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 3 /* method */
        start local 3 // javax.lang.model.element.ExecutableElement method
         4: .line 297
            aload 3 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "intrinsify"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 298
            aload 2 /* found */
            aload 3 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // javax.lang.model.element.ExecutableElement method
         6: .line 296
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 301
            aload 2 /* found */
            areturn
        end local 2 // java.util.List found
        end local 1 // java.util.List methods
        end local 0 // javax.lang.model.element.TypeElement nodeClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  nodeClass  Ljavax/lang/model/element/TypeElement;
            1    8     1    methods  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            2    8     2      found  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            4    6     3     method  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/TypeElement;)Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
    MethodParameters:
           Name  Flags
      nodeClass  

  private java.util.List<javax.lang.model.element.ExecutableElement> findIntrinsifyFactoryMethods(java.util.List<javax.lang.model.element.ExecutableElement>, javax.lang.model.type.TypeMirror[], java.util.Map<javax.lang.model.element.ExecutableElement, java.lang.String>, boolean);
    descriptor: (Ljava/util/List;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // java.util.List intrinsifyFactoryMethods
        start local 2 // javax.lang.model.type.TypeMirror[] signature
        start local 3 // java.util.Map nonMatches
        start local 4 // boolean requiresInjectedStamp
         0: .line 306
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* found */
        start local 5 // java.util.List found
         1: .line 307
            aload 1 /* intrinsifyFactoryMethods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 5
      StackMap locals: org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler java.util.List javax.lang.model.type.TypeMirror[] java.util.Map int java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            astore 6 /* method */
        start local 6 // javax.lang.model.element.ExecutableElement method
         3: .line 308
            aload 0 /* this */
            iconst_1
            aload 6 /* method */
            aload 2 /* signature */
            aload 3 /* nonMatches */
            iload 4 /* requiresInjectedStamp */
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.matchSignature:(ILjavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Z
            ifeq 5
         4: .line 309
            aload 5 /* found */
            aload 6 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // javax.lang.model.element.ExecutableElement method
         5: .line 307
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 312
            aload 5 /* found */
            areturn
        end local 5 // java.util.List found
        end local 4 // boolean requiresInjectedStamp
        end local 3 // java.util.Map nonMatches
        end local 2 // javax.lang.model.type.TypeMirror[] signature
        end local 1 // java.util.List intrinsifyFactoryMethods
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0                      this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0    7     1  intrinsifyFactoryMethods  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            0    7     2                 signature  [Ljavax/lang/model/type/TypeMirror;
            0    7     3                nonMatches  Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;
            0    7     4     requiresInjectedStamp  Z
            1    7     5                     found  Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
            3    5     6                    method  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;Z)Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
    MethodParameters:
                          Name  Flags
      intrinsifyFactoryMethods  
      signature                 
      nonMatches                
      requiresInjectedStamp     

  private boolean matchSignature(int, javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror[], java.util.Map<javax.lang.model.element.ExecutableElement, java.lang.String>, );
    descriptor: (ILjavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=6
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // int numSkippedParameters
        start local 2 // javax.lang.model.element.ExecutableElement method
        start local 3 // javax.lang.model.type.TypeMirror[] signature
        start local 4 // java.util.Map nonMatches
        start local 5 // boolean requiresInjectedStamp
         0: .line 316
            iconst_0
            istore 6 /* sIdx */
        start local 6 // int sIdx
         1: .line 317
            iload 1 /* numSkippedParameters */
            istore 7 /* cIdx */
        start local 7 // int cIdx
         2: .line 318
            iload 5 /* requiresInjectedStamp */
            istore 8 /* missingStampArgument */
        start local 8 // boolean missingStampArgument
         3: .line 319
            goto 28
         4: .line 320
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            iload 7 /* cIdx */
            iinc 7 /* cIdx */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 9 /* parameter */
        start local 9 // javax.lang.model.element.VariableElement parameter
         5: .line 321
            aload 9 /* parameter */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 10 /* paramType */
        start local 10 // javax.lang.model.type.TypeMirror paramType
         6: .line 322
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            aload 9 /* parameter */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.graph.Node.InjectedNodeParameter"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
            ifnull 10
         7: .line 323
            iload 8 /* missingStampArgument */
            ifeq 28
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 10 /* paramType */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.core.common.type.Stamp"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 28
         8: .line 324
            iconst_0
            istore 8 /* missingStampArgument */
         9: .line 327
            goto 28
        10: .line 329
      StackMap locals: javax.lang.model.element.VariableElement javax.lang.model.type.TypeMirror
      StackMap stack:
            iload 8 /* missingStampArgument */
            ifeq 13
        11: .line 330
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "missing injected %s argument"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.core.common.type.Stamp"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 331
            iconst_0
            ireturn
        13: .line 334
      StackMap locals:
      StackMap stack:
            iload 7 /* cIdx */
            aload 2 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 22
            aload 10 /* paramType */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            if_acmpne 22
        14: .line 335
            aload 10 /* paramType */
            checkcast javax.lang.model.type.ArrayType
            invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
            astore 11 /* varargsType */
        start local 11 // javax.lang.model.type.TypeMirror varargsType
        15: .line 336
            aload 11 /* varargsType */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
            ifne 22
        16: .line 338
            goto 20
        17: .line 339
      StackMap locals: javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 0 /* this */
            aload 11 /* varargsType */
            aload 3 /* signature */
            iload 6 /* sIdx */
            iinc 6 /* sIdx */ 1
            aaload
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.isTypeCompatible:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 20
        18: .line 340
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "the types of argument %d are incompatible: %s != %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* sIdx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 11 /* varargsType */
            aastore
            dup
            iconst_2
            aload 3 /* signature */
            iload 6 /* sIdx */
            iconst_1
            isub
            aaload
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 341
            iconst_0
            ireturn
        20: .line 338
      StackMap locals:
      StackMap stack:
            iload 6 /* sIdx */
            aload 3 /* signature */
            arraylength
            if_icmplt 17
        21: .line 344
            goto 28
        end local 11 // javax.lang.model.type.TypeMirror varargsType
        22: .line 348
      StackMap locals:
      StackMap stack:
            iload 6 /* sIdx */
            aload 3 /* signature */
            arraylength
            if_icmplt 25
        23: .line 350
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "too many arguments"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 351
            iconst_0
            ireturn
        25: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* paramType */
            aload 3 /* signature */
            iload 6 /* sIdx */
            iinc 6 /* sIdx */ 1
            aaload
            invokevirtual org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.isTypeCompatible:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ifne 28
        26: .line 353
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "the type of argument %d is incompatible: %s != %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* sIdx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 10 /* paramType */
            aastore
            dup
            iconst_2
            aload 3 /* signature */
            iload 6 /* sIdx */
            iconst_1
            isub
            aaload
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 354
            iconst_0
            ireturn
        end local 10 // javax.lang.model.type.TypeMirror paramType
        end local 9 // javax.lang.model.element.VariableElement parameter
        28: .line 319
      StackMap locals:
      StackMap stack:
            iload 7 /* cIdx */
            aload 2 /* method */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        29: .line 357
            iload 8 /* missingStampArgument */
            ifeq 32
        30: .line 358
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "missing injected %s argument"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            ldc "org.graalvm.compiler.core.common.type.Stamp"
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 359
            iconst_0
            ireturn
        32: .line 362
      StackMap locals:
      StackMap stack:
            iload 6 /* sIdx */
            aload 3 /* signature */
            arraylength
            if_icmpeq 35
        33: .line 363
            aload 4 /* nonMatches */
            aload 2 /* method */
            ldc "not enough arguments"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 364
            iconst_0
            ireturn
        35: .line 366
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 8 // boolean missingStampArgument
        end local 7 // int cIdx
        end local 6 // int sIdx
        end local 5 // boolean requiresInjectedStamp
        end local 4 // java.util.Map nonMatches
        end local 3 // javax.lang.model.type.TypeMirror[] signature
        end local 2 // javax.lang.model.element.ExecutableElement method
        end local 1 // int numSkippedParameters
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   36     0                   this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0   36     1   numSkippedParameters  I
            0   36     2                 method  Ljavax/lang/model/element/ExecutableElement;
            0   36     3              signature  [Ljavax/lang/model/type/TypeMirror;
            0   36     4             nonMatches  Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;
            0   36     5  requiresInjectedStamp  Z
            1   36     6                   sIdx  I
            2   36     7                   cIdx  I
            3   36     8   missingStampArgument  Z
            5   28     9              parameter  Ljavax/lang/model/element/VariableElement;
            6   28    10              paramType  Ljavax/lang/model/type/TypeMirror;
           15   22    11            varargsType  Ljavax/lang/model/type/TypeMirror;
    Signature: (ILjavax/lang/model/element/ExecutableElement;[Ljavax/lang/model/type/TypeMirror;Ljava/util/Map<Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;>;Z)Z
    MethodParameters:
                       Name  Flags
      numSkippedParameters   
      method                 
      signature              
      nonMatches             
      requiresInjectedStamp  

  private boolean isTypeCompatible(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
        start local 1 // javax.lang.model.type.TypeMirror originalType
        start local 2 // javax.lang.model.type.TypeMirror substitutionType
         0: .line 370
            aload 1 /* originalType */
            astore 3 /* original */
        start local 3 // javax.lang.model.type.TypeMirror original
         1: .line 371
            aload 2 /* substitutionType */
            astore 4 /* substitution */
        start local 4 // javax.lang.model.type.TypeMirror substitution
         2: .line 372
            aload 3 /* original */
            invokestatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.needsErasure:(Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 4
         3: .line 373
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 3 /* original */
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            astore 3 /* original */
         4: .line 375
      StackMap locals: javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror
      StackMap stack:
            aload 4 /* substitution */
            invokestatic org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.needsErasure:(Ljavax/lang/model/type/TypeMirror;)Z
            ifeq 6
         5: .line 376
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 4 /* substitution */
            invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            astore 4 /* substitution */
         6: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
            invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 3 /* original */
            aload 4 /* substitution */
            invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ireturn
        end local 4 // javax.lang.model.type.TypeMirror substitution
        end local 3 // javax.lang.model.type.TypeMirror original
        end local 2 // javax.lang.model.type.TypeMirror substitutionType
        end local 1 // javax.lang.model.type.TypeMirror originalType
        end local 0 // org.graalvm.compiler.replacements.processor.NodeIntrinsicHandler this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/graalvm/compiler/replacements/processor/NodeIntrinsicHandler;
            0    7     1      originalType  Ljavax/lang/model/type/TypeMirror;
            0    7     2  substitutionType  Ljavax/lang/model/type/TypeMirror;
            1    7     3          original  Ljavax/lang/model/type/TypeMirror;
            2    7     4      substitution  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
                  Name  Flags
      originalType      
      substitutionType  

  private static boolean needsErasure(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.lang.model.type.TypeMirror typeMirror
         0: .line 382
            aload 0 /* typeMirror */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.NONE:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 3
            aload 0 /* typeMirror */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 3
            aload 0 /* typeMirror */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
            ifne 3
            aload 0 /* typeMirror */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.OTHER:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 3
         1: .line 383
            aload 0 /* typeMirror */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 3
         2: .line 382
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // javax.lang.model.type.TypeMirror typeMirror
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  typeMirror  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
            Name  Flags
      typeMirror  
}
SourceFile: "NodeIntrinsicHandler.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
  public ConstructorPlugin = org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$ConstructorPlugin of org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin
  public CustomFactoryPlugin = org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin$CustomFactoryPlugin of org.graalvm.compiler.replacements.processor.GeneratedNodeIntrinsicPlugin