public class com.oracle.graal.python.processor.ArgumentClinicProcessor extends javax.annotation.processing.AbstractProcessor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.graal.python.processor.ArgumentClinicProcessor
  super_class: javax.annotation.processing.AbstractProcessor
{
  private static final boolean LOGGING;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.lang.String BuiltinAnnotationClass;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.oracle.graal.python.builtins.Builtin"

  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 82
            ldc Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.graal.python.processor.ArgumentClinicProcessor.$assertionsDisabled:Z
         3: .line 84
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
         0: .line 82
            aload 0 /* this */
            invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
            return
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;

  public java.util.Set<java.lang.String> getSupportedAnnotationTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
         0: .line 88
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* vals */
        start local 1 // java.util.HashSet vals
         1: .line 89
            aload 1 /* vals */
            ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 90
            aload 1 /* vals */
            ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 91
            aload 1 /* vals */
            ldc Lcom/oracle/graal/python/annotations/ClinicConverterFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         4: .line 92
            aload 1 /* vals */
            areturn
        end local 1 // java.util.HashSet vals
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            1    5     1  vals  Ljava/util/HashSet<Ljava/lang/String;>;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public javax.lang.model.SourceVersion getSupportedSourceVersion();
    descriptor: ()Ljavax/lang/model/SourceVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
         0: .line 97
            invokestatic javax.lang.model.SourceVersion.latestSupported:()Ljavax/lang/model/SourceVersion;
            areturn
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;

  public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // java.util.Set annotations
        start local 2 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 102
            aload 2 /* roundEnv */
            invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
            ifeq 2
         1: .line 103
            iconst_0
            ireturn
         2: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
            invokestatic com.oracle.graal.python.processor.ConverterFactory.initBuiltins:(Ljavax/lang/model/util/Elements;)V
         3: .line 107
            aload 0 /* this */
            aload 2 /* roundEnv */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.doProcess:(Ljavax/annotation/processing/RoundEnvironment;)V
         4: .line 108
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 3 /* ex */
        start local 3 // java.io.IOException ex
         6: .line 109
            aload 3 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 3 // java.io.IOException ex
         7: goto 10
         8: .line 110
      StackMap locals:
      StackMap stack: com.oracle.graal.python.processor.ProcessingError
            astore 3 /* ex */
        start local 3 // com.oracle.graal.python.processor.ProcessingError ex
         9: .line 111
            aload 0 /* this */
            getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
            getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
            aload 3 /* ex */
            invokevirtual com.oracle.graal.python.processor.ProcessingError.getMessage:()Ljava/lang/String;
            aload 3 /* ex */
            invokevirtual com.oracle.graal.python.processor.ProcessingError.getElement:()Ljavax/lang/model/element/Element;
            invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
        end local 3 // com.oracle.graal.python.processor.ProcessingError ex
        10: .line 113
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 1 // java.util.Set annotations
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   11     1  annotations  Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
            0   11     2     roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            6    7     3           ex  Ljava/io/IOException;
            9   10     3           ex  Lcom/oracle/graal/python/processor/ProcessingError;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
           2     4       8  Class com.oracle.graal.python.processor.ProcessingError
    Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
    MethodParameters:
             Name  Flags
      annotations  
      roundEnv     

  private void doProcess(javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljavax/annotation/processing/RoundEnvironment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 117
            aload 0 /* this */
            ldc "Running the ArgumentClinicProcessor"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 118
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* roundEnv */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.collectEnclosingTypes:(Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap;
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeCode:(Ljava/util/HashMap;)V
         2: .line 119
            return
        end local 1 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0    3     1  roundEnv  Ljavax/annotation/processing/RoundEnvironment;
    Exceptions:
      throws java.io.IOException, com.oracle.graal.python.processor.ProcessingError
    MethodParameters:
          Name  Flags
      roundEnv  

  private void writeCode(java.util.HashMap<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>>);
    descriptor: (Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // java.util.HashMap enclosingTypes
         0: .line 123
            aload 1 /* enclosingTypes */
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 35
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* enclosingType */
        start local 2 // java.util.Map$Entry enclosingType
         2: .line 124
            aload 2 /* enclosingType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.TypeElement
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getPackage:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
            astore 4 /* pkgName */
        start local 4 // java.lang.String pkgName
         3: .line 125
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* enclosingType */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "ClinicProviders"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* className */
        start local 5 // java.lang.String className
         4: .line 126
            new java.lang.StringBuilder
            dup
            aload 4 /* pkgName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* sourceFile */
        start local 6 // java.lang.String sourceFile
         5: .line 127
            aload 0 /* this */
            ldc "Generating file '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* sourceFile */
            aastore
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 129
            aload 0 /* this */
            getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
            aload 6 /* sourceFile */
            iconst_0
            anewarray javax.lang.model.element.Element
            invokeinterface javax.annotation.processing.Filer.createSourceFile:(Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/JavaFileObject;
            astore 7 /* file */
        start local 7 // javax.tools.JavaFileObject file
         7: .line 130
            aconst_null
            astore 8
            aconst_null
            astore 9
         8: new com.oracle.graal.python.processor.CodeWriter
            dup
            aload 7 /* file */
            invokeinterface javax.tools.JavaFileObject.openWriter:()Ljava/io/Writer;
            invokespecial com.oracle.graal.python.processor.CodeWriter.<init>:(Ljava/io/Writer;)V
            astore 10 /* w */
        start local 10 // com.oracle.graal.python.processor.CodeWriter w
         9: .line 131
            aload 10 /* w */
            ldc "// CheckStyle: start generated"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 132
            aload 10 /* w */
            ldc "// Auto generated by ArgumentClinicProcessor at %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic java.time.LocalDateTime.now:()Ljava/time/LocalDateTime;
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 133
            aload 10 /* w */
            ldc "package %s;"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* pkgName */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 134
            aload 10 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
        13: .line 135
            aload 0 /* this */
            aload 10 /* w */
            aload 2 /* enclosingType */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeImports:(Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry;)V
        14: .line 136
            aload 10 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
        15: .line 137
            aload 10 /* w */
            ldc "public class %s {"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* className */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 138
            aload 2 /* enclosingType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 27
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter top java.util.Iterator
      StackMap stack:
        17: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
            astore 11 /* builtin */
        start local 11 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
        18: .line 139
            aconst_null
            astore 13
            aconst_null
            astore 14
        19: aload 10 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 15 /* i */
        start local 15 // com.oracle.graal.python.processor.CodeWriter$Block i
        20: .line 140
            aload 0 /* this */
            aload 10 /* w */
            aload 11 /* builtin */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeClinicNode:(Lcom/oracle/graal/python/processor/CodeWriter;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;)V
        21: .line 141
            aload 15 /* i */
            ifnull 27
            aload 15 /* i */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 27
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData java.util.Iterator java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
      StackMap stack: java.lang.Throwable
        22: astore 13
            aload 15 /* i */
            ifnull 23
            aload 15 /* i */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 15 // com.oracle.graal.python.processor.CodeWriter$Block i
      StackMap locals:
      StackMap stack:
        23: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 14
            aload 13
            ifnonnull 25
            aload 14
            astore 13
            goto 26
      StackMap locals:
      StackMap stack:
        25: aload 13
            aload 14
            if_acmpeq 26
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        26: aload 13
            athrow
        end local 11 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
        27: .line 138
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        28: .line 143
            aload 10 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        29: .line 144
            aload 10 /* w */
            ifnull 35
            aload 10 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.close:()V
            goto 35
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter
      StackMap stack: java.lang.Throwable
        30: astore 8
            aload 10 /* w */
            ifnull 31
            aload 10 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.close:()V
        end local 10 // com.oracle.graal.python.processor.CodeWriter w
      StackMap locals:
      StackMap stack:
        31: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 9
            aload 8
            ifnonnull 33
            aload 9
            astore 8
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 8
            aload 9
            if_acmpeq 34
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 8
            athrow
        end local 7 // javax.tools.JavaFileObject file
        end local 6 // java.lang.String sourceFile
        end local 5 // java.lang.String className
        end local 4 // java.lang.String pkgName
        end local 2 // java.util.Map$Entry enclosingType
        35: .line 123
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        36: .line 146
            return
        end local 1 // java.util.HashMap enclosingTypes
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0            this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   37     1  enclosingTypes  Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
            2   35     2   enclosingType  Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
            3   35     4         pkgName  Ljava/lang/String;
            4   35     5       className  Ljava/lang/String;
            5   35     6      sourceFile  Ljava/lang/String;
            7   35     7            file  Ljavax/tools/JavaFileObject;
            9   31    10               w  Lcom/oracle/graal/python/processor/CodeWriter;
           18   27    11         builtin  Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
           20   23    15               i  Lcom/oracle/graal/python/processor/CodeWriter$Block;
      Exception table:
        from    to  target  type
          20    21      22  any
          19    24      24  any
           9    29      30  any
           8    32      32  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;)V
    MethodParameters:
                Name  Flags
      enclosingTypes  

  private void writeImports(com.oracle.graal.python.processor.CodeWriter, java.util.Map$Entry<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>>);
    descriptor: (Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // com.oracle.graal.python.processor.CodeWriter w
        start local 2 // java.util.Map$Entry enclosingType
         0: .line 149
            aload 0 /* this */
            ldc "Writing imports..."
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 150
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 3 /* imports */
        start local 3 // java.util.TreeSet imports
         2: .line 151
            aload 3 /* imports */
            ldc "com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider"
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 152
            aload 2 /* enclosingType */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
            astore 4 /* builtin */
        start local 4 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
         5: .line 153
            aload 4 /* builtin */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.arguments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData java.util.Iterator top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
            astore 6 /* arg */
        start local 6 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData arg
         7: .line 154
            aload 3 /* imports */
            aload 6 /* arg */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.imports:Ljava/util/Set;
            invokevirtual java.util.TreeSet.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 155
            aload 6 /* arg */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.castNodeFactory:Ljava/lang/String;
            ifnull 11
         9: .line 156
            aload 3 /* imports */
            ldc "com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode"
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 157
            aload 3 /* imports */
            ldc "com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentCastNode"
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData arg
        11: .line 153
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 4 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
        12: .line 152
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 161
            aload 3 /* imports */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* pkg */
        start local 4 // java.lang.String pkg
        15: .line 162
            aload 1 /* w */
            ldc "import %s;"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* pkg */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 4 // java.lang.String pkg
        16: .line 161
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 164
            return
        end local 3 // java.util.TreeSet imports
        end local 2 // java.util.Map$Entry enclosingType
        end local 1 // com.oracle.graal.python.processor.CodeWriter w
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   18     1              w  Lcom/oracle/graal/python/processor/CodeWriter;
            0   18     2  enclosingType  Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
            2   18     3        imports  Ljava/util/TreeSet<Ljava/lang/String;>;
            5   12     4        builtin  Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
            7   11     6            arg  Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
           15   16     4            pkg  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;)V
    MethodParameters:
               Name  Flags
      w              
      enclosingType  

  private void writeClinicNode(com.oracle.graal.python.processor.CodeWriter, com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData);
    descriptor: (Lcom/oracle/graal/python/processor/CodeWriter;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=20, args_size=3
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // com.oracle.graal.python.processor.CodeWriter w
        start local 2 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
         0: .line 168
            aload 2 /* builtin */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.type:Ljavax/lang/model/element/TypeElement;
            astore 3 /* type */
        start local 3 // javax.lang.model.element.TypeElement type
         1: .line 169
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 3 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "ClinicProviderGen"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* clinicClassName */
        start local 4 // java.lang.String clinicClassName
         2: .line 170
            aload 0 /* this */
            ldc "Writing clinic node %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* clinicClassName */
            aastore
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 171
            aload 1 /* w */
            ldc "public static final class %s extends ArgumentClinicProvider {"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* clinicClassName */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 172
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 7 /* i1 */
        start local 7 // com.oracle.graal.python.processor.CodeWriter$Block i1
         6: .line 175
            aload 1 /* w */
            ldc "public static final %s INSTANCE = new %s();"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* clinicClassName */
            aastore
            dup
            iconst_1
            aload 4 /* clinicClassName */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 176
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
         8: .line 177
            aload 1 /* w */
            ldc "private %s() {"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* clinicClassName */
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 178
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 180
            invokestatic com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType.values:()[Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 32
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[]
      StackMap stack:
        11: aload 11
            iload 9
            aaload
            astore 8 /* primitiveType */
        start local 8 // com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType primitiveType
        12: .line 181
            aload 2 /* builtin */
            aload 8 /* primitiveType */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getIndicesForPrimitiveTypeAccepts:(Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;)[I
            astore 12 /* argIndices */
        start local 12 // int[] argIndices
        13: .line 182
            aload 12 /* argIndices */
            arraylength
            ifne 15
        14: .line 183
            goto 31
        15: .line 185
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[] int[]
      StackMap stack:
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
        16: .line 186
            aload 1 /* w */
            ldc "@Override"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 187
            aload 1 /* w */
            ldc "public boolean accepts%s(int argIndex) {"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* primitiveType */
            invokevirtual com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType.toString:()Ljava/lang/String;
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 188
            aconst_null
            astore 13
            aconst_null
            astore 14
        19: aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 15 /* i2 */
        start local 15 // com.oracle.graal.python.processor.CodeWriter$Block i2
        20: .line 189
            aload 2 /* builtin */
            aload 12 /* argIndices */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.containsAllArguments:([I)Z
            ifeq 23
        21: .line 190
            aload 1 /* w */
            ldc "return true;"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        22: .line 191
            goto 24
        23: .line 192
      StackMap locals: java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
      StackMap stack:
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.startLn:()Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            ldc "return "
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.write:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            aload 12 /* argIndices */
            ldc " || "
            ldc "argIndex == %d"
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.writeEach:([ILjava/lang/String;Ljava/lang/String;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            ldc ";"
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.endLn:(Ljava/lang/String;)V
        24: .line 194
      StackMap locals:
      StackMap stack:
            aload 15 /* i2 */
            ifnull 30
            aload 15 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 13
            aload 15 /* i2 */
            ifnull 26
            aload 15 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 15 // com.oracle.graal.python.processor.CodeWriter$Block i2
      StackMap locals:
      StackMap stack:
        26: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 14
            aload 13
            ifnonnull 28
            aload 14
            astore 13
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 13
            aload 14
            if_acmpeq 29
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 13
            athrow
        30: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 12 // int[] argIndices
        end local 8 // com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType primitiveType
        31: .line 180
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        32: iload 9
            iload 10
            if_icmplt 11
        33: .line 198
            aload 2 /* builtin */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getIndicesForHasCastNode:()[I
            astore 8 /* hasCastNodeArgsIndices */
        start local 8 // int[] hasCastNodeArgsIndices
        34: .line 199
            aload 8 /* hasCastNodeArgsIndices */
            arraylength
            ifle 51
        35: .line 200
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
        36: .line 201
            aload 1 /* w */
            ldc "@Override"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        37: .line 202
            aload 1 /* w */
            ldc "public boolean hasCastNode(int argIndex) {"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        38: .line 203
            aconst_null
            astore 9
            aconst_null
            astore 10
        39: aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 11 /* i2 */
        start local 11 // com.oracle.graal.python.processor.CodeWriter$Block i2
        40: .line 204
            aload 2 /* builtin */
            aload 8 /* hasCastNodeArgsIndices */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.containsAllArguments:([I)Z
            ifeq 43
        41: .line 205
            aload 1 /* w */
            ldc "return true;"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        42: .line 206
            goto 44
        43: .line 207
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
      StackMap stack:
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.startLn:()Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            ldc "return "
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.write:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            aload 8 /* hasCastNodeArgsIndices */
            ldc " || "
            ldc "argIndex == %d"
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.writeEach:([ILjava/lang/String;Ljava/lang/String;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
            ldc ";"
            invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.endLn:(Ljava/lang/String;)V
        44: .line 209
      StackMap locals:
      StackMap stack:
            aload 11 /* i2 */
            ifnull 50
            aload 11 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 9
            aload 11 /* i2 */
            ifnull 46
            aload 11 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 11 // com.oracle.graal.python.processor.CodeWriter$Block i2
      StackMap locals:
      StackMap stack:
        46: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 10
            aload 9
            ifnonnull 48
            aload 10
            astore 9
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 9
            aload 10
            if_acmpeq 49
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 9
            athrow
        50: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        51: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* builtin */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getArgumentsWithCastNodeFactory:()[Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
            astore 9 /* argsWithCastNodeFactory */
        start local 9 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] argsWithCastNodeFactory
        52: .line 214
            aload 9 /* argsWithCastNodeFactory */
            arraylength
            ifle 81
        53: .line 215
            aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
        54: .line 216
            aload 1 /* w */
            ldc "@Override"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        55: .line 217
            aload 1 /* w */
            ldc "public ArgumentCastNode createCastNode(int argIndex, PythonBuiltinBaseNode builtin) {"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        56: .line 218
            aconst_null
            astore 10
            aconst_null
            astore 11
        57: aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 12 /* i2 */
        start local 12 // com.oracle.graal.python.processor.CodeWriter$Block i2
        58: .line 219
            aload 1 /* w */
            ldc "switch (argIndex) {"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        59: .line 220
            aconst_null
            astore 13
            aconst_null
            astore 14
        60: aload 1 /* w */
            invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
            astore 15 /* i3 */
        start local 15 // com.oracle.graal.python.processor.CodeWriter$Block i3
        61: .line 221
            aload 9 /* argsWithCastNodeFactory */
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 65
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[]
      StackMap stack:
        62: aload 19
            iload 17
            aaload
            astore 16 /* arg */
        start local 16 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData arg
        63: .line 222
            aload 1 /* w */
            ldc "case %d: return %s;"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* arg */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.index:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 16 /* arg */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.castNodeFactory:Ljava/lang/String;
            aastore
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 16 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData arg
        64: .line 221
            iinc 17 1
      StackMap locals:
      StackMap stack:
        65: iload 17
            iload 18
            if_icmplt 62
        66: .line 224
            aload 1 /* w */
            ldc "default: throw new IllegalStateException(\"Unexpected argument index: \" + Integer.toString(argIndex));"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        67: .line 225
            aload 15 /* i3 */
            ifnull 73
            aload 15 /* i3 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 73
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
      StackMap stack: java.lang.Throwable
        68: astore 13
            aload 15 /* i3 */
            ifnull 69
            aload 15 /* i3 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 15 // com.oracle.graal.python.processor.CodeWriter$Block i3
      StackMap locals:
      StackMap stack:
        69: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        70: astore 14
            aload 13
            ifnonnull 71
            aload 14
            astore 13
            goto 72
      StackMap locals:
      StackMap stack:
        71: aload 13
            aload 14
            if_acmpeq 72
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        72: aload 13
            athrow
        73: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        74: .line 227
            aload 12 /* i2 */
            ifnull 80
            aload 12 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
        75: astore 10
            aload 12 /* i2 */
            ifnull 76
            aload 12 /* i2 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 12 // com.oracle.graal.python.processor.CodeWriter$Block i2
      StackMap locals:
      StackMap stack:
        76: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        77: astore 11
            aload 10
            ifnonnull 78
            aload 11
            astore 10
            goto 79
      StackMap locals:
      StackMap stack:
        78: aload 10
            aload 11
            if_acmpeq 79
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        79: aload 10
            athrow
        80: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 9 // com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] argsWithCastNodeFactory
        end local 8 // int[] hasCastNodeArgsIndices
        81: .line 230
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            ifnull 87
            aload 7 /* i1 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
            goto 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
        82: astore 5
            aload 7 /* i1 */
            ifnull 83
            aload 7 /* i1 */
            invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
        end local 7 // com.oracle.graal.python.processor.CodeWriter$Block i1
      StackMap locals:
      StackMap stack:
        83: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: astore 6
            aload 5
            ifnonnull 85
            aload 6
            astore 5
            goto 86
      StackMap locals:
      StackMap stack:
        85: aload 5
            aload 6
            if_acmpeq 86
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        86: aload 5
            athrow
        87: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            ldc "}"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
        88: .line 232
            return
        end local 4 // java.lang.String clinicClassName
        end local 3 // javax.lang.model.element.TypeElement type
        end local 2 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtin
        end local 1 // com.oracle.graal.python.processor.CodeWriter w
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   89     0                     this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   89     1                        w  Lcom/oracle/graal/python/processor/CodeWriter;
            0   89     2                  builtin  Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
            1   89     3                     type  Ljavax/lang/model/element/TypeElement;
            2   89     4          clinicClassName  Ljava/lang/String;
            6   83     7                       i1  Lcom/oracle/graal/python/processor/CodeWriter$Block;
           12   31     8            primitiveType  Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
           13   31    12               argIndices  [I
           20   26    15                       i2  Lcom/oracle/graal/python/processor/CodeWriter$Block;
           34   81     8   hasCastNodeArgsIndices  [I
           40   46    11                       i2  Lcom/oracle/graal/python/processor/CodeWriter$Block;
           52   81     9  argsWithCastNodeFactory  [Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
           58   76    12                       i2  Lcom/oracle/graal/python/processor/CodeWriter$Block;
           61   69    15                       i3  Lcom/oracle/graal/python/processor/CodeWriter$Block;
           63   64    16                      arg  Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
      Exception table:
        from    to  target  type
          20    24      25  any
          19    27      27  any
          40    44      45  any
          39    47      47  any
          61    67      68  any
          60    70      70  any
          58    74      75  any
          57    77      77  any
           6    81      82  any
           5    84      84  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      w        
      builtin  

  private java.util.HashMap<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>> collectEnclosingTypes(javax.annotation.processing.RoundEnvironment);
    descriptor: (Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // javax.annotation.processing.RoundEnvironment roundEnv
         0: .line 235
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* enclosingTypes */
        start local 2 // java.util.HashMap enclosingTypes
         1: .line 236
            new java.util.HashSet
            dup
            aload 1 /* roundEnv */
            ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
            invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 3 /* elements */
        start local 3 // java.util.HashSet elements
         2: .line 237
            aload 3 /* elements */
            aload 1 /* roundEnv */
            ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
            invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/Set;
            invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 238
            aload 3 /* elements */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.Element
            astore 4 /* e */
        start local 4 // javax.lang.model.element.Element e
         5: .line 239
            aload 0 /* this */
            ldc "Checking type '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* e */
            aastore
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 240
            aload 4 /* e */
            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_acmpeq 8
         7: .line 241
            aload 4 /* e */
            ldc "ArgumentClinic annotation is applicable only to classes."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
            athrow
         8: .line 243
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet javax.lang.model.element.Element java.util.Iterator
      StackMap stack:
            aload 4 /* e */
            checkcast javax.lang.model.element.TypeElement
            astore 6 /* type */
        start local 6 // javax.lang.model.element.TypeElement type
         9: .line 244
            aload 6 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            ifnonnull 11
        10: .line 245
            aload 4 /* e */
            ldc "ArgumentClinicProcessor supports only inner classes at moment."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
            athrow
        11: .line 247
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 0 /* this */
            aload 6 /* type */
            aload 6 /* type */
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getBuiltinAnnotation:(Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.getBuiltinClinicData:(Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
            astore 7 /* builtinClinicData */
        start local 7 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtinClinicData
        12: .line 248
            aload 6 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 8 /* enclosingType */
        start local 8 // javax.lang.model.element.TypeElement enclosingType
        13: .line 249
            aload 2 /* enclosingTypes */
            aload 8 /* enclosingType */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$0(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set; (6)
                  (Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
            invokevirtual java.util.HashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 7 /* builtinClinicData */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // javax.lang.model.element.TypeElement enclosingType
        end local 7 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData builtinClinicData
        end local 6 // javax.lang.model.element.TypeElement type
        end local 4 // javax.lang.model.element.Element e
        14: .line 238
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        15: .line 251
            aload 2 /* enclosingTypes */
            areturn
        end local 3 // java.util.HashSet elements
        end local 2 // java.util.HashMap enclosingTypes
        end local 1 // javax.annotation.processing.RoundEnvironment roundEnv
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0               this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   16     1           roundEnv  Ljavax/annotation/processing/RoundEnvironment;
            1   16     2     enclosingTypes  Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
            2   16     3           elements  Ljava/util/HashSet<Ljavax/lang/model/element/Element;>;
            5   14     4                  e  Ljavax/lang/model/element/Element;
            9   14     6               type  Ljavax/lang/model/element/TypeElement;
           12   14     7  builtinClinicData  Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
           13   14     8      enclosingType  Ljavax/lang/model/element/TypeElement;
    Exceptions:
      throws com.oracle.graal.python.processor.ProcessingError
    Signature: (Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
    MethodParameters:
          Name  Flags
      roundEnv  

  private com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData getBuiltinClinicData(javax.lang.model.element.TypeElement, com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation);
    descriptor: (Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // javax.lang.model.element.TypeElement type
        start local 2 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation builtinAnnotation
         0: .line 256
            aload 1 /* type */
            ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
            invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.graal.python.annotations.ArgumentsClinic
            astore 4 /* argsClinicAnnotation */
        start local 4 // com.oracle.graal.python.annotations.ArgumentsClinic argsClinicAnnotation
         1: .line 257
            aload 4 /* argsClinicAnnotation */
            ifnonnull 4
         2: .line 258
            iconst_1
            anewarray com.oracle.graal.python.annotations.ArgumentClinic
            dup
            iconst_0
            aload 1 /* type */
            ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
            invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast com.oracle.graal.python.annotations.ArgumentClinic
            aastore
            astore 3 /* rawArgAnnotations */
        start local 3 // com.oracle.graal.python.annotations.ArgumentClinic[] rawArgAnnotations
         3: .line 259
            goto 5
        end local 3 // com.oracle.graal.python.annotations.ArgumentClinic[] rawArgAnnotations
         4: .line 260
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation top com.oracle.graal.python.annotations.ArgumentsClinic
      StackMap stack:
            aload 4 /* argsClinicAnnotation */
            invokeinterface com.oracle.graal.python.annotations.ArgumentsClinic.value:()[Lcom/oracle/graal/python/annotations/ArgumentClinic;
            astore 3 /* rawArgAnnotations */
        start local 3 // com.oracle.graal.python.annotations.ArgumentClinic[] rawArgAnnotations
         5: .line 263
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation com.oracle.graal.python.annotations.ArgumentClinic[] com.oracle.graal.python.annotations.ArgumentsClinic
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.getConverterFactories:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Map;
            astore 5 /* converterFactories */
        start local 5 // java.util.Map converterFactories
         6: .line 264
            aload 2 /* builtinAnnotation */
            getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.argumentNames:[Ljava/lang/String;
            astore 6 /* argNames */
        start local 6 // java.lang.String[] argNames
         7: .line 265
            new java.util.ArrayList
            dup
            aload 6 /* argNames */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* arguments */
        start local 7 // java.util.List arguments
         8: .line 266
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 14
        10: .line 267
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation com.oracle.graal.python.annotations.ArgumentClinic[] com.oracle.graal.python.annotations.ArgumentsClinic java.util.Map java.lang.String[] java.util.List int
      StackMap stack:
            aload 6 /* argNames */
            iload 8 /* i */
            aaload
            astore 9 /* name */
        start local 9 // java.lang.String name
        11: .line 268
            aload 3 /* rawArgAnnotations */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            aload 9 /* name */
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$1(Ljava/lang/String;Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z (6)
                  (Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.python.annotations.ArgumentClinic
            astore 10 /* clinicAnnotation */
        start local 10 // com.oracle.graal.python.annotations.ArgumentClinic clinicAnnotation
        12: .line 269
            aload 7 /* arguments */
            aload 10 /* clinicAnnotation */
            aload 1 /* type */
            aload 2 /* builtinAnnotation */
            iload 8 /* i */
            aload 5 /* converterFactories */
            aload 9 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.python.processor.ConverterFactory
            invokestatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.create:(Lcom/oracle/graal/python/annotations/ArgumentClinic;Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;ILcom/oracle/graal/python/processor/ConverterFactory;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.oracle.graal.python.annotations.ArgumentClinic clinicAnnotation
        end local 9 // java.lang.String name
        13: .line 266
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            aload 6 /* argNames */
            arraylength
            if_icmplt 10
        end local 8 // int i
        15: .line 272
            new com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
            dup
            aload 1 /* type */
            aload 2 /* builtinAnnotation */
            aload 7 /* arguments */
            invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.<init>:(Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;Ljava/util/List;)V
            areturn
        end local 7 // java.util.List arguments
        end local 6 // java.lang.String[] argNames
        end local 5 // java.util.Map converterFactories
        end local 4 // com.oracle.graal.python.annotations.ArgumentsClinic argsClinicAnnotation
        end local 3 // com.oracle.graal.python.annotations.ArgumentClinic[] rawArgAnnotations
        end local 2 // com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation builtinAnnotation
        end local 1 // javax.lang.model.element.TypeElement type
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0                  this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   16     1                  type  Ljavax/lang/model/element/TypeElement;
            0   16     2     builtinAnnotation  Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
            3    4     3     rawArgAnnotations  [Lcom/oracle/graal/python/annotations/ArgumentClinic;
            5   16     3     rawArgAnnotations  [Lcom/oracle/graal/python/annotations/ArgumentClinic;
            1   16     4  argsClinicAnnotation  Lcom/oracle/graal/python/annotations/ArgumentsClinic;
            6   16     5    converterFactories  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
            7   16     6              argNames  [Ljava/lang/String;
            8   16     7             arguments  Ljava/util/List<Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;>;
            9   15     8                     i  I
           11   13     9                  name  Ljava/lang/String;
           12   13    10      clinicAnnotation  Lcom/oracle/graal/python/annotations/ArgumentClinic;
    Exceptions:
      throws com.oracle.graal.python.processor.ProcessingError
    MethodParameters:
                   Name  Flags
      type               
      builtinAnnotation  

  private java.util.Map<java.lang.String, com.oracle.graal.python.processor.ConverterFactory> getConverterFactories(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // javax.lang.model.element.TypeElement type
         0: .line 277
            aload 1 /* type */
            ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
            astore 3 /* argsClinicMirror */
        start local 3 // javax.lang.model.element.AnnotationMirror argsClinicMirror
         1: .line 278
            aload 3 /* argsClinicMirror */
            ifnull 4
         2: .line 279
            aload 3 /* argsClinicMirror */
            ldc "value"
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$2(Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror; (6)
                  (Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* rawArgMirrors */
        start local 2 // java.util.List rawArgMirrors
         3: .line 280
            goto 5
        end local 2 // java.util.List rawArgMirrors
         4: .line 281
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement top javax.lang.model.element.AnnotationMirror
      StackMap stack:
            aload 1 /* type */
            ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* rawArgMirrors */
        start local 2 // java.util.List rawArgMirrors
         5: .line 284
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement java.util.List javax.lang.model.element.AnnotationMirror
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* converterFactories */
        start local 4 // java.util.Map converterFactories
         6: .line 285
            aload 2 /* rawArgMirrors */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement java.util.List javax.lang.model.element.AnnotationMirror java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationMirror
            astore 5 /* m */
        start local 5 // javax.lang.model.element.AnnotationMirror m
         8: .line 286
            aload 5 /* m */
            ldc "name"
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
         9: .line 287
            aload 5 /* m */
            ldc "conversionClass"
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
            astore 8 /* v */
        start local 8 // javax.lang.model.element.AnnotationValue v
        10: .line 288
            aload 8 /* v */
            ifnull 13
        11: .line 289
            aload 0 /* this */
            getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            aload 8 /* v */
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.type.TypeMirror
            invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            astore 9 /* conversionClass */
        start local 9 // javax.lang.model.element.TypeElement conversionClass
        12: .line 290
            aload 4 /* converterFactories */
            aload 7 /* name */
            aload 9 /* conversionClass */
            invokestatic com.oracle.graal.python.processor.ConverterFactory.getForClass:(Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ConverterFactory;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // javax.lang.model.element.TypeElement conversionClass
        end local 8 // javax.lang.model.element.AnnotationValue v
        end local 7 // java.lang.String name
        end local 5 // javax.lang.model.element.AnnotationMirror m
        13: .line 285
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        14: .line 293
            aload 4 /* converterFactories */
            areturn
        end local 4 // java.util.Map converterFactories
        end local 3 // javax.lang.model.element.AnnotationMirror argsClinicMirror
        end local 2 // java.util.List rawArgMirrors
        end local 1 // javax.lang.model.element.TypeElement type
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0   15     1                type  Ljavax/lang/model/element/TypeElement;
            3    4     2       rawArgMirrors  Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
            5   15     2       rawArgMirrors  Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
            1   15     3    argsClinicMirror  Ljavax/lang/model/element/AnnotationMirror;
            6   15     4  converterFactories  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
            8   13     5                   m  Ljavax/lang/model/element/AnnotationMirror;
            9   13     7                name  Ljava/lang/String;
           10   13     8                   v  Ljavax/lang/model/element/AnnotationValue;
           12   13     9     conversionClass  Ljavax/lang/model/element/TypeElement;
    Exceptions:
      throws com.oracle.graal.python.processor.ProcessingError
    Signature: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
    MethodParameters:
      Name  Flags
      type  

  private static javax.lang.model.element.AnnotationMirror findAnnotationMirror(javax.lang.model.element.TypeElement, java.lang.String);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.lang.model.element.TypeElement type
        start local 1 // java.lang.String annotationQualifiedName
         0: .line 297
            aload 0 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getAnnotationMirrors:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: javax.lang.model.element.TypeElement java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationMirror
            astore 2 /* annot */
        start local 2 // javax.lang.model.element.AnnotationMirror annot
         2: .line 298
            aload 2 /* annot */
            invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 299
            aload 4 /* name */
            aload 1 /* annotationQualifiedName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 300
            aload 2 /* annot */
            areturn
        end local 4 // java.lang.String name
        end local 2 // javax.lang.model.element.AnnotationMirror annot
         5: .line 297
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 303
            aconst_null
            areturn
        end local 1 // java.lang.String annotationQualifiedName
        end local 0 // javax.lang.model.element.TypeElement type
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     type  Ljavax/lang/model/element/TypeElement;
            0    7     1  annotationQualifiedName  Ljava/lang/String;
            2    5     2                    annot  Ljavax/lang/model/element/AnnotationMirror;
            3    5     4                     name  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      type                     
      annotationQualifiedName  

  private static javax.lang.model.element.AnnotationValue findAnnotationValue(javax.lang.model.element.AnnotationMirror, java.lang.String);
    descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javax.lang.model.element.AnnotationMirror annotationMirror
        start local 1 // java.lang.String key
         0: .line 307
            aload 0 /* annotationMirror */
            invokeinterface javax.lang.model.element.AnnotationMirror.getElementValues:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: javax.lang.model.element.AnnotationMirror java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 308
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 1 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 309
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationValue
            areturn
        end local 2 // java.util.Map$Entry entry
         4: .line 307
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 312
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // javax.lang.model.element.AnnotationMirror annotationMirror
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0  annotationMirror  Ljavax/lang/model/element/AnnotationMirror;
            0    6     1               key  Ljava/lang/String;
            2    4     2             entry  Ljava/util/Map$Entry<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
    MethodParameters:
                  Name  Flags
      annotationMirror  
      key               

  private static javax.lang.model.element.AnnotationValue getAnnotationValue(javax.lang.model.element.AnnotationMirror, java.lang.String);
    descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.lang.model.element.AnnotationMirror annotationMirror
        start local 1 // java.lang.String key
         0: .line 316
            aload 0 /* annotationMirror */
            aload 1 /* key */
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
            astore 2 /* v */
        start local 2 // javax.lang.model.element.AnnotationValue v
         1: .line 317
            aload 2 /* v */
            ifnonnull 3
         2: .line 318
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Annotation value `"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "` not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 320
      StackMap locals: javax.lang.model.element.AnnotationValue
      StackMap stack:
            aload 2 /* v */
            areturn
        end local 2 // javax.lang.model.element.AnnotationValue v
        end local 1 // java.lang.String key
        end local 0 // javax.lang.model.element.AnnotationMirror annotationMirror
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0  annotationMirror  Ljavax/lang/model/element/AnnotationMirror;
            0    4     1               key  Ljava/lang/String;
            1    4     2                 v  Ljavax/lang/model/element/AnnotationValue;
    MethodParameters:
                  Name  Flags
      annotationMirror  
      key               

  private static com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation getBuiltinAnnotation(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // javax.lang.model.element.TypeElement type
         0: .line 325
            aconst_null
            astore 1 /* builtinName */
        start local 1 // java.lang.String builtinName
         1: .line 326
            aconst_null
            astore 2 /* parameterNames */
        start local 2 // java.util.stream.Stream parameterNames
         2: .line 327
            aconst_null
            astore 3 /* keywordOnlyNames */
        start local 3 // java.util.stream.Stream keywordOnlyNames
         3: .line 328
            aload 0 /* type */
            ldc "com.oracle.graal.python.builtins.Builtin"
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
            astore 4 /* annot */
        start local 4 // javax.lang.model.element.AnnotationMirror annot
         4: .line 329
            aload 4 /* annot */
            ifnull 16
         5: .line 330
            aload 4 /* annot */
            invokeinterface javax.lang.model.element.AnnotationMirror.getElementValues:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* item */
        start local 5 // java.util.Map$Entry item
         7: .line 331
            aload 5 /* item */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "parameterNames"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 332
            aload 5 /* item */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationValue
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  javax/lang/model/element/AnnotationValue.getValue()Ljava/lang/Object; (9 itf)
                  (Ljavax/lang/model/element/AnnotationValue;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            astore 2 /* parameterNames */
         9: .line 333
            goto 15
      StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror java.util.Map$Entry java.util.Iterator
      StackMap stack:
        10: aload 5 /* item */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "keywordOnlyNames"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 334
            aload 5 /* item */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationValue
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  javax/lang/model/element/AnnotationValue.getValue()Ljava/lang/Object; (9 itf)
                  (Ljavax/lang/model/element/AnnotationValue;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            astore 3 /* keywordOnlyNames */
        12: .line 335
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 5 /* item */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            ldc "name"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 336
            aload 5 /* item */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationValue
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* builtinName */
        end local 5 // java.util.Map$Entry item
        15: .line 330
      StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        16: .line 340
      StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror
      StackMap stack:
            aload 2 /* parameterNames */
            ifnull 17
            aload 1 /* builtinName */
            ifnonnull 18
        17: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc "In order to use Argument Clinic, the Builtin annotation must contain 'name' and 'parameterNames' fields."
            iconst_0
            anewarray java.lang.Object
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
            athrow
        18: .line 343
      StackMap locals:
      StackMap stack:
            aload 3 /* keywordOnlyNames */
            ifnull 20
        19: .line 344
            aload 2 /* parameterNames */
            aload 3 /* keywordOnlyNames */
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            astore 2 /* parameterNames */
        20: .line 346
      StackMap locals:
      StackMap stack:
            new com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation
            dup
            aload 1 /* builtinName */
            aload 2 /* parameterNames */
            invokedynamic apply()Ljava/util/function/IntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Ljava/lang/Object;
                  com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$5(I)[Ljava/lang/String; (6)
                  (I)[Ljava/lang/String;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 4 // javax.lang.model.element.AnnotationMirror annot
        end local 3 // java.util.stream.Stream keywordOnlyNames
        end local 2 // java.util.stream.Stream parameterNames
        end local 1 // java.lang.String builtinName
        end local 0 // javax.lang.model.element.TypeElement type
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              type  Ljavax/lang/model/element/TypeElement;
            1   21     1       builtinName  Ljava/lang/String;
            2   21     2    parameterNames  Ljava/util/stream/Stream<*>;
            3   21     3  keywordOnlyNames  Ljava/util/stream/Stream<*>;
            4   21     4             annot  Ljavax/lang/model/element/AnnotationMirror;
            7   15     5              item  Ljava/util/Map$Entry<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
    Exceptions:
      throws com.oracle.graal.python.processor.ProcessingError
    MethodParameters:
      Name  Flags
      type  

  private static com.oracle.graal.python.processor.ProcessingError error(javax.lang.model.element.Element, java.lang.String, java.lang.Object[]);
    descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // javax.lang.model.element.Element element
        start local 1 // java.lang.String fmt
        start local 2 // java.lang.Object[] args
         0: .line 350
            new com.oracle.graal.python.processor.ProcessingError
            dup
            aload 0 /* element */
            aload 1 /* fmt */
            aload 2 /* args */
            invokespecial com.oracle.graal.python.processor.ProcessingError.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String fmt
        end local 0 // javax.lang.model.element.Element element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  element  Ljavax/lang/model/element/Element;
            0    1     1      fmt  Ljava/lang/String;
            0    1     2     args  [Ljava/lang/Object;
    Exceptions:
      throws com.oracle.graal.python.processor.ProcessingError
    MethodParameters:
         Name  Flags
      element  
      fmt      
      args     

  private void log(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
        start local 1 // java.lang.String fmt
        start local 2 // java.lang.Object[] args
         0: .line 358
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String fmt
        end local 0 // com.oracle.graal.python.processor.ArgumentClinicProcessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
            0    1     1   fmt  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      fmt   
      args  

  private static java.lang.String getPackage(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.lang.model.element.TypeElement type
         0: .line 361
            aload 0 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getPackage:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // javax.lang.model.element.TypeElement type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String getPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String qname
         0: .line 365
            aload 0 /* qname */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 366
            getstatic com.oracle.graal.python.processor.ArgumentClinicProcessor.$assertionsDisabled:Z
            ifne 2
            iload 1 /* idx */
            ifgt 2
            new java.lang.AssertionError
            dup
            aload 0 /* qname */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 367
      StackMap locals: int
      StackMap stack:
            aload 0 /* qname */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String qname
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  qname  Ljava/lang/String;
            1    3     1    idx  I
    MethodParameters:
       Name  Flags
      qname  

  private static java.util.Set lambda$0(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.lang.model.element.TypeElement k
         0: .line 249
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
        end local 0 // javax.lang.model.element.TypeElement k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  Ljavax/lang/model/element/TypeElement;

  private static boolean lambda$1(java.lang.String, com.oracle.graal.python.annotations.ArgumentClinic);
    descriptor: (Ljava/lang/String;Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // com.oracle.graal.python.annotations.ArgumentClinic x
         0: .line 268
            aload 1 /* x */
            invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.name:()Ljava/lang/String;
            aload 0
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.oracle.graal.python.annotations.ArgumentClinic x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     x  Lcom/oracle/graal/python/annotations/ArgumentClinic;

  private static javax.lang.model.element.AnnotationMirror lambda$2(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object av
         0: .line 279
            aload 0 /* av */
            checkcast javax.lang.model.element.AnnotationValue
            invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
            checkcast javax.lang.model.element.AnnotationMirror
            areturn
        end local 0 // java.lang.Object av
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    av  Ljava/lang/Object;

  private static java.lang.String[] lambda$5(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ArgumentClinicProcessor.java"
InnerClasses:
  public final PrimitiveType = com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType of com.oracle.graal.python.annotations.ArgumentClinic
  final ArgumentClinicData = com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData of com.oracle.graal.python.processor.ArgumentClinicModel
  public final BuiltinAnnotation = com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation of com.oracle.graal.python.processor.ArgumentClinicModel
  final BuiltinClinicData = com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData of com.oracle.graal.python.processor.ArgumentClinicModel
  public final Block = com.oracle.graal.python.processor.CodeWriter$Block of com.oracle.graal.python.processor.CodeWriter
  public final LineBuilder = com.oracle.graal.python.processor.CodeWriter$LineBuilder of com.oracle.graal.python.processor.CodeWriter
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic