Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java @ 19282:ae81dd154fb6
Truffle-DSL: remove old DSL layout; Make new layout the default.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 22 Jan 2015 20:44:24 +0100 |
parents | 4ce856e65728 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java Thu Jan 22 20:42:48 2015 +0100 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeFactoryFactory.java Thu Jan 22 20:44:24 2015 +0100 @@ -31,7 +31,6 @@ import javax.lang.model.type.*; import com.oracle.truffle.api.dsl.*; -import com.oracle.truffle.api.dsl.internal.*; import com.oracle.truffle.dsl.processor.*; import com.oracle.truffle.dsl.processor.java.*; import com.oracle.truffle.dsl.processor.java.model.*; @@ -40,20 +39,16 @@ class NodeFactoryFactory { - static final String FACTORY_METHOD_NAME = "create0"; + static final String EMPTY_CLASS_ARRAY = "EMPTY_CLASS_ARRAY"; private final ProcessorContext context; private final NodeData node; - private final TypeSystemData typeSystem; - private final DSLOptions options; private final CodeTypeElement createdFactoryElement; public NodeFactoryFactory(ProcessorContext context, NodeData node, CodeTypeElement createdClass) { this.context = context; this.node = node; this.createdFactoryElement = createdClass; - this.typeSystem = node.getTypeSystem(); - this.options = typeSystem.getOptions(); } public static String factoryClassName(NodeData node) { @@ -94,7 +89,7 @@ // execution signature builder.startGroup(); if (node.getChildExecutions().isEmpty()) { - builder.staticReference(context.getTruffleTypes().getDslMetadata(), NodeBaseFactory.EMPTY_CLASS_ARRAY); + builder.staticReference(context.getTruffleTypes().getDslMetadata(), EMPTY_CLASS_ARRAY); } else { builder.startNewArray(new ArrayCodeTypeMirror(context.getType(Class.class)), null); for (NodeExecutionData execution : node.getChildExecutions()) { @@ -107,11 +102,11 @@ // node signatures builder.startGroup(); builder.startNewArray(new ArrayCodeTypeMirror(new ArrayCodeTypeMirror(context.getType(Class.class))), null); - List<ExecutableElement> constructors = NodeBaseFactory.findUserConstructors(createdFactoryElement.asType()); + List<ExecutableElement> constructors = GeneratorUtils.findUserConstructors(createdFactoryElement.asType()); for (ExecutableElement constructor : constructors) { builder.startGroup(); if (constructor.getParameters().isEmpty()) { - builder.staticReference(context.getTruffleTypes().getDslMetadata(), NodeBaseFactory.EMPTY_CLASS_ARRAY); + builder.staticReference(context.getTruffleTypes().getDslMetadata(), EMPTY_CLASS_ARRAY); } else { builder.startNewArray(new ArrayCodeTypeMirror(context.getType(Class.class)), null); for (VariableElement var : constructor.getParameters()) { @@ -135,7 +130,7 @@ method.addParameter(arguments); CodeTreeBuilder builder = method.createBuilder(); - List<ExecutableElement> signatures = NodeBaseFactory.findUserConstructors(createdFactoryElement.asType()); + List<ExecutableElement> signatures = GeneratorUtils.findUserConstructors(createdFactoryElement.asType()); boolean ifStarted = false; for (ExecutableElement element : signatures) { @@ -230,7 +225,7 @@ } public void createFactoryMethods(CodeTypeElement clazz) { - List<ExecutableElement> constructors = NodeBaseFactory.findUserConstructors(createdFactoryElement.asType()); + List<ExecutableElement> constructors = GeneratorUtils.findUserConstructors(createdFactoryElement.asType()); for (ExecutableElement constructor : constructors) { clazz.add(createCreateMethod(constructor)); if (constructor instanceof CodeExecutableElement) { @@ -252,11 +247,7 @@ if (node.getSpecializations().isEmpty()) { body.nullLiteral(); } else { - if (options.useNewLayout()) { - body.startNew(NodeGenFactory.nodeType(node)); - } else { - body.startCall(NodeBaseFactory.nodeSpecializationClassName(node.getSpecializations().get(0)), FACTORY_METHOD_NAME); - } + body.startNew(NodeGenFactory.nodeType(node)); for (VariableElement var : method.getParameters()) { body.string(var.getSimpleName().toString()); }