abstract class com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor extends javax.annotation.processing.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor
super_class: javax.annotation.processing.AbstractProcessor
{
private final java.util.Map<java.lang.String, javax.lang.model.element.Element> registrations;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;
private final java.util.List<javax.lang.model.element.TypeElement> legacyRegistrations;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljavax/lang/model/element/TypeElement;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
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.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.registrations:Ljava/util/Map;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.legacyRegistrations:Ljava/util/List;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
public final javax.lang.model.SourceVersion getSupportedSourceVersion();
descriptor: ()Ljavax/lang/model/SourceVersion;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
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/AbstractRegistrationProcessor;
public final 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: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.enter:(Ljavax/annotation/processing/ProcessingEnvironment;)Lcom/oracle/truffle/dsl/processor/ProcessorContext;
pop
1: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.getProviderClass:()Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypeElement:(Ljavax/lang/model/type/DeclaredType;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.util.Elements.getBinaryName:(Ljavax/lang/model/element/TypeElement;)Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 2
invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
ifeq 10
4: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.registrations:Ljava/util/Map;
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.generateServicesRegistration:(Ljava/lang/String;Ljava/util/Map;)V
5: aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.legacyRegistrations:Ljava/util/List;
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.generateLegacyRegistration:(Ljava/util/List;)V
6: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.registrations:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
7: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.legacyRegistrations:Ljava/util/List;
invokeinterface java.util.List.clear:()V
8: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
9: iconst_1
ireturn
10: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext java.lang.String
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljavax/annotation/processing/SupportedAnnotationTypes;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast javax.annotation.processing.SupportedAnnotationTypes
invokeinterface javax.annotation.processing.SupportedAnnotationTypes.value:()[Ljava/lang/String;
astore 5
start local 5 11: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 5
iconst_0
aaload
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 6
start local 6 12: aload 6
ifnonnull 14
13: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot resolve "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: java.lang.String[] javax.lang.model.element.TypeElement
StackMap stack:
aload 2
aload 6
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
astore 7
start local 7 15: aload 7
invokeinterface java.util.Set.isEmpty:()Z
ifne 30
16: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 29
StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext java.lang.String java.lang.String[] javax.lang.model.element.TypeElement java.util.Set top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 8
start local 8 18: aload 8
aload 6
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
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 10
start local 10 19: aload 10
ifnull 29
aload 8
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
if_acmpne 29
20: aload 0
aload 8
aload 10
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.validateRegistration:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Z
ifeq 29
21: aload 8
checkcast javax.lang.model.element.TypeElement
astore 11
start local 11 22: aload 11
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.requiresLegacyRegistration:(Ljavax/lang/model/element/TypeElement;)Z
ifeq 25
23: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.legacyRegistrations:Ljava/util/List;
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: goto 29
25: StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext java.lang.String java.lang.String[] javax.lang.model.element.TypeElement java.util.Set javax.lang.model.element.Element java.util.Iterator javax.lang.model.element.AnnotationMirror javax.lang.model.element.TypeElement
StackMap stack:
aload 0
aload 11
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.generateProvider:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
astore 12
start local 12 26: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.registrations:Ljava/util/Map;
aload 12
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 11
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.shouldGenerateProviderFiles:(Ljavax/lang/model/element/Element;)Z
ifeq 29
28: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 12
aload 4
iconst_1
anewarray javax.lang.model.element.Element
dup
iconst_0
aload 11
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 12 end local 11 end local 10 end local 8 29: StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext java.lang.String java.lang.String[] javax.lang.model.element.TypeElement java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
30: StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext java.lang.String java.lang.String[] javax.lang.model.element.TypeElement java.util.Set
StackMap stack:
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
31: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 32: StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.Set javax.annotation.processing.RoundEnvironment
StackMap stack: java.lang.Throwable
astore 13
33: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
34: aload 13
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 35 1 annotations Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 35 2 roundEnv Ljavax/annotation/processing/RoundEnvironment;
2 32 3 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
3 32 4 providerServiceBinName Ljava/lang/String;
11 32 5 supportedAnnotations [Ljava/lang/String;
12 32 6 supportedAnnotation Ljavax/lang/model/element/TypeElement;
15 32 7 annotatedElements Ljava/util/Set<+Ljavax/lang/model/element/Element;>;
18 29 8 e Ljavax/lang/model/element/Element;
19 29 10 mirror Ljavax/lang/model/element/AnnotationMirror;
22 29 11 annotatedElement Ljavax/lang/model/element/TypeElement;
26 29 12 providerImplBinName Ljava/lang/String;
Exception table:
from to target type
1 8 32 any
10 30 32 any
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
annotations
roundEnv
abstract boolean validateRegistration(javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Z
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
annotatedElement
registrationMirror
abstract javax.lang.model.type.DeclaredType getProviderClass();
descriptor: ()Ljavax/lang/model/type/DeclaredType;
flags: (0x0400) ACC_ABSTRACT
abstract java.lang.Iterable<javax.lang.model.element.AnnotationMirror> getProviderAnnotations(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/Iterable;
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/Iterable<Ljavax/lang/model/element/AnnotationMirror;>;
MethodParameters:
Name Flags
annotatedElement
abstract void implementMethod(javax.lang.model.element.TypeElement, com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement);
descriptor: (Ljavax/lang/model/element/TypeElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
annotatedElement
methodToImplement
abstract java.lang.String getRegistrationFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0400) ACC_ABSTRACT
abstract void storeRegistrations(java.util.Properties, java.lang.Iterable<? extends javax.lang.model.element.TypeElement>);
descriptor: (Ljava/util/Properties;Ljava/lang/Iterable;)V
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljava/util/Properties;Ljava/lang/Iterable<+Ljavax/lang/model/element/TypeElement;>;)V
MethodParameters:
Name Flags
into
annotatedElements
final void assertNoErrorExpected(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.assertNoErrorExpected:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 2 1 e Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
e
final void emitError(java.lang.String, javax.lang.model.element.Element);
descriptor: (Ljava/lang/String;Ljavax/lang/model/element/Element;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 2
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 4 1 msg Ljava/lang/String;
0 4 2 e Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
msg
e
final void emitError(java.lang.String, javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, javax.lang.model.element.AnnotationValue);
descriptor: (Ljava/lang/String;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/AnnotationValue;)V
flags: (0x0010) ACC_FINAL
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 2
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 1
aload 2
aload 3
aload 4
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/AnnotationValue;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 4 1 msg Ljava/lang/String;
0 4 2 e Ljavax/lang/model/element/Element;
0 4 3 mirror Ljavax/lang/model/element/AnnotationMirror;
0 4 4 value Ljavax/lang/model/element/AnnotationValue;
MethodParameters:
Name Flags
msg
e
mirror
value
final void emitWarning(java.lang.String, javax.lang.model.element.Element);
descriptor: (Ljava/lang/String;Ljavax/lang/model/element/Element;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 2
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.WARNING:Ljavax/tools/Diagnostic$Kind;
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 4 1 msg Ljava/lang/String;
0 4 2 e Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
msg
e
final void emitWarning(java.lang.String, javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, javax.lang.model.element.AnnotationValue);
descriptor: (Ljava/lang/String;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/AnnotationValue;)V
flags: (0x0010) ACC_FINAL
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 2
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.WARNING:Ljavax/tools/Diagnostic$Kind;
aload 1
aload 2
aload 3
aload 4
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/AnnotationValue;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 4 1 msg Ljava/lang/String;
0 4 2 e Ljavax/lang/model/element/Element;
0 4 3 mirror Ljavax/lang/model/element/AnnotationMirror;
0 4 4 value Ljavax/lang/model/element/AnnotationValue;
MethodParameters:
Name Flags
msg
e
mirror
value
static javax.lang.model.element.AnnotationMirror copyAnnotations(javax.lang.model.element.AnnotationMirror, java.util.function.Predicate<javax.lang.model.element.ExecutableElement>);
descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljava/util/function/Predicate;)Ljavax/lang/model/element/AnnotationMirror;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
astore 2
start local 2 1: aload 0
invokeinterface javax.lang.model.element.AnnotationMirror.getElementValues:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: javax.lang.model.element.AnnotationMirror java.util.function.Predicate com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 5
start local 5 4: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationValue
astore 6
start local 6 5: aload 1
aload 5
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 7
6: aload 2
aload 5
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.setElementValue:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationValue;)V
end local 6 end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mirror Ljavax/lang/model/element/AnnotationMirror;
0 9 1 filter Ljava/util/function/Predicate<Ljavax/lang/model/element/ExecutableElement;>;
1 9 2 res Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
3 7 3 e Ljava/util/Map$Entry<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
4 7 5 executable Ljavax/lang/model/element/ExecutableElement;
5 7 6 value Ljavax/lang/model/element/AnnotationValue;
Signature: (Ljavax/lang/model/element/AnnotationMirror;Ljava/util/function/Predicate<Ljavax/lang/model/element/ExecutableElement;>;)Ljavax/lang/model/element/AnnotationMirror;
MethodParameters:
Name Flags
mirror
filter
private static boolean requiresLegacyRegistration(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.TypeElement.getAnnotationMirrors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 1
start local 1 2: aload 1
invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
astore 3
start local 3 3: ldc "GenerateLegacyRegistration"
aload 3
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
ifeq 5
4: iconst_1
ireturn
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 annotatedElement Ljavax/lang/model/element/TypeElement;
2 5 1 mirror Ljavax/lang/model/element/AnnotationMirror;
3 5 3 annotationType Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
annotatedElement
private java.lang.String generateProvider(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
astore 2
start local 2 1: new com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$1
dup
aload 0
aload 2
aload 1
aconst_null
invokespecial com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$1.<init>:(Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/AnnotationMirror;)V
astore 3
start local 3 2: aload 2
aload 0
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.getProviderClass:()Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypeElement:(Ljavax/lang/model/type/DeclaredType;)Ljavax/lang/model/element/TypeElement;
astore 4
start local 4 3: aload 3
aconst_null
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
4: aload 1
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.createProviderSimpleName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
aconst_null
5: invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
start local 5 6: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getImplements:()Ljava/util/List;
aload 4
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 4
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor javax.lang.model.element.TypeElement com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.Template javax.lang.model.element.TypeElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 6
start local 6 10: aload 6
checkcast javax.lang.model.element.ExecutableElement
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 8
start local 8 11: aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
12: aload 0
aload 1
aload 8
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.implementMethod:(Ljavax/lang/model/element/TypeElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
13: aload 5
aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 8 end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
15: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.getProviderAnnotations:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 18
StackMap locals:
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 6
start local 6 17: aload 5
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addAnnotationMirror:(Ljavax/lang/model/element/AnnotationMirror;)V
end local 6 18: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: aload 2
ldc Ljava/lang/Override;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.DeclaredType
astore 6
start local 6 20: aload 5
new com.oracle.truffle.dsl.processor.java.transform.GenerateOverrideVisitor
dup
aload 6
invokespecial com.oracle.truffle.dsl.processor.java.transform.GenerateOverrideVisitor.<init>:(Ljavax/lang/model/type/DeclaredType;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 5
new com.oracle.truffle.dsl.processor.java.transform.FixWarningsVisitor
dup
aload 1
aload 6
invokespecial com.oracle.truffle.dsl.processor.java.transform.FixWarningsVisitor.<init>:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/DeclaredType;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 5
new com.oracle.truffle.dsl.processor.CodeWriter
dup
aload 2
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokespecial com.oracle.truffle.dsl.processor.CodeWriter.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 24 1 annotatedElement Ljavax/lang/model/element/TypeElement;
1 24 2 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
2 24 3 model Lcom/oracle/truffle/dsl/processor/model/Template;
3 24 4 providerElement Ljavax/lang/model/element/TypeElement;
6 24 5 providerClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
10 14 6 method Ljavax/lang/model/element/Element;
11 14 8 implementedMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
17 18 6 annotationMirror Ljavax/lang/model/element/AnnotationMirror;
20 24 6 overrideType Ljavax/lang/model/type/DeclaredType;
MethodParameters:
Name Flags
annotatedElement
private static java.lang.String createProviderSimpleName(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getElementHierarchy:(Ljavax/lang/model/element/Element;)Ljava/util/List;
astore 2
start local 2 2: aload 2
aload 2
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.listIterator:(I)Ljava/util/ListIterator;
astore 3
start local 3 3: goto 7
4: StackMap locals: java.lang.StringBuilder java.util.List java.util.ListIterator
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 4
start local 4 5: aload 4
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifne 6
aload 4
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isInterface:()Z
ifeq 7
6: StackMap locals: javax.lang.model.element.Element
StackMap stack:
aload 1
aload 4
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.hasPrevious:()Z
ifne 4
end local 3 8: aload 1
ldc "Provider"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 annotatedElement Ljavax/lang/model/element/TypeElement;
1 10 1 nameBuilder Ljava/lang/StringBuilder;
2 10 2 hierarchy Ljava/util/List<Ljavax/lang/model/element/Element;>;
3 8 3 it Ljava/util/ListIterator<Ljavax/lang/model/element/Element;>;
5 7 4 enc Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
annotatedElement
static void generateProviderFile(javax.annotation.processing.ProcessingEnvironment, java.lang.String, java.lang.String, javax.lang.model.element.Element[]);
descriptor: (Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/String;Ljava/lang/String;[Ljavax/lang/model/element/Element;)V
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.$assertionsDisabled:Z
ifne 1
aload 3
arraylength
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "META-INF/truffle-registrations/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
ldc ""
aload 4
aload 3
invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
astore 5
start local 5 3: new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 5
invokeinterface javax.tools.FileObject.openOutputStream:()Ljava/io/OutputStream;
ldc "UTF-8"
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 6
start local 6 4: aload 6
aload 2
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 6
invokevirtual java.io.PrintWriter.close:()V
end local 6 end local 5 6: goto 9
StackMap locals: javax.annotation.processing.ProcessingEnvironment java.lang.String java.lang.String javax.lang.model.element.Element[] java.lang.String
StackMap stack: java.io.IOException
7: astore 5
start local 5 8: aload 5
aload 0
aload 3
iconst_0
aaload
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.handleIOError:(Ljava/io/IOException;Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
end local 5 9: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 env Ljavax/annotation/processing/ProcessingEnvironment;
0 10 1 providerClassName Ljava/lang/String;
0 10 2 serviceClassName Ljava/lang/String;
0 10 3 originatingElements [Ljavax/lang/model/element/Element;
2 10 4 filename Ljava/lang/String;
3 6 5 file Ljavax/tools/FileObject;
4 6 6 writer Ljava/io/PrintWriter;
8 9 5 e Ljava/io/IOException;
Exception table:
from to target type
2 6 7 Class java.io.IOException
MethodParameters:
Name Flags
env
providerClassName
serviceClassName
originatingElements
private static boolean isBug367599(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
instanceof javax.annotation.processing.FilerException
ifeq 7
1: aload 0
invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: java.lang.Throwable top int int java.lang.StackTraceElement[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
invokevirtual java.lang.StackTraceElement.toString:()Ljava/lang/String;
ldc "org.eclipse.jdt.internal.apt.pluggable.core.filer.IdeFilerImpl.create"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 5
4: iconst_1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 2
7: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
ifnull 8
aload 0
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.isBug367599:(Ljava/lang/Throwable;)Z
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 t Ljava/lang/Throwable;
3 5 1 ste Ljava/lang/StackTraceElement;
MethodParameters:
Name Flags
t
static void generateServicesRegistration(java.lang.String, java.util.Map<java.lang.String, javax.lang.model.element.Element>);
descriptor: (Ljava/lang/String;Ljava/util/Map;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
astore 3
start local 3 2: aload 3
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
astore 4
start local 4 3: new java.lang.StringBuilder
dup
ldc "META-INF/services/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 4: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.Map.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 5: aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 12
StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 7: aload 3
aload 7
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getTypeElement:(Ljavax/annotation/processing/ProcessingEnvironment;Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 9
start local 9 8: aload 9
ifnonnull 11
9: aload 6
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: goto 12
11: StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List java.lang.String java.util.Iterator javax.lang.model.element.TypeElement
StackMap stack:
aload 6
aload 4
aload 9
invokeinterface javax.lang.model.util.Elements.getBinaryName:(Ljavax/lang/model/element/TypeElement;)Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 7 12: StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 6
invokestatic java.util.Collections.sort:(Ljava/util/List;)V
14: aload 6
invokeinterface java.util.List.isEmpty:()Z
ifne 30
15: aload 3
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
ldc ""
aload 5
aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokeinterface java.util.Map.size:()I
anewarray javax.lang.model.element.Element
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.lang.model.element.Element[]
invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
astore 7
start local 7 16: aconst_null
astore 8
aconst_null
astore 9
17: new java.io.PrintWriter
dup
new java.io.OutputStreamWriter
dup
aload 7
invokeinterface javax.tools.FileObject.openOutputStream:()Ljava/io/OutputStream;
ldc "UTF-8"
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
astore 10
start local 10 18: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 21
StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.PrintWriter top java.util.Iterator
StackMap stack:
19: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 20: aload 10
aload 11
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 21: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: aload 10
ifnull 30
aload 10
invokevirtual java.io.PrintWriter.close:()V
goto 30
StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.PrintWriter
StackMap stack: java.lang.Throwable
23: astore 8
aload 10
ifnull 24
aload 10
invokevirtual java.io.PrintWriter.close:()V
end local 10 StackMap locals:
StackMap stack:
24: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 9
aload 8
ifnonnull 26
aload 9
astore 8
goto 27
StackMap locals:
StackMap stack:
26: aload 8
aload 9
if_acmpeq 27
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 8
athrow
end local 7 28: StackMap locals: java.lang.String java.util.Map com.oracle.truffle.dsl.processor.ProcessorContext javax.annotation.processing.ProcessingEnvironment javax.lang.model.util.Elements java.lang.String java.util.List
StackMap stack: java.io.IOException
astore 7
start local 7 29: aload 7
aload 3
aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.handleIOError:(Ljava/io/IOException;Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
end local 7 30: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 providerBinName Ljava/lang/String;
0 31 1 providerRegistrations Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;
1 31 2 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
2 31 3 env Ljavax/annotation/processing/ProcessingEnvironment;
3 31 4 elements Ljavax/lang/model/util/Elements;
4 31 5 filename Ljava/lang/String;
5 31 6 providerClassNames Ljava/util/List<Ljava/lang/String;>;
7 12 7 providerFqn Ljava/lang/String;
8 12 9 te Ljavax/lang/model/element/TypeElement;
16 28 7 file Ljavax/tools/FileObject;
18 24 10 out Ljava/io/PrintWriter;
20 21 11 providerClassName Ljava/lang/String;
29 30 7 e Ljava/io/IOException;
Exception table:
from to target type
18 22 23 any
17 25 25 any
15 28 28 Class java.io.IOException
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljavax/lang/model/element/Element;>;)V
MethodParameters:
Name Flags
providerBinName
providerRegistrations
private static void handleIOError(java.io.IOException, javax.annotation.processing.ProcessingEnvironment, javax.lang.model.element.Element);
descriptor: (Ljava/io/IOException;Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof javax.annotation.processing.FilerException
ifeq 3
1: aload 0
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
ldc "Source file already created"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
aload 0
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
ldc "Resource already created"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
aload 0
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.isBug367599:(Ljava/lang/Throwable;)Z
ifeq 4
getstatic javax.tools.Diagnostic$Kind.NOTE:Ljavax/tools/Diagnostic$Kind;
goto 5
StackMap locals:
StackMap stack: javax.annotation.processing.Messager
4: getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
StackMap locals: java.io.IOException javax.annotation.processing.ProcessingEnvironment javax.lang.model.element.Element
StackMap stack: javax.annotation.processing.Messager javax.tools.Diagnostic$Kind
5: aload 0
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 e Ljava/io/IOException;
0 7 1 env Ljavax/annotation/processing/ProcessingEnvironment;
0 7 2 element Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
e
env
element
private void generateLegacyRegistration(java.util.List<javax.lang.model.element.TypeElement>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.getRegistrationFileName:()Ljava/lang/String;
astore 2
start local 2 1: new com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$SortedProperties
dup
invokespecial com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$SortedProperties.<init>:()V
astore 3
start local 3 2: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.storeRegistrations:(Ljava/util/Properties;Ljava/lang/Iterable;)V
3: aload 3
invokevirtual java.util.Properties.isEmpty:()Z
ifne 16
4: aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
ldc ""
aload 2
aload 1
iconst_0
anewarray javax.lang.model.element.Element
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.lang.model.element.Element[]
invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
astore 4
start local 4 5: aconst_null
astore 5
aconst_null
astore 6
6: aload 4
invokeinterface javax.tools.FileObject.openOutputStream:()Ljava/io/OutputStream;
astore 7
start local 7 7: aload 3
aload 7
new java.lang.StringBuilder
dup
ldc "Generated by "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Properties.store:(Ljava/io/OutputStream;Ljava/lang/String;)V
8: aload 7
ifnull 16
aload 7
invokevirtual java.io.OutputStream.close:()V
goto 16
StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.List java.lang.String java.util.Properties javax.tools.FileObject java.lang.Throwable java.lang.Throwable java.io.OutputStream
StackMap stack: java.lang.Throwable
9: astore 5
aload 7
ifnull 10
aload 7
invokevirtual java.io.OutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
10: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 6
aload 5
ifnonnull 12
aload 6
astore 5
goto 13
StackMap locals:
StackMap stack:
12: aload 5
aload 6
if_acmpeq 13
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 5
athrow
end local 4 14: StackMap locals: com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor java.util.List java.lang.String java.util.Properties
StackMap stack: java.io.IOException
astore 4
start local 4 15: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.Element
invokestatic com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor.handleIOError:(Ljava/io/IOException;Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/dsl/processor/AbstractRegistrationProcessor;
0 17 1 annotatedElements Ljava/util/List<Ljavax/lang/model/element/TypeElement;>;
1 17 2 filename Ljava/lang/String;
2 17 3 p Ljava/util/Properties;
5 14 4 file Ljavax/tools/FileObject;
7 10 7 os Ljava/io/OutputStream;
15 16 4 e Ljava/io/IOException;
Exception table:
from to target type
7 8 9 any
6 11 11 any
4 14 14 Class java.io.IOException
Signature: (Ljava/util/List<Ljavax/lang/model/element/TypeElement;>;)V
MethodParameters:
Name Flags
annotatedElements
static boolean shouldGenerateProviderFiles(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.dsl.processor.java.compiler.CompilerFactory.getCompiler:(Ljavax/lang/model/element/Element;)Lcom/oracle/truffle/dsl/processor/java/compiler/Compiler;
instanceof com.oracle.truffle.dsl.processor.java.compiler.JDTCompiler
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 currentElement Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
currentElement
}
SourceFile: "AbstractRegistrationProcessor.java"
NestMembers:
com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$1 com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$SortedProperties
InnerClasses:
com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$1
SortedProperties = com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor$SortedProperties of com.oracle.truffle.dsl.processor.AbstractRegistrationProcessor
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager