diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/TemplateMethod.java @ 18761:a665483c3881

Truffle-DSL: new node layout implementation.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:38:54 +0100
parents 5ede308adf68
children ae81dd154fb6
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/TemplateMethod.java	Mon Dec 29 23:38:50 2014 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/TemplateMethod.java	Mon Dec 29 23:38:54 2014 +0100
@@ -68,6 +68,13 @@
         this.id = id;
     }
 
+    public String createReferenceName() {
+        if (getMethod() == null) {
+            return "-";
+        }
+        return ElementUtils.createReferenceName(getMethod());
+    }
+
     public int getNaturalOrder() {
         return naturalOrder;
     }
@@ -160,6 +167,15 @@
         return foundParameters;
     }
 
+    public Parameter findParameterOrDie(NodeExecutionData execution) {
+        for (Parameter parameter : parameters) {
+            if (parameter.getSpecification().isSignature() && parameter.getSpecification().getExecution() == execution) {
+                return parameter;
+            }
+        }
+        throw new AssertionError("Could not find parameter for execution");
+    }
+
     public List<Parameter> findByExecutionData(NodeExecutionData execution) {
         List<Parameter> foundParameters = new ArrayList<>();
         for (Parameter parameter : getParameters()) {