public class com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory
super_class: java.lang.Object
{
private final com.oracle.truffle.dsl.processor.ProcessorContext context;
descriptor: Lcom/oracle/truffle/dsl/processor/ProcessorContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.dsl.processor.model.NodeData node;
descriptor: Lcom/oracle/truffle/dsl/processor/model/NodeData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.dsl.processor.java.model.CodeTypeElement createdFactoryElement;
descriptor: Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.dsl.processor.TruffleTypes types;
descriptor: Lcom/oracle/truffle/dsl/processor/TruffleTypes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(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: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
2: aload 0
aload 2
putfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
3: aload 0
aload 3
putfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
4: aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
putfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
0 6 1 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 6 2 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 6 3 createdClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
context
node
createdClass
public static java.lang.String factoryClassName(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Factory"
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 type Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
type
public com.oracle.truffle.dsl.processor.java.model.CodeTypeElement create();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
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 1
start local 1 1: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context: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.NodeFactory:Ljavax/lang/model/type/DeclaredType;
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 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
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 2
start local 2 2: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
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 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
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;
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 3
start local 3 3: aload 1
ifnull 5
4: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getModifiers:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals: javax.lang.model.element.Modifier javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 3
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 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
ifnull 22
7: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getImplements:()Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createNodeFactoryConstructor:()Ljavax/lang/model/element/Element;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
9: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createCreateGetNodeClass:()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
10: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createCreateGetExecutionSignature:()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
11: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createCreateGetNodeSignatures:()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
12: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createCreateNodeMethod:()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
13: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createGetUncached:()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
14: aload 3
aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createGetInstanceMethod:(Ljavax/lang/model/element/Modifier;)Ljavax/lang/model/element/ExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
15: aload 3
aload 0
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createInstanceConstant:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
16: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
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 4
start local 4 17: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createFactoryMethods:(Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List;)Ljava/util/List;
astore 5
start local 5 18: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.element.Modifier javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement java.util.List java.util.List top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 6
start local 6 20: aload 3
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:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 5 end local 4 22: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.element.Modifier javax.lang.model.type.TypeMirror 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 23 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 23 1 visibility Ljavax/lang/model/element/Modifier;
2 23 2 nodeFactory Ljavax/lang/model/type/TypeMirror;
3 23 3 clazz Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
17 22 4 constructors Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
18 22 5 factoryMethods Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;>;
20 21 6 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
private javax.lang.model.element.Element createNodeFactoryConstructor();
descriptor: ()Ljavax/lang/model/element/Element;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aconst_null
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
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;
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 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 2 1 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createCreateGetNodeClass();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Class;
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 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
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 1
start local 1 1: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
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;
aload 1
ldc "getNodeClass"
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 2
start local 2 2: aload 2
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.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)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
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 4 1 returnValue Ljavax/lang/model/type/TypeMirror;
2 4 2 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createCreateGetNodeSignatures();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeFactory:Ljavax/lang/model/type/DeclaredType;
ldc "getNodeSignatures"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findMethod:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
astore 1
start local 1 1: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
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;
aload 1
ldc "getNodeSignatures"
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 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
4: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
5: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
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
6: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
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 4
start local 4 7: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 5
start local 5 9: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
10: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
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
11: aload 5
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 7
start local 7 13: aload 3
aload 7
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 7 14: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
16: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 5 17: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
18: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
19: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
20: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
21: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 22 1 returnType Ljavax/lang/model/type/TypeMirror;
2 22 2 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
3 22 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
7 22 4 constructors Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
9 17 5 constructor Ljavax/lang/model/element/ExecutableElement;
13 14 7 var Ljavax/lang/model/element/VariableElement;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createCreateGetExecutionSignature();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeFactory:Ljavax/lang/model/type/DeclaredType;
ldc "getExecutionSignature"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findMethod:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
astore 1
start local 1 1: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
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;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
ldc "getExecutionSignature"
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 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
4: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
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
5: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getChildExecutions:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.NodeExecutionData
astore 4
start local 4 7: aload 4
invokevirtual com.oracle.truffle.dsl.processor.model.NodeExecutionData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
astore 6
start local 6 8: aload 6
ifnull 11
9: aload 3
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
10: goto 12
11: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.model.NodeExecutionData java.util.Iterator javax.lang.model.type.TypeMirror
StackMap stack:
aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 6 end local 4 12: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
14: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
15: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 16 1 overriddenMethod Ljavax/lang/model/element/ExecutableElement;
2 16 2 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
3 16 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
7 12 4 execution Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
8 12 6 nodeType Ljavax/lang/model/type/TypeMirror;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createGetUncached();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateUncached:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
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;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
ldc "getUncachedInstance"
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 1
start local 1 3: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 5: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
6: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateFactory:()Z
ifeq 9
7: aload 3
aload 2
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;
ldc "UNCACHED"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
8: goto 10
9: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 3
ldc "UNCACHED"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
10: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
11: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
3 12 1 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
4 12 2 className Ljava/lang/String;
5 12 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createCreateNodeMethod();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
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;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
ldc "createNode"
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 1
start local 1 1: new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "arguments"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
astore 2
start local 2 2: aload 1
iconst_1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setVarArgs:(Z)V
3: aload 1
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
4: aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 5: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createdFactoryElement:Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
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 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 43
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 6
start local 6 9: aload 3
iload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:(Z)Z
istore 5
10: aload 3
new java.lang.StringBuilder
dup
ldc "arguments.length == "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
11: iconst_0
istore 8
start local 8 12: aload 6
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 25
StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int javax.lang.model.element.ExecutableElement java.util.Iterator int top java.util.Iterator
StackMap stack:
13: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 9
start local 9 14: aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isObject:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 17
15: iinc 8 1
16: goto 25
17: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int javax.lang.model.element.ExecutableElement java.util.Iterator int javax.lang.model.element.VariableElement java.util.Iterator
StackMap stack:
aload 3
ldc " && "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
18: aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
ifne 20
19: aload 3
new java.lang.StringBuilder
dup
ldc "(arguments["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null || "
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.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "arguments["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] instanceof "
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.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
21: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.boxType:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.eraseGenericTypes:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.type:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
22: aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
ifne 24
23: aload 3
ldc ")"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
24: StackMap locals:
StackMap stack:
iinc 8 1
end local 9 25: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int javax.lang.model.element.ExecutableElement java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
26: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
27: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
28: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "create"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
29: iconst_0
istore 8
30: aload 6
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 40
StackMap locals:
StackMap stack:
31: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 9
start local 9 32: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
33: aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isObject:(Ljavax/lang/model/type/TypeMirror;)Z
ifne 37
34: aload 3
ldc "("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.type:(Ljavax/lang/model/type/TypeMirror;)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
35: aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.hasGenericTypes:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 37
36: aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "unchecked"
aastore
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.mergeSupressWarnings:(Lcom/oracle/truffle/dsl/processor/java/model/CodeElement;[Ljava/lang/String;)V
37: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int javax.lang.model.element.ExecutableElement java.util.Iterator int javax.lang.model.element.VariableElement java.util.Iterator
StackMap stack:
aload 3
ldc "arguments["
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
iload 8
invokestatic java.lang.String.valueOf:(I)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
38: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
39: iinc 8 1
end local 9 40: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int javax.lang.model.element.ExecutableElement java.util.Iterator int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
41: aload 3
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
42: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 8 end local 6 43: StackMap locals: com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
44: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
45: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/IllegalArgumentException;
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;
pop
46: aload 3
ldc "Invalid create signature."
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.doubleQuote:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
47: aload 3
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
48: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
49: aload 1
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 50 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
1 50 1 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
2 50 2 arguments Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
5 50 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
6 50 4 signatures Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
7 50 5 ifStarted Z
9 43 6 element Ljavax/lang/model/element/ExecutableElement;
12 43 8 index I
14 25 9 param Ljavax/lang/model/element/VariableElement;
32 40 9 param Ljavax/lang/model/element/VariableElement;
private javax.lang.model.element.ExecutableElement createGetInstanceMethod(javax.lang.model.element.Modifier);
descriptor: (Ljavax/lang/model/element/Modifier;)Ljavax/lang/model/element/ExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeFactory:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.fromTypeMirror:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
astore 2
start local 2 1: aload 2
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
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 3
start local 3 2: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
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
ldc "getInstance"
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 4
start local 4 3: aload 1
ifnull 5
4: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals: javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: aload 4
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.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.instanceVarName:(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;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
7: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/generator/NodeFactoryFactory;
0 8 1 visibility Ljavax/lang/model/element/Modifier;
1 8 2 nodeFactoryType Ljavax/lang/model/element/TypeElement;
2 8 3 returnType Ljavax/lang/model/type/TypeMirror;
3 8 4 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
MethodParameters:
Name Flags
visibility
private static java.lang.String instanceVarName(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=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getDeclaringNode:()Lcom/oracle/truffle/dsl/processor/model/NodeData;
ifnull 2
1: new java.lang.StringBuilder
dup
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;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.createConstantName:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_INSTANCE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
ldc "INSTANCE"
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 com.oracle.truffle.dsl.processor.java.model.CodeVariableElement createInstanceConstant(javax.lang.model.type.TypeMirror);
descriptor: (Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.instanceVarName:(Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljava/lang/String;
astore 2
start local 2 1: new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
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
aload 2
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.createInitBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.node:Lcom/oracle/truffle/dsl/processor/model/NodeData;
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;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(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;
pop
3: aload 3
areturn
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/generator/NodeFactoryFactory;
0 4 1 factoryType Ljavax/lang/model/type/TypeMirror;
1 4 2 varName Ljava/lang/String;
2 4 3 var Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
MethodParameters:
Name Flags
factoryType
public static java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement> createFactoryMethods(com.oracle.truffle.dsl.processor.model.NodeData, java.util.List<javax.lang.model.element.ExecutableElement>);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 3
start local 3 3: aload 2
aload 0
aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createCreateMethod:(Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 3
instanceof com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
ifeq 6
5: aload 3
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.setVisibility:(Ljava/util/Set;Ljavax/lang/model/element/Modifier;)V
6: StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.isGenerateUncached:()Z
ifeq 8
7: aload 2
aload 0
aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.NodeFactoryFactory.createGetUncached:(Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 8: StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 10 1 constructors Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
1 10 2 methods Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;>;
3 8 3 constructor Ljavax/lang/model/element/ExecutableElement;
Signature: (Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;>;
MethodParameters:
Name Flags
node
constructors
private static com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createGetUncached(com.oracle.truffle.dsl.processor.model.NodeData, javax.lang.model.element.ExecutableElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 2
start local 2 1: aload 2
ldc "getUncached"
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeNames.of:(Ljava/lang/String;)Ljavax/lang/model/element/Name;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setSimpleName:(Ljavax/lang/model/element/Name;)V
2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
3: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 2
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
6: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 7: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
8: aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.nodeType:(Lcom/oracle/truffle/dsl/processor/model/NodeData;)Ljavax/lang/model/type/TypeMirror;
astore 4
start local 4 9: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.hasErrors:()Z
ifeq 17
10: aload 3
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
11: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 5
start local 5 13: aload 3
aload 5
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.defaultValue:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 5 14: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
16: goto 19
17: StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror
StackMap stack:
aload 4
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
astore 5
start local 5 18: aload 3
aload 5
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
ldc ".UNCACHED"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 5 19: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
20: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.clear:()V
21: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 22 1 constructor Ljavax/lang/model/element/ExecutableElement;
1 22 2 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
7 22 3 body Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
9 22 4 type Ljavax/lang/model/type/TypeMirror;
13 14 5 var Ljavax/lang/model/element/VariableElement;
18 19 5 typeElement Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
node
constructor
private static com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createCreateMethod(com.oracle.truffle.dsl.processor.model.NodeData, javax.lang.model.element.ExecutableElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeData;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 2
start local 2 1: aload 2
ldc "create"
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeNames.of:(Ljava/lang/String;)Ljavax/lang/model/element/Name;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setSimpleName:(Ljavax/lang/model/element/Name;)V
2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
3: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 2
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getNodeType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
6: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 7: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
8: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.NodeData.getSpecializations:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 11
9: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.nullLiteral:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
10: goto 17
11: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 3
aload 0
invokestatic com.oracle.truffle.dsl.processor.generator.NodeCodeGenerator.nodeType:(Lcom/oracle/truffle/dsl/processor/model/NodeData;)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;
pop
12: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
13: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 4
start local 4 14: aload 3
aload 4
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 4 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
17: StackMap locals: com.oracle.truffle.dsl.processor.model.NodeData javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
18: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 node Lcom/oracle/truffle/dsl/processor/model/NodeData;
0 19 1 constructor Ljavax/lang/model/element/ExecutableElement;
1 19 2 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
7 19 3 body Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
14 15 4 var Ljavax/lang/model/element/VariableElement;
MethodParameters:
Name Flags
node
constructor
}
SourceFile: "NodeFactoryFactory.java"