public class com.oracle.truffle.dsl.processor.TruffleProcessor extends javax.annotation.processing.AbstractProcessor implements com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.TruffleProcessor
super_class: javax.annotation.processing.AbstractProcessor
{
private final java.util.Map<java.lang.String, java.util.Map<java.lang.String, javax.lang.model.element.Element>> serviceRegistrations;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;>;
private final java.lang.ThreadLocal<java.util.List<com.oracle.truffle.dsl.processor.AnnotationProcessor<?>>> currentProcessors;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/util/List<Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
1: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
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 0: invokestatic javax.lang.model.SourceVersion.latest:()Ljavax/lang/model/SourceVersion;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
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=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 0
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;
pop
1: aload 2
invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
ifeq 10
2: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 4: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Map
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.generateServicesRegistration:(Ljava/lang/String;Ljava/util/Map;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
7: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
8: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
9: iconst_1
ireturn
10: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment
StackMap stack:
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.createGenerators:()Ljava/util/List;
astore 3
start local 3 11: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
aload 3
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
12: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 58
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List top java.util.Iterator
StackMap stack:
13: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.AnnotationProcessor
astore 4
start local 4 14: aload 4
invokevirtual com.oracle.truffle.dsl.processor.AnnotationProcessor.getParser:()Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;
astore 6
start local 6 15: aload 6
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
ifnull 26
16: aload 2
aload 6
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 19
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser top java.util.Iterator
StackMap stack:
17: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 7
start local 7 18: aload 4
aload 7
iconst_0
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.processElement:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljavax/lang/model/element/Element;Z)V
end local 7 19: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 6
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getRepeatAnnotationType:()Ljavax/lang/model/type/DeclaredType;
astore 7
start local 7 21: aload 7
ifnull 26
22: aload 2
aload 7
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser javax.lang.model.type.DeclaredType top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 8
start local 8 24: aload 4
aload 8
iconst_0
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.processElement:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljavax/lang/model/element/Element;Z)V
end local 8 25: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
end local 7 26: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getTypeDelegatedAnnotationTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 36
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser top java.util.Iterator
StackMap stack:
27: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.DeclaredType
astore 7
start local 7 28: aload 2
aload 7
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 35
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser javax.lang.model.type.DeclaredType java.util.Iterator top java.util.Iterator
StackMap stack:
29: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 9
start local 9 30: aload 6
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.isDelegateToRootDeclaredType:()Z
ifeq 33
31: aload 9
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findRootEnclosingType:(Ljavax/lang/model/element/Element;)Ljava/util/Optional;
astore 11
start local 11 32: goto 34
end local 11 33: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser javax.lang.model.type.DeclaredType java.util.Iterator javax.lang.model.element.Element java.util.Iterator
StackMap stack:
aload 9
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findParentEnclosingType:(Ljavax/lang/model/element/Element;)Ljava/util/Optional;
astore 11
start local 11 34: StackMap locals: java.util.Optional
StackMap stack:
aload 4
aload 11
invokedynamic get()Ljava/util/function/Supplier;
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;
java/lang/AssertionError.<init>()V (8)
()Ljava/lang/AssertionError;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast javax.lang.model.element.Element
iconst_0
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.processElement:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljavax/lang/model/element/Element;Z)V
end local 11 end local 9 35: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser javax.lang.model.type.DeclaredType java.util.Iterator top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
end local 7 36: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
37: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 48
StackMap locals:
StackMap stack:
38: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.AnnotationProcessor
astore 7
start local 7 39: aload 7
invokevirtual com.oracle.truffle.dsl.processor.AnnotationProcessor.getServiceRegistrations:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 47
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator top java.util.Iterator
StackMap stack:
40: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 41: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 11
start local 11 42: aload 11
ifnonnull 46
43: new java.util.LinkedHashMap
dup
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Map
invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
astore 11
44: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
45: goto 47
46: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator java.util.Map$Entry java.util.Iterator java.util.Map
StackMap stack:
aload 11
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
end local 11 end local 9 47: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 7 48: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
49: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.serviceRegistrations:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 57
StackMap locals:
StackMap stack:
50: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 51: aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 52: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 56
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser java.util.Map$Entry java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
53: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 10
start local 10 54: aload 10
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.shouldGenerateProviderFiles:(Ljavax/lang/model/element/Element;)Z
ifeq 56
55: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 10
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 9
iconst_1
anewarray javax.lang.model.element.Element
dup
iconst_0
aload 10
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
aastore
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.generateProviderFile:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/String;Ljava/lang/String;[Ljavax/lang/model/element/Element;)V
end local 10 56: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
end local 9 end local 7 57: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List com.oracle.truffle.dsl.processor.AnnotationProcessor java.util.Iterator com.oracle.truffle.dsl.processor.parser.AbstractParser top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
end local 6 end local 4 58: StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 3 59: goto 64
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor java.util.Set javax.annotation.processing.RoundEnvironment
StackMap stack: java.lang.Throwable
60: astore 12
61: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
62: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
63: aload 12
athrow
64: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
65: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
66: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
0 67 1 annotations Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 67 2 roundEnv Ljavax/annotation/processing/RoundEnvironment;
4 5 3 element Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;>;
11 59 3 processors Ljava/util/List<Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;>;
14 58 4 generator Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
15 58 6 parser Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<*>;
18 19 7 e Ljavax/lang/model/element/Element;
21 26 7 repeat Ljavax/lang/model/type/DeclaredType;
24 25 8 e Ljavax/lang/model/element/Element;
28 36 7 annotationType Ljavax/lang/model/type/DeclaredType;
30 35 9 e Ljavax/lang/model/element/Element;
32 33 11 processedType Ljava/util/Optional<Ljavax/lang/model/element/TypeElement;>;
34 35 11 processedType Ljava/util/Optional<Ljavax/lang/model/element/TypeElement;>;
39 48 7 processor Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
41 47 9 element Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;>;
42 47 11 currentElements Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;
51 57 7 element Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;>;
52 57 9 service Ljava/lang/String;
54 56 10 serviceElement Ljava/util/Map$Entry<Ljava/lang/String;Ljavax/lang/model/element/Element;>;
Exception table:
from to target type
0 7 60 any
10 60 60 any
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
annotations
roundEnv
private static void processElement(com.oracle.truffle.dsl.processor.AnnotationProcessor<?>, javax.lang.model.element.Element, );
descriptor: (Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljavax/lang/model/element/Element;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.dsl.processor.AnnotationProcessor.process:(Ljavax/lang/model/element/Element;Z)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 0
aload 3
aload 1
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.handleThrowable:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 generator Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
0 5 1 e Ljavax/lang/model/element/Element;
0 5 2 callback Z
3 4 3 e1 Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;Ljavax/lang/model/element/Element;Z)V
MethodParameters:
Name Flags
generator
e
callback
static void handleThrowable(com.oracle.truffle.dsl.processor.AnnotationProcessor<?>, java.lang.Throwable, javax.lang.model.element.Element);
descriptor: (Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "Uncaught error in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
ifnull 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: aconst_null
StackMap locals: com.oracle.truffle.dsl.processor.AnnotationProcessor java.lang.Throwable javax.lang.model.element.Element
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " while processing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 3: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
new java.lang.StringBuilder
dup
aload 3
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 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.printException:(Ljava/lang/Throwable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 generator Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
0 5 1 t Ljava/lang/Throwable;
0 5 2 e Ljavax/lang/model/element/Element;
3 5 3 message Ljava/lang/String;
Signature: (Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
MethodParameters:
Name Flags
generator
t
e
public java.util.Set<java.lang.String> getSupportedOptions();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.dsl.processor.TruffleProcessorOptions.getSupportedOptions:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public void callback(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.TruffleProcessor.currentProcessors:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.oracle.truffle.dsl.processor.TruffleProcessor javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.AnnotationProcessor
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.AnnotationProcessor.getParser:()Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
astore 4
start local 4 3: aload 4
ifnull 7
4: aload 1
aload 4
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findAnnotationMirror:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 5
start local 5 5: aload 5
ifnull 7
6: aload 2
aload 1
iconst_1
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessor.processElement:(Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljavax/lang/model/element/Element;Z)V
end local 5 end local 4 end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
0 9 1 template Ljavax/lang/model/element/TypeElement;
2 7 2 generator Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
3 7 4 annotationType Ljavax/lang/model/type/DeclaredType;
5 7 5 annotation Ljavax/lang/model/element/AnnotationMirror;
MethodParameters:
Name Flags
template
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 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 1
ldc "com.oracle.truffle.api.dsl.Specialization"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 1
ldc "com.oracle.truffle.api.dsl.Fallback"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 1
ldc "com.oracle.truffle.api.dsl.TypeSystemReference"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 1
ldc "com.oracle.truffle.api.dsl.Executed"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 1
ldc "com.oracle.truffle.api.dsl.NodeChild"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: aload 1
ldc "com.oracle.truffle.api.dsl.NodeChildren"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 1
ldc "com.oracle.truffle.api.dsl.TypeSystem"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: aload 1
ldc "com.oracle.truffle.api.library.GenerateLibrary"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: aload 1
ldc "com.oracle.truffle.api.library.ExportLibrary"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: aload 1
ldc "com.oracle.truffle.api.library.ExportMessage"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 1
ldc "com.oracle.truffle.api.library.ExportLibrary.Repeat"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
1 13 1 annotations Ljava/util/Set<Ljava/lang/String;>;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
private static java.util.List<com.oracle.truffle.dsl.processor.AnnotationProcessor<?>> createGenerators();
descriptor: ()Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: aload 0
new com.oracle.truffle.dsl.processor.AnnotationProcessor
dup
new com.oracle.truffle.dsl.processor.parser.TypeSystemParser
dup
invokespecial com.oracle.truffle.dsl.processor.parser.TypeSystemParser.<init>:()V
new com.oracle.truffle.dsl.processor.generator.TypeSystemCodeGenerator
dup
invokespecial com.oracle.truffle.dsl.processor.generator.TypeSystemCodeGenerator.<init>:()V
invokespecial com.oracle.truffle.dsl.processor.AnnotationProcessor.<init>:(Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
new com.oracle.truffle.dsl.processor.AnnotationProcessor
dup
invokestatic com.oracle.truffle.dsl.processor.parser.NodeParser.createDefaultParser:()Lcom/oracle/truffle/dsl/processor/parser/NodeParser;
new com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator
dup
invokespecial com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.<init>:()V
invokespecial com.oracle.truffle.dsl.processor.AnnotationProcessor.<init>:(Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
new com.oracle.truffle.dsl.processor.AnnotationProcessor
dup
new com.oracle.truffle.dsl.processor.library.LibraryParser
dup
invokespecial com.oracle.truffle.dsl.processor.library.LibraryParser.<init>:()V
new com.oracle.truffle.dsl.processor.library.LibraryGenerator
dup
invokespecial com.oracle.truffle.dsl.processor.library.LibraryGenerator.<init>:()V
invokespecial com.oracle.truffle.dsl.processor.AnnotationProcessor.<init>:(Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
new com.oracle.truffle.dsl.processor.AnnotationProcessor
dup
new com.oracle.truffle.dsl.processor.library.ExportsParser
dup
invokespecial com.oracle.truffle.dsl.processor.library.ExportsParser.<init>:()V
new com.oracle.truffle.dsl.processor.library.ExportsGenerator
dup
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
invokespecial com.oracle.truffle.dsl.processor.library.ExportsGenerator.<init>:(Ljava/util/Map;)V
invokespecial com.oracle.truffle.dsl.processor.AnnotationProcessor.<init>:(Lcom/oracle/truffle/dsl/processor/parser/AbstractParser;Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 generators Ljava/util/List<Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;>;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;>;
public synchronized void init(javax.annotation.processing.ProcessingEnvironment);
descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.TruffleProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
1: aload 0
aload 1
invokespecial javax.annotation.processing.AbstractProcessor.init:(Ljavax/annotation/processing/ProcessingEnvironment;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/TruffleProcessor;
0 3 1 env Ljavax/annotation/processing/ProcessingEnvironment;
MethodParameters:
Name Flags
env
}
SourceFile: "TruffleProcessor.java"
InnerClasses:
public abstract ProcessCallback = com.oracle.truffle.dsl.processor.ProcessorContext$ProcessCallback of com.oracle.truffle.dsl.processor.ProcessorContext
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