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: 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 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
3: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
4: aload 0
aload 2
putfield com.oracle.truffle.dsl.processor.ProcessorContext.callback:Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
5: 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
start local 3 8: aload 0
new com.oracle.truffle.dsl.processor.Log
dup
aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
iload 3
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: return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
areturn
end local 0 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 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.log:Lcom/oracle/truffle/dsl/processor/Log;
areturn
end local 0 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 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
areturn
end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
aload 1
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 end local 0 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 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Template
astore 4
start local 4 2: aload 4
ifnonnull 5
iload 2
ifeq 5
3: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.callback:Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;
aload 1
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: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.models:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Template
astore 4
5: StackMap locals: java.lang.String com.oracle.truffle.dsl.processor.model.Template
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
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 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.DeclaredType
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: 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
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: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.DeclaredType
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
aload 0
aload 2
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 end local 1 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
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 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getDeclaredType:(Ljava/lang/Class;)Ljavax/lang/model/type/DeclaredType;
astore 2
start local 2 1: aload 2
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
areturn
end local 1 end local 0 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 start local 1 0: aload 0
aload 1
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 end local 0 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.environment:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
areturn
3: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
ifeq 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 0
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
start local 2 5: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 1
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: StackMap locals: javax.lang.model.util.Types
StackMap stack:
aload 2
aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 2
aload 1
checkcast javax.lang.model.type.WildcardType
invokeinterface javax.lang.model.type.WildcardType.getExtendsBound:()Ljavax/lang/model/type/TypeMirror;
aload 1
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: StackMap locals:
StackMap stack:
aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 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 start local 1 0: new com.oracle.truffle.dsl.processor.ProcessorContext
dup
aload 0
aload 1
invokespecial com.oracle.truffle.dsl.processor.ProcessorContext.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Lcom/oracle/truffle/dsl/processor/ProcessorContext$ProcessCallback;)V
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.setThreadLocalInstance:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 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 0: aload 0
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 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: getstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: 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 0: getstatic com.oracle.truffle.dsl.processor.ProcessorContext.instance:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: aload 0
ifnull 7
aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
ifnonnull 7
2: aload 0
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: goto 7
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
4: astore 1
start local 1 5: aconst_null
aload 1
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: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 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: 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 0: iconst_3
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 0
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
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
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 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 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
3: aload 0
getfield com.oracle.truffle.dsl.processor.ProcessorContext.caches:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.Map
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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: 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