public class com.oracle.truffle.dsl.processor.ProcessorContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.dsl.processor.ProcessorContext
  super_class: java.lang.Object
{
  private final javax.annotation.processing.ProcessingEnvironment environment;
    descriptor: Ljavax/annotation/processing/ProcessingEnvironment;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, com.oracle.truffle.dsl.processor.model.Template> models;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/model/Template;>;

  private final com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback callback;
    descriptor: Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.dsl.processor.Log log;
    descriptor: Lcom/oracle/truffle/dsl/processor/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.truffle.dsl.processor.TruffleTypes types;
    descriptor: Lcom/oracle/truffle/dsl/processor/TruffleTypes;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.ThreadLocal<com.oracle.truffle.dsl.processor.ProcessorContext> instance;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lcom/oracle/truffle/dsl/processor/ProcessorContext;>;

  private final java.util.Map<java.lang.Class<?>, java.util.Map<?, ?>> caches;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/Map<**>;>;

  private static volatile int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 184
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.annotation.processing.ProcessingEnvironment, com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.annotation.processing.ProcessingEnvironment env
        start local 2 // com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback callback
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
         2: .line 220
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
         3: .line 74
            aload 0 /* this */
            aload 1 /* env */
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
         4: .line 75
            aload 0 /* this */
            aload 2 /* callback */
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.callback:Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
         5: .line 76
            ldc "truffle.dsl.ignoreCompilerWarnings"
            ldc "false"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* emitWarnings */
        start local 3 // boolean emitWarnings
         8: .line 77
            aload 0 /* this */
            new com.oracle.truffle.dsl.processor.Log
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            iload 3 /* emitWarnings */
            invokespecial com.oracle.truffle.dsl.processor.Log.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Z)V
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.log:Lcom/oracle/truffle/dsl/processor/Log;
         9: .line 78
            return
        end local 3 // boolean emitWarnings
        end local 2 // com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback callback
        end local 1 // javax.annotation.processing.ProcessingEnvironment env
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0   10     1           env  Ljavax/annotation/processing/ProcessingEnvironment;
            0   10     2      callback  Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
            8   10     3  emitWarnings  Z
    MethodParameters:
          Name  Flags
      env       
      callback  

  public com.oracle.truffle.dsl.processor.TruffleTypes getTypes();
    descriptor: ()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
         0: .line 81
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;

  public com.oracle.truffle.dsl.processor.Log getLog();
    descriptor: ()Lcom/oracle/truffle/dsl/processor/Log;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
         0: .line 85
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.log:Lcom/oracle/truffle/dsl/processor/Log;
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;

  public javax.annotation.processing.ProcessingEnvironment getEnvironment();
    descriptor: ()Ljavax/annotation/processing/ProcessingEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
         0: .line 89
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;

  public boolean containsTemplate(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.element.TypeElement element
         0: .line 93
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // javax.lang.model.element.TypeElement element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1  element  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
         Name  Flags
      element  

  public void registerTemplate(javax.lang.model.element.TypeElement, com.oracle.truffle.dsl.processor.model.Template);
    descriptor: (Ljavax/lang/model/element/TypeElement;Lcom/oracle/truffle/dsl/processor/model/Template;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.element.TypeElement element
        start local 2 // com.oracle.truffle.dsl.processor.model.Template model
         0: .line 97
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
            aload 2 /* model */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 98
            return
        end local 2 // com.oracle.truffle.dsl.processor.model.Template model
        end local 1 // javax.lang.model.element.TypeElement element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    2     1  element  Ljavax/lang/model/element/TypeElement;
            0    2     2    model  Lcom/oracle/truffle/dsl/processor/model/Template;
    MethodParameters:
         Name  Flags
      element  
      model    

  public com.oracle.truffle.dsl.processor.model.Template getTemplate(javax.lang.model.type.TypeMirror, boolean);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Z)Lcom/oracle/truffle/dsl/processor/model/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.type.TypeMirror templateTypeMirror
        start local 2 // boolean invokeCallback
         0: .line 101
            aload 1 /* templateTypeMirror */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
            astore 3 /* qualifiedName */
        start local 3 // java.lang.String qualifiedName
         1: .line 102
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
            aload 3 /* qualifiedName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.dsl.processor.model.Template
            astore 4 /* model */
        start local 4 // com.oracle.truffle.dsl.processor.model.Template model
         2: .line 103
            aload 4 /* model */
            ifnonnull 5
            iload 2 /* invokeCallback */
            ifeq 5
         3: .line 104
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.callback:Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
            aload 1 /* templateTypeMirror */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.fromTypeMirror:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
            invokeinterface com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback.callback:(Ljavax/lang/model/element/TypeElement;)V
         4: .line 105
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
            aload 3 /* qualifiedName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.dsl.processor.model.Template
            astore 4 /* model */
         5: .line 107
      StackMap locals: java.lang.String com.oracle.truffle.dsl.processor.model.Template
      StackMap stack:
            aload 4 /* model */
            areturn
        end local 4 // com.oracle.truffle.dsl.processor.model.Template model
        end local 3 // java.lang.String qualifiedName
        end local 2 // boolean invokeCallback
        end local 1 // javax.lang.model.type.TypeMirror templateTypeMirror
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    6     1  templateTypeMirror  Ljavax/lang/model/type/TypeMirror;
            0    6     2      invokeCallback  Z
            1    6     3       qualifiedName  Ljava/lang/String;
            2    6     4               model  Lcom/oracle/truffle/dsl/processor/model/Template;
    MethodParameters:
                    Name  Flags
      templateTypeMirror  
      invokeCallback      

  public javax.lang.model.type.DeclaredType getDeclaredType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljavax/lang/model/type/DeclaredType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.Class element
         0: .line 111
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getType:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            areturn
        end local 1 // java.lang.Class element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1  element  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljavax/lang/model/type/DeclaredType;
    MethodParameters:
         Name  Flags
      element  

  public javax.lang.model.type.DeclaredType getDeclaredTypeOptional(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/lang/model/type/DeclaredType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.String element
         0: .line 115
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 2 /* type */
        start local 2 // javax.lang.model.element.TypeElement type
         1: .line 116
            aload 2 /* type */
            ifnonnull 3
         2: .line 117
            aconst_null
            areturn
         3: .line 119
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 2 /* type */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            areturn
        end local 2 // javax.lang.model.element.TypeElement type
        end local 1 // java.lang.String element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    4     1  element  Ljava/lang/String;
            1    4     2     type  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
         Name  Flags
      element  

  public javax.lang.model.type.DeclaredType getDeclaredType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/lang/model/type/DeclaredType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.String element
         0: .line 123
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 2 /* type */
        start local 2 // javax.lang.model.element.TypeElement type
         1: .line 124
            aload 2 /* type */
            ifnonnull 3
         2: .line 125
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Processor requested type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but was not on the classpath."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 127
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 2 /* type */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            checkcast javax.lang.model.type.DeclaredType
            areturn
        end local 2 // javax.lang.model.element.TypeElement type
        end local 1 // java.lang.String element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    4     1  element  Ljava/lang/String;
            1    4     2     type  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
         Name  Flags
      element  

  public boolean isType(javax.lang.model.type.TypeMirror, java.lang.Class<?>);
    descriptor: (Ljavax/lang/model/type/TypeMirror;Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.type.TypeMirror type
        start local 2 // java.lang.Class clazz
         0: .line 131
            aload 1 /* type */
            aload 0 /* this */
            aload 2 /* clazz */
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
            ireturn
        end local 2 // java.lang.Class clazz
        end local 1 // javax.lang.model.type.TypeMirror type
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1   type  Ljavax/lang/model/type/TypeMirror;
            0    1     2  clazz  Ljava/lang/Class<*>;
    Signature: (Ljavax/lang/model/type/TypeMirror;Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      type   
      clazz  

  public javax.lang.model.type.TypeMirror getType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.Class element
         0: .line 135
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 1 /* element */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getType:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
            areturn
        end local 1 // java.lang.Class element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1  element  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
         Name  Flags
      element  

  public javax.lang.model.element.TypeElement getTypeElement(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljavax/lang/model/element/TypeElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.Class element
         0: .line 139
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getDeclaredType:(Ljava/lang/Class;)Ljavax/lang/model/type/DeclaredType;
            astore 2 /* type */
        start local 2 // javax.lang.model.type.DeclaredType type
         1: .line 140
            aload 2 /* type */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            areturn
        end local 2 // javax.lang.model.type.DeclaredType type
        end local 1 // java.lang.Class element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    2     1  element  Ljava/lang/Class<*>;
            1    2     2     type  Ljavax/lang/model/type/DeclaredType;
    Signature: (Ljava/lang/Class<*>;)Ljavax/lang/model/element/TypeElement;
    MethodParameters:
         Name  Flags
      element  

  public javax.lang.model.element.TypeElement getTypeElement(javax.lang.model.type.DeclaredType);
    descriptor: (Ljavax/lang/model/type/DeclaredType;)Ljavax/lang/model/element/TypeElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.type.DeclaredType element
         0: .line 144
            aload 1 /* element */
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            areturn
        end local 1 // javax.lang.model.type.DeclaredType element
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1  element  Ljavax/lang/model/type/DeclaredType;
    MethodParameters:
         Name  Flags
      element  

  public javax.lang.model.type.TypeMirror reloadTypeElement(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.element.TypeElement type
         0: .line 154
            aload 0 /* this */
            aload 1 /* type */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
            areturn
        end local 1 // javax.lang.model.element.TypeElement type
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    1     1  type  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
      Name  Flags
      type  

  private javax.lang.model.type.TypeMirror getType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.String className
         0: .line 158
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
            aload 1 /* className */
            invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 2 /* element */
        start local 2 // javax.lang.model.element.TypeElement element
         1: .line 159
            aload 2 /* element */
            ifnull 3
         2: .line 160
            aload 2 /* element */
            invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
            areturn
         3: .line 162
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.lang.model.element.TypeElement element
        end local 1 // java.lang.String className
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    4     1  className  Ljava/lang/String;
            1    4     2    element  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
           Name  Flags
      className  

  public javax.lang.model.type.TypeMirror reloadType(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // javax.lang.model.type.TypeMirror type
         0: .line 166
            aload 1 /* type */
            instanceof com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror
            ifeq 2
         1: .line 167
            aload 1 /* type */
            areturn
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
            ifeq 4
         3: .line 169
            aload 1 /* type */
            areturn
         4: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
            invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
            astore 2 /* typesUtils */
        start local 2 // javax.lang.model.util.Types typesUtils
         5: .line 173
            invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
            aload 1 /* type */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iaload
            tableswitch { // 12 - 16
                   12: 6
                   13: 8
                   14: 9
                   15: 9
                   16: 7
              default: 9
          }
         6: .line 175
      StackMap locals: javax.lang.model.util.Types
      StackMap stack:
            aload 2 /* typesUtils */
            aload 0 /* this */
            aload 1 /* type */
            checkcast javax.lang.model.type.ArrayType
            invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.reloadType:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.getArrayType:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/ArrayType;
            areturn
         7: .line 177
      StackMap locals:
      StackMap stack:
            aload 2 /* typesUtils */
            aload 1 /* type */
            checkcast javax.lang.model.type.WildcardType
            invokeinterface javax.lang.model.type.WildcardType.getExtendsBound:()Ljavax/lang/model/type/TypeMirror;
            aload 1 /* type */
            checkcast javax.lang.model.type.WildcardType
            invokeinterface javax.lang.model.type.WildcardType.getSuperBound:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.util.Types.getWildcardType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/WildcardType;
            areturn
         8: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            checkcast javax.lang.model.type.DeclaredType
            invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
            checkcast javax.lang.model.element.TypeElement
            invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.reloadTypeElement:(Ljavax/lang/model/element/TypeElement;)Ljavax/lang/model/type/TypeMirror;
            areturn
         9: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            areturn
        end local 2 // javax.lang.model.util.Types typesUtils
        end local 1 // javax.lang.model.type.TypeMirror type
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0   10     1        type  Ljavax/lang/model/type/TypeMirror;
            5   10     2  typesUtils  Ljavax/lang/model/util/Types;
    MethodParameters:
      Name  Flags
      type  

  public static com.oracle.truffle.dsl.processor.ProcessorContext enter(javax.annotation.processing.ProcessingEnvironment, com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;)Lcom/oracle/truffle/dsl/processor/ProcessorContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.annotation.processing.ProcessingEnvironment environment
        start local 1 // com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback callback
         0: .line 187
            new com.oracle.truffle.dsl.processor.ProcessorContext
            dup
            aload 0 /* environment */
            aload 1 /* callback */
            invokespecial com.oracle.truffle.dsl.processor.ProcessorContext.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;)V
            astore 2 /* context */
        start local 2 // com.oracle.truffle.dsl.processor.ProcessorContext context
         1: .line 188
            aload 2 /* context */
            invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.setThreadLocalInstance:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;)V
         2: .line 189
            aload 2 /* context */
            areturn
        end local 2 // com.oracle.truffle.dsl.processor.ProcessorContext context
        end local 1 // com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback callback
        end local 0 // javax.annotation.processing.ProcessingEnvironment environment
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  environment  Ljavax/annotation/processing/ProcessingEnvironment;
            0    3     1     callback  Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
            1    3     2      context  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
    MethodParameters:
             Name  Flags
      environment  
      callback     

  public static com.oracle.truffle.dsl.processor.ProcessorContext enter(javax.annotation.processing.ProcessingEnvironment);
    descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;)Lcom/oracle/truffle/dsl/processor/ProcessorContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.annotation.processing.ProcessingEnvironment environment
         0: .line 193
            aload 0 /* environment */
            aconst_null
            invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.enter:(Ljavax/annotation/processing/ProcessingEnvironment;Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;)Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            areturn
        end local 0 // javax.annotation.processing.ProcessingEnvironment environment
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  environment  Ljavax/annotation/processing/ProcessingEnvironment;
    MethodParameters:
             Name  Flags
      environment  

  public static void leave();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 197
            getstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 198
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void setThreadLocalInstance(com.oracle.truffle.dsl.processor.ProcessorContext);
    descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext context
         0: .line 201
            getstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
            aload 0 /* context */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 202
            aload 0 /* context */
            ifnull 7
            aload 0 /* context */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
            ifnonnull 7
         2: .line 204
            aload 0 /* context */
            new com.oracle.truffle.dsl.processor.TruffleTypes
            dup
            invokespecial com.oracle.truffle.dsl.processor.TruffleTypes.<init>:()V
            putfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
         3: .line 205
            goto 7
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: astore 1 /* e */
        start local 1 // java.lang.IllegalArgumentException e
         5: .line 206
            aconst_null
            aload 1 /* e */
            aconst_null
            invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.handleThrowable:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
         6: .line 207
            aload 1 /* e */
            athrow
        end local 1 // java.lang.IllegalArgumentException e
         7: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            5    7     1        e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
         Name  Flags
      context  

  public static com.oracle.truffle.dsl.processor.ProcessorContext getInstance();
    descriptor: ()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 213
            getstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.dsl.processor.ProcessorContext
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.List<javax.lang.model.type.TypeMirror> getFrameTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
         0: .line 217
            iconst_3
            anewarray javax.lang.model.type.TypeMirror
            dup
            iconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
            getfield com.oracle.truffle.dsl.processor.TruffleTypes.VirtualFrame:Ljavax/lang/model/type/DeclaredType;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
            getfield com.oracle.truffle.dsl.processor.TruffleTypes.MaterializedFrame:Ljavax/lang/model/type/DeclaredType;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
            getfield com.oracle.truffle.dsl.processor.TruffleTypes.Frame:Ljavax/lang/model/type/DeclaredType;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
    Signature: ()Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;

  public <K, V> java.util.Map<K, V> getCacheMap(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
        start local 1 // java.lang.Class key
         0: .line 224
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* cacheMap */
        start local 2 // java.util.Map cacheMap
         1: .line 225
            aload 2 /* cacheMap */
            ifnonnull 4
         2: .line 226
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* cacheMap */
         3: .line 227
            aload 0 /* this */
            getfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* cacheMap */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 229
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2 /* cacheMap */
            areturn
        end local 2 // java.util.Map cacheMap
        end local 1 // java.lang.Class key
        end local 0 // com.oracle.truffle.dsl.processor.ProcessorContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/oracle/truffle/dsl/processor/ProcessorContext;
            0    5     1       key  Ljava/lang/Class<*>;
            1    5     2  cacheMap  Ljava/util/Map<**>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<*>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      key   

  static int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 63
            getstatic com.oracle.truffle.dsl.processor.ProcessorContext.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.lang.model.type.TypeKind.values:()[Ljavax/lang/model/type/TypeKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 12
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.lang.model.type.TypeKind.BOOLEAN:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.lang.model.type.TypeKind.BYTE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.lang.model.type.TypeKind.CHAR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 13
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 8
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.lang.model.type.TypeKind.ERROR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 14
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.lang.model.type.TypeKind.EXECUTABLE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 18
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.lang.model.type.TypeKind.FLOAT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 7
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.lang.model.type.TypeKind.INT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_4
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 21
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_5
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.lang.model.type.TypeKind.MODULE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 22
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic javax.lang.model.type.TypeKind.NONE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 10
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 11
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic javax.lang.model.type.TypeKind.OTHER:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 19
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic javax.lang.model.type.TypeKind.PACKAGE:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 17
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic javax.lang.model.type.TypeKind.SHORT:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            iconst_3
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 15
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic javax.lang.model.type.TypeKind.UNION:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 20
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 9
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic javax.lang.model.type.TypeKind.WILDCARD:Ljavax/lang/model/type/TypeKind;
            invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
            bipush 16
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            dup
            putstatic com.oracle.truffle.dsl.processor.ProcessorContext.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
}
SourceFile: "ProcessorContext.java"
NestMembers:
  com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback
InnerClasses:
  public abstract ProcessCallback = com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback of com.oracle.truffle.dsl.processor.ProcessorContext