changeset 18763:301fea50e42e

SL: migrate SL to use @GenerateNodeFactory.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:39:03 +0100
parents 0ef23ff7d5a1
children ccb97347d874
files graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java
diffstat 3 files changed, 17 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java	Mon Dec 29 23:38:59 2014 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLBuiltinNode.java	Mon Dec 29 23:39:03 2014 +0100
@@ -41,6 +41,7 @@
  */
 @NodeChild(value = "arguments", type = SLExpressionNode[].class)
 @NodeField(name = "context", type = SLContext.class)
+@GenerateNodeFactory
 public abstract class SLBuiltinNode extends SLExpressionNode {
 
     public SLBuiltinNode(SourceSection src) {
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java	Mon Dec 29 23:38:59 2014 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLAddNode.java	Mon Dec 29 23:39:03 2014 +0100
@@ -38,8 +38,8 @@
  * Type specialization on the input values is essential for the performance. This is achieved via
  * node rewriting: specialized subclasses handle just a single type, so that the generic node that
  * can handle all types is used only in cases where different types were encountered. The subclasses
- * are automatically generated by the Truffle DSL. In addition, a {@link SLAddNodeFactory factory
- * class} is generated that provides, e.g., {@link SLAddNodeFactory#create node creation}.
+ * are automatically generated by the Truffle DSL. In addition, a {@link SLAddNodeGen factory class}
+ * is generated that provides, e.g., {@link SLAddNodeGen#create node creation}.
  */
 @NodeInfo(shortName = "+")
 public abstract class SLAddNode extends SLBinaryNode {
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java	Mon Dec 29 23:38:59 2014 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java	Mon Dec 29 23:39:03 2014 +0100
@@ -235,29 +235,29 @@
         final SourceSection src = source.createSection(opToken.val, start, length);
         switch (opToken.val) {
             case "+":
-                return SLAddNodeFactory.create(src, leftNode, rightNode);
+                return SLAddNodeGen.create(src, leftNode, rightNode);
             case "*":
-                return SLMulNodeFactory.create(src, leftNode, rightNode);
+                return SLMulNodeGen.create(src, leftNode, rightNode);
             case "/":
-                return SLDivNodeFactory.create(src, leftNode, rightNode);
+                return SLDivNodeGen.create(src, leftNode, rightNode);
             case "-":
-                return SLSubNodeFactory.create(src, leftNode, rightNode);
+                return SLSubNodeGen.create(src, leftNode, rightNode);
             case "<":
-                return SLLessThanNodeFactory.create(src, leftNode, rightNode);
+                return SLLessThanNodeGen.create(src, leftNode, rightNode);
             case "<=":
-                return SLLessOrEqualNodeFactory.create(src, leftNode, rightNode);
+                return SLLessOrEqualNodeGen.create(src, leftNode, rightNode);
             case ">":
-                return SLLogicalNotNodeFactory.create(src, SLLessOrEqualNodeFactory.create(null, leftNode, rightNode));
+                return SLLogicalNotNodeGen.create(src, SLLessOrEqualNodeGen.create(null, leftNode, rightNode));
             case ">=":
-                return SLLogicalNotNodeFactory.create(src, SLLessThanNodeFactory.create(null, leftNode, rightNode));
+                return SLLogicalNotNodeGen.create(src, SLLessThanNodeGen.create(null, leftNode, rightNode));
             case "==":
-                return SLEqualNodeFactory.create(src, leftNode, rightNode);
+                return SLEqualNodeGen.create(src, leftNode, rightNode);
             case "!=":
-                return SLLogicalNotNodeFactory.create(src, SLEqualNodeFactory.create(null, leftNode, rightNode));
+                return SLLogicalNotNodeGen.create(src, SLEqualNodeGen.create(null, leftNode, rightNode));
             case "&&":
-                return SLLogicalAndNodeFactory.create(src, leftNode, rightNode);
+                return SLLogicalAndNodeGen.create(src, leftNode, rightNode);
             case "||":
-                return SLLogicalOrNodeFactory.create(src, leftNode, rightNode);
+                return SLLogicalOrNodeGen.create(src, leftNode, rightNode);
             default:
                 throw new RuntimeException("unexpected operation: " + opToken.val);
         }
@@ -290,7 +290,7 @@
         lexicalScope.locals.put(nameToken.val, frameSlot);
         final int start = nameToken.charPos;
         final int length = valueNode.getSourceSection().getCharEndIndex() - start;
-        return SLWriteLocalVariableNodeFactory.create(source.createSection("=", start, length), valueNode, frameSlot);
+        return SLWriteLocalVariableNodeGen.create(source.createSection("=", start, length), valueNode, frameSlot);
     }
 
     /**
@@ -310,7 +310,7 @@
         final SourceSection src = srcFromToken(nameToken);
         if (frameSlot != null) {
             /* Read of a local variable. */
-            return SLReadLocalVariableNodeFactory.create(src, frameSlot);
+            return SLReadLocalVariableNodeGen.create(src, frameSlot);
         } else {
             /* Read of a global name. In our language, the only global names are functions. */
             return new SLFunctionLiteralNode(src, context.getFunctionRegistry().lookup(nameToken.val));