public class com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator extends com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory<com.oracle.truffle.dsl.processor.model.NodeData>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator
super_class: com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory
{
private static final java.lang.String NODE_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NodeGen"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeCodeGenerator;
public java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeTypeElement> create(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.AnnotationProcessor<?>, com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 4
start local 4 1: aload 1
aload 3
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createImpl:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)Ljava/util/List;
astore 5
start local 5 2: aload 5
ifnull 6
3: aload 5
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 5
4: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: java.util.Map java.util.List
StackMap stack:
aload 5
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
aload 4
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addAll:(Ljava/util/Collection;)V
6: StackMap locals:
StackMap stack:
aload 5
areturn
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 7 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeCodeGenerator;
0 7 1 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 7 2 processor Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
0 7 3 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
1 7 4 libraryConstants Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;
2 7 5 rootTypes Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
Signature: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
MethodParameters:
Name Flags
context
processor
node
private static java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeTypeElement> createImpl(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.model.NodeData, java.util.Map<java.lang.String, com.oracle.truffle.dsl.processor.java.model.CodeVariableElement>);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getEnclosingNodes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.Map java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeData
astore 4
start local 4 3: aload 0
aload 4
aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createImpl:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)Ljava/util/List;
astore 6
start local 6 4: aload 6
ifnull 6
5: aload 3
aload 6
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 6 end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 0
aload 1
aload 2
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.generateNodes:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)Ljava/util/List;
astore 4
start local 4 8: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 9
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 22
9: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.Map java.util.List java.util.List
StackMap stack:
aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 12
10: aload 1
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createContainer:(Lcom/oracle/truffle/dsl/processor/model/NodeData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
start local 5 11: goto 13
end local 5 12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.wrapGeneratedNodes:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
start local 5 13: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.Map java.util.List java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 6
start local 6 15: aload 5
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.makeInnerClass:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 6 16: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getDeclaringNode:()Lcom/oracle/truffle/dsl/processor/model/NodeData;
ifnonnull 21
aload 3
invokeinterface java.util.List.size:()I
ifle 21
18: aload 0
aload 1
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createGetFactories:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljavax/lang/model/element/ExecutableElement;
astore 6
start local 6 19: aload 6
ifnull 21
20: aload 5
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 6 21: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.Map java.util.List java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
iconst_1
anewarray com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
iconst_0
aload 5
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 5 22: StackMap locals:
StackMap stack:
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 23 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 23 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 23 2 libraryConstants Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;
1 23 3 enclosedTypes Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
3 6 4 childNode Lcom/oracle/truffle/dsl/processor/model/NodeData;
4 6 6 type Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
8 23 4 generatedNodes Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
11 12 5 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
13 22 5 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
15 16 6 enclosedFactory Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
19 21 6 getFactories Ljavax/lang/model/element/ExecutableElement;
Signature: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
MethodParameters:
Name Flags
context
node
libraryConstants
private static com.oracle.truffle.dsl.processor.java.model.CodeTypeElement makeInnerClass(com.oracle.truffle.dsl.processor.java.model.CodeTypeElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
astore 1
start local 1 1: aload 1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
1 3 1 modifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
MethodParameters:
Name Flags
type
private static com.oracle.truffle.dsl.processor.java.model.CodeTypeElement wrapGeneratedNodes(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.model.NodeData, java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeTypeElement>);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
ifeq 7
1: new com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory
dup
aload 0
aload 1
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
invokespecial com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.<init>:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)V
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.create:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 3
start local 3 2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 4
start local 4 4: aload 3
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.makeInnerClass:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 3
areturn
end local 3 7: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 3
start local 3 8: aload 3
astore 4
start local 4 9: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 16
10: aload 2
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 4
11: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 5
start local 5 13: aload 3
aload 5
if_acmpeq 15
14: aload 3
aload 5
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.makeInnerClass:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.findUserConstructors:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
astore 5
start local 5 17: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getEnclosedElements:()Ljava/util/List;
aload 1
aload 5
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createFactoryMethods:(Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
18: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.setVisibility:(Ljava/util/Set;Ljavax/lang/model/element/Modifier;)V
19: aload 3
areturn
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 20 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 20 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 20 2 generatedNodes Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
2 7 3 factoryElement Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
4 5 4 generatedNode Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
8 20 3 first Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
9 20 4 second Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
13 15 5 generatedNode Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
17 20 5 constructors Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
Signature: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
context
node
generatedNodes
private static com.oracle.truffle.dsl.processor.java.model.CodeTypeElement createContainer(com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.factoryClassName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
astore 3
start local 3 2: aload 0
aconst_null
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 3
aconst_null
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 1
start local 1 3: aload 2
ifnull 5
4: aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.element.Modifier java.lang.String
StackMap stack:
aload 1
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
6: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
3 7 1 container Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
1 7 2 visibility Ljavax/lang/model/element/Modifier;
2 7 3 containerName Ljava/lang/String;
MethodParameters:
Name Flags
node
private static java.lang.String getAccessorClassName(com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
ifeq 1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.factoryClassName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createNodeTypeName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
MethodParameters:
Name Flags
node
private static javax.lang.model.element.Element buildClassName(javax.lang.model.element.Element, boolean, boolean);
descriptor: (Ljavax/lang/model/element/Element;ZZ)Ljavax/lang/model/element/Element;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnull 1
aload 0
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifeq 22
3: aload 0
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
iconst_0
iload 2
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.buildClassName:(Ljavax/lang/model/element/Element;ZZ)Ljavax/lang/model/element/Element;
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: aload 3
ifnull 12
7: aload 3
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
if_acmpne 10
8: aload 3
checkcast javax.lang.model.element.PackageElement
astore 4
9: goto 12
StackMap locals: javax.lang.model.element.Element javax.lang.model.element.PackageElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
10: aload 3
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifeq 12
11: aload 3
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 5
12: StackMap locals:
StackMap stack:
iload 1
ifeq 17
13: iload 2
ifeq 15
14: aload 4
aload 5
aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.factoryClassName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createClass:(Ljavax/lang/model/element/PackageElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
15: StackMap locals:
StackMap stack:
aload 4
aload 5
aload 0
checkcast javax.lang.model.element.TypeElement
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createNodeTypeName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createClass:(Ljavax/lang/model/element/PackageElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
16: goto 21
17: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.isSpecializedNode:(Ljavax/lang/model/element/Element;)Z
ifeq 20
18: aload 4
aload 5
aload 0
checkcast javax.lang.model.element.TypeElement
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createNodeTypeName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createClass:(Ljavax/lang/model/element/PackageElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
19: goto 21
20: StackMap locals:
StackMap stack:
aload 4
aload 5
aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.factoryClassName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createClass:(Ljavax/lang/model/element/PackageElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
21: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 22: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 nodeElement Ljavax/lang/model/element/Element;
0 23 1 first Z
0 23 2 generateFactory Z
4 22 3 enclosingElement Ljavax/lang/model/element/Element;
5 22 4 enclosingPackage Ljavax/lang/model/element/PackageElement;
6 22 5 enclosingClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
nodeElement
first
generateFactory
private static com.oracle.truffle.dsl.processor.java.model.CodeTypeElement createClass(javax.lang.model.element.PackageElement, com.oracle.truffle.dsl.processor.java.model.CodeTypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/PackageElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
aload 0
aload 2
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.<init>:(Ljava/util/Set;Ljavax/lang/model/element/ElementKind;Ljavax/lang/model/element/PackageElement;Ljava/lang/String;)V
astore 3
start local 3 1: aload 1
ifnull 3
2: aload 1
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
3: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 pack Ljavax/lang/model/element/PackageElement;
0 4 1 enclosingClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
0 4 2 name Ljava/lang/String;
1 4 3 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
pack
enclosingClass
name
public static boolean isSpecializedNode(javax.lang.model.type.TypeMirror);
descriptor: (Ljavax/lang/model/type/TypeMirror;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.isSpecializedNode:(Ljavax/lang/model/element/Element;)Z
ireturn
3: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 mirror Ljavax/lang/model/type/TypeMirror;
1 4 1 type Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
mirror
static boolean isSpecializedNode(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifeq 7
1: aload 0
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
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;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 7
2: aload 0
invokeinterface javax.lang.model.element.Element.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 2
goto 6
StackMap locals: javax.lang.model.element.Element top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 1
start local 1 4: aload 1
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;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Specialization: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 6
5: iconst_1
ireturn
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: StackMap locals: javax.lang.model.element.Element
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 element Ljavax/lang/model/element/Element;
4 6 1 method Ljavax/lang/model/element/ExecutableElement;
MethodParameters:
Name Flags
element
public static javax.lang.model.type.TypeMirror nodeType(com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljavax/lang/model/type/TypeMirror;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
astore 1
start local 1 1: aload 1
iconst_1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.buildClassName:(Ljavax/lang/model/element/Element;ZZ)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
1 3 1 element Ljavax/lang/model/element/TypeElement;
2 3 2 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
node
public static javax.lang.model.type.TypeMirror factoryOrNodeType(com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljavax/lang/model/type/TypeMirror;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
astore 1
start local 1 1: aload 1
iconst_1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.buildClassName:(Ljavax/lang/model/element/Element;ZZ)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
ifeq 4
3: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
areturn
4: StackMap locals: javax.lang.model.element.TypeElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
1 5 1 element Ljavax/lang/model/element/TypeElement;
2 5 2 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
node
private static java.lang.String resolveNodeId(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "Node"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 3
aload 1
ldc "Node"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iconst_4
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 node Ljavax/lang/model/element/TypeElement;
1 4 1 nodeid Ljava/lang/String;
MethodParameters:
Name Flags
node
static java.lang.String createNodeTypeName(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.resolveNodeId:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "NodeGen"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 nodeType Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
nodeType
private static java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeTypeElement> generateNodes(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.model.NodeData, java.util.Map<java.lang.String, com.oracle.truffle.dsl.processor.java.model.CodeVariableElement>);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.needsFactory:()Z
ifne 2
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aconst_null
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.createNodeTypeName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
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 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.setVisibility:(Ljava/util/Set;Ljavax/lang/model/element/Modifier;)V
4: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.hasErrors:()Z
ifeq 7
5: aload 0
aload 1
aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.generateErrorNode:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)V
6: iconst_1
anewarray com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
iconst_0
aload 3
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
7: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
new com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory
dup
aload 0
getstatic com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory$GeneratorMode.DEFAULT:Lcom/oracle/truffle/dsl/processor/generator/FlatNodeGenFactory$GeneratorMode;
aload 1
aload 2
invokespecial com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory.<init>:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/generator/FlatNodeGenFactory$GeneratorMode;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map;)V
aload 3
invokevirtual com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory.create:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 3
8: iconst_1
anewarray com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
iconst_0
aload 3
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 9 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 9 2 libraryConstants Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;
3 9 3 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
Signature: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
MethodParameters:
Name Flags
context
node
libraryConstants
private static void generateErrorNode(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.model.NodeData, com.oracle.truffle.dsl.processor.java.model.CodeTypeElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.findUserConstructors:(Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 3
start local 3 2: iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 2
aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
aload 3
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.setVisibility:(Ljava/util/Set;Ljavax/lang/model/element/Modifier;)V
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 5: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getChildren:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 8
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.element.ExecutableElement java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeChildData
astore 7
start local 7 7: aload 6
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 7
invokevirtual com.oracle.truffle.dsl.processor.model.NodeChildData.getOriginalType:()Ljavax/lang/model/type/TypeMirror;
aload 7
invokevirtual com.oracle.truffle.dsl.processor.model.NodeChildData.getName:()Ljava/lang/String;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 8: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
aload 3
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 6
invokeinterface java.util.List.addAll:(ILjava/util/Collection;)Z
pop
10: aload 2
aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 6 end local 5 end local 3 11: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: aload 0
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)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 4
goto 23
StackMap locals:
StackMap stack:
13: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 3
start local 3 14: aload 3
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 23
aload 3
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
if_acmpeq 23
15: aload 3
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 5
start local 5 16: aload 5
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
17: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.collectMessages:()Ljava/util/List;
astore 6
start local 6 18: aload 6
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 7
start local 7 19: aload 7
ldc "\""
ldc "\\\""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 7
20: aload 7
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
ldc "\\\\n"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 7
21: aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
ldc Ljava/lang/RuntimeException;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
new java.lang.StringBuilder
dup
ldc "Truffle DSL compiler errors: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.doubleQuote:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
22: aload 2
aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 7 end local 6 end local 5 end local 3 23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
24: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 25 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 25 2 type Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
2 11 3 superConstructor Ljavax/lang/model/element/ExecutableElement;
3 11 5 constructor Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
5 11 6 childParameters Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;
7 8 7 child Lcom/oracle/truffle/dsl/processor/model/NodeChildData;
14 23 3 method Ljavax/lang/model/element/ExecutableElement;
16 23 5 overrideMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
18 23 6 messages Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/MessageContainer$Message;>;
19 23 7 message Ljava/lang/String;
MethodParameters:
Name Flags
context
node
type
private static javax.lang.model.element.ExecutableElement createGetFactories(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.model.NodeData);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljavax/lang/model/element/ExecutableElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=19, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodesWithFactories:()Ljava/util/List;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.needsFactory:()Z
ifeq 3
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
ifeq 3
2: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals: java.util.List
StackMap stack:
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: iconst_1
istore 5
start local 5 8: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeData
astore 6
start local 6 10: aload 3
aload 6
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 4
ifnull 13
aload 6
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
aload 4
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 13
12: iconst_0
istore 5
13: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int com.oracle.truffle.dsl.processor.model.NodeData java.util.Iterator
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
astore 4
end local 6 14: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
15: aload 0
aload 3
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getCommonSuperType:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljava/util/Collection;)Ljavax/lang/model/type/TypeMirror;
astore 6
start local 6 16: aload 0
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
astore 7
start local 7 17: aload 0
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeFactory:Ljavax/lang/model/type/DeclaredType;
astore 8
start local 8 18: iload 5
ifeq 21
19: aload 8
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.fromTypeMirror:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 6
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getDeclaredType:(Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/DeclaredType;
astore 9
start local 9 20: goto 22
end local 9 21: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror
StackMap stack:
aload 8
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.fromTypeMirror:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 7
aload 6
aconst_null
invokeinterface javax.lang.model.util.Types.getWildcardType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/WildcardType;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getDeclaredType:(Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/DeclaredType;
astore 9
start local 9 22: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
aload 0
ldc Ljava/util/List;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.fromTypeMirror:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 9
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getDeclaredType:(Ljavax/lang/model/element/TypeElement;[Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/DeclaredType;
astore 10
start local 10 23: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_2
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 10
ldc "getFactories"
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
astore 11
start local 11 24: aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 12
start local 12 25: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
26: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 29
27: aload 12
aload 0
ldc Ljava/util/Arrays;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "asList"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
28: goto 30
29: StackMap locals: javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 12
aload 0
ldc Ljava/util/Collections;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "singletonList"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
30: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 46
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
31: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeData
astore 13
start local 13 32: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
33: aload 13
astore 15
start local 15 34: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 16
start local 16 35: goto 38
36: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.model.NodeData java.util.Iterator com.oracle.truffle.dsl.processor.model.NodeData java.util.List
StackMap stack:
aload 16
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
37: aload 15
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getDeclaringNode:()Lcom/oracle/truffle/dsl/processor/model/NodeData;
astore 15
38: StackMap locals:
StackMap stack:
aload 15
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getDeclaringNode:()Lcom/oracle/truffle/dsl/processor/model/NodeData;
ifnonnull 36
39: aload 16
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
40: aload 16
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 43
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.model.NodeData java.util.Iterator com.oracle.truffle.dsl.processor.model.NodeData java.util.List top java.util.Iterator
StackMap stack:
41: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeData
astore 17
start local 17 42: aload 12
aload 17
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.getAccessorClassName:(Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "."
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 17 43: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
44: aload 12
ldc "getInstance()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
45: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 16 end local 15 end local 13 46: StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.type.TypeMirror int javax.lang.model.type.TypeMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
47: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
48: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
49: aload 11
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 50 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 50 1 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
1 50 2 factoryList Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/NodeData;>;
6 50 3 nodeTypesList Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
7 50 4 prev Ljavax/lang/model/type/TypeMirror;
8 50 5 allSame Z
10 14 6 child Lcom/oracle/truffle/dsl/processor/model/NodeData;
16 50 6 commonNodeSuperType Ljavax/lang/model/type/TypeMirror;
17 50 7 types Ljavax/lang/model/util/Types;
18 50 8 factoryType Ljavax/lang/model/type/TypeMirror;
20 21 9 baseType Ljavax/lang/model/type/TypeMirror;
22 50 9 baseType Ljavax/lang/model/type/TypeMirror;
23 50 10 listType Ljavax/lang/model/type/TypeMirror;
24 50 11 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
25 50 12 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
32 46 13 child Lcom/oracle/truffle/dsl/processor/model/NodeData;
34 46 15 childNode Lcom/oracle/truffle/dsl/processor/model/NodeData;
35 46 16 factories Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/NodeData;>;
42 43 17 nodeData Lcom/oracle/truffle/dsl/processor/model/NodeData;
MethodParameters:
Name Flags
context
node
public java.util.List create(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.AnnotationProcessor, java.lang.Object);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljava/lang/Object;)Ljava/util/List;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast com.oracle.truffle.dsl.processor.model.NodeData
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.create:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory<Lcom/oracle/truffle/dsl/processor/model/NodeData;>;
SourceFile: "NodeCodeGenerator.java"
InnerClasses:
public final GeneratorMode = com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory$GeneratorMode of com.oracle.truffle.dsl.processor.generator.FlatNodeGenFactory
public final Message = com.oracle.truffle.dsl.processor.model.MessageContainer$Message of com.oracle.truffle.dsl.processor.model.MessageContainer