public abstract class com.oracle.truffle.dsl.processor.parser.AbstractParser<M extends com.oracle.truffle.dsl.processor.model.MessageContainer>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.dsl.processor.parser.AbstractParser
super_class: java.lang.Object
{
protected final com.oracle.truffle.dsl.processor.ProcessorContext context;
descriptor: Lcom/oracle/truffle/dsl/processor/ProcessorContext;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final javax.annotation.processing.ProcessingEnvironment processingEnv;
descriptor: Ljavax/annotation/processing/ProcessingEnvironment;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.truffle.dsl.processor.TruffleTypes types;
descriptor: Lcom/oracle/truffle/dsl/processor/TruffleTypes;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected boolean generateSlowPathOnly;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected final java.lang.String generateSlowPathOnlyFilter;
descriptor: Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final com.oracle.truffle.dsl.processor.Log log;
descriptor: Lcom/oracle/truffle/dsl/processor/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
2: aload 0
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
3: aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
4: aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getLog:()Lcom/oracle/truffle/dsl/processor/Log;
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.log:Lcom/oracle/truffle/dsl/processor/Log;
5: aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessorOptions.generateSlowPathOnly:(Ljavax/annotation/processing/ProcessingEnvironment;)Z
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnly:Z
6: aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokestatic com.oracle.truffle.dsl.processor.TruffleProcessorOptions.generateSlowPathOnlyFilter:(Ljavax/annotation/processing/ProcessingEnvironment;)Ljava/lang/String;
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnlyFilter:Ljava/lang/String;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
protected void setGenerateSlowPathOnly(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnly:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 2 1 flag Z
MethodParameters:
Name Flags
flag
protected boolean isGenerateSlowPathOnly(com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.isGenerateSlowPathOnly:(Ljavax/lang/model/element/TypeElement;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 1 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
MethodParameters:
Name Flags
node
protected boolean isGenerateSlowPathOnly(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.AlwaysSlowPath:Ljavax/lang/model/type/DeclaredType;
ifnull 2
aload 1
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.AlwaysSlowPath:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findAnnotationMirror:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
ifnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnly:Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnlyFilter:Ljava/lang/String;
ifnull 7
5: aload 1
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 2
start local 2 6: aload 2
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.generateSlowPathOnlyFilter:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 2 7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 8 1 element Ljavax/lang/model/element/TypeElement;
6 7 2 nodeQName Ljava/lang/String;
MethodParameters:
Name Flags
element
public final M parse(javax.lang.model.element.Element, );
descriptor: (Ljavax/lang/model/element/Element;Z)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=10, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
ifnull 4
3: aload 1
invokeinterface javax.lang.model.element.Element.getAnnotationMirrors:()Ljava/util/List;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getRepeatedAnnotation:(Ljava/util/List;Ljavax/lang/model/type/DeclaredType;)Ljava/util/List;
astore 4
4: StackMap locals: com.oracle.truffle.dsl.processor.model.MessageContainer java.util.List
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.parse:(Ljavax/lang/model/element/Element;Ljava/util/List;)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
astore 3
5: aload 3
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
iload 2
ifeq 9
8: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.log:Lcom/oracle/truffle/dsl/processor/Log;
invokevirtual com.oracle.truffle.dsl.processor.model.MessageContainer.emitMessages:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/Log;)V
9: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.dsl.processor.model.NodeData
ifne 10
aload 3
instanceof com.oracle.truffle.dsl.processor.library.LibraryData
ifeq 12
10: StackMap locals:
StackMap stack:
aload 3
11: areturn
12: StackMap locals:
StackMap stack:
iload 2
ifeq 13
aload 0
aload 3
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.filterErrorElements:(Lcom/oracle/truffle/dsl/processor/model/MessageContainer;)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
goto 14
StackMap locals:
StackMap stack:
13: aload 3
StackMap locals:
StackMap stack: com.oracle.truffle.dsl.processor.model.MessageContainer
14: areturn
end local 4 15: StackMap locals: com.oracle.truffle.dsl.processor.parser.AbstractParser javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.model.MessageContainer
StackMap stack: com.oracle.truffle.dsl.processor.CompileErrorException
astore 4
start local 4 16: aload 0
getfield com.oracle.truffle.dsl.processor.parser.AbstractParser.log:Lcom/oracle/truffle/dsl/processor/Log;
getstatic javax.tools.Diagnostic$Kind.WARNING:Ljavax/tools/Diagnostic$Kind;
aload 1
aconst_null
aconst_null
ldc "The truffle processor could not parse class due to error: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual com.oracle.truffle.dsl.processor.CompileErrorException.getMessage:()Ljava/lang/String;
aastore
invokevirtual com.oracle.truffle.dsl.processor.Log.message:(Ljavax/tools/Diagnostic$Kind;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljavax/lang/model/element/AnnotationValue;Ljava/lang/String;[Ljava/lang/Object;)V
17: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 18 1 element Ljavax/lang/model/element/Element;
0 18 2 emitErrors Z
1 18 3 model TM;
2 15 4 mirrors Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
16 18 4 e Lcom/oracle/truffle/dsl/processor/CompileErrorException;
Exception table:
from to target type
1 6 15 Class com.oracle.truffle.dsl.processor.CompileErrorException
7 11 15 Class com.oracle.truffle.dsl.processor.CompileErrorException
12 14 15 Class com.oracle.truffle.dsl.processor.CompileErrorException
Signature: (Ljavax/lang/model/element/Element;Z)TM;
MethodParameters:
Name Flags
element
emitErrors
public final M parse(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.parse:(Ljavax/lang/model/element/Element;Z)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 1 1 element Ljavax/lang/model/element/Element;
Signature: (Ljavax/lang/model/element/Element;)TM;
MethodParameters:
Name Flags
element
protected M filterErrorElements();
descriptor: (Lcom/oracle/truffle/dsl/processor/model/MessageContainer;)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.MessageContainer.hasErrors:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: com.oracle.truffle.dsl.processor.model.MessageContainer
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
0 3 1 model TM;
Signature: (TM;)TM;
MethodParameters:
Name Flags
model
protected abstract M parse(javax.lang.model.element.Element, java.util.List<javax.lang.model.element.AnnotationMirror>);
descriptor: (Ljavax/lang/model/element/Element;Ljava/util/List;)Lcom/oracle/truffle/dsl/processor/model/MessageContainer;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljavax/lang/model/element/Element;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;)TM;
MethodParameters:
Name Flags
element
mirror
public abstract javax.lang.model.type.DeclaredType getAnnotationType();
descriptor: ()Ljavax/lang/model/type/DeclaredType;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public javax.lang.model.type.DeclaredType getRepeatAnnotationType();
descriptor: ()Ljavax/lang/model/type/DeclaredType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
public boolean isDelegateToRootDeclaredType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
public java.util.List<javax.lang.model.type.DeclaredType> getAllAnnotationTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
ifnull 3
2: aload 1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals: java.util.List
StackMap stack:
aload 1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.parser.AbstractParser.getTypeDelegatedAnnotationTypes:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
1 5 1 list Ljava/util/List<Ljavax/lang/model/type/DeclaredType;>;
Signature: ()Ljava/util/List<Ljavax/lang/model/type/DeclaredType;>;
public java.util.List<javax.lang.model.type.DeclaredType> getTypeDelegatedAnnotationTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/parser/AbstractParser<TM;>;
Signature: ()Ljava/util/List<Ljavax/lang/model/type/DeclaredType;>;
}
Signature: <M:Lcom/oracle/truffle/dsl/processor/model/MessageContainer;>Ljava/lang/Object;
SourceFile: "AbstractParser.java"
InnerClasses:
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic