changeset 8247:5b08b0f4d338

Updated some Truffle-SL classes to new naming convention.
author Christian Humer <christian.humer@gmail.com>
date Wed, 06 Mar 2013 18:33:52 +0100
parents 3862508afe2f
children c4c3f50fa9c2
files graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java
diffstat 2 files changed, 34 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java	Wed Mar 06 18:33:05 2013 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java	Wed Mar 06 18:33:52 2013 +0100
@@ -37,11 +37,6 @@
         super(node);
     }
 
-    @Generic
-    public Object doGeneric(Object left, Object right) {
-        throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName());
-    }
-
     public abstract static class AddNode extends ArithmeticNode {
 
         public AddNode(TypedNode left, TypedNode right) {
@@ -53,7 +48,7 @@
         }
 
         @Specialization(rewriteOn = ArithmeticException.class)
-        int doInteger(int left, int right) {
+        int doInt(int left, int right) {
             return ExactMath.addExact(left, right);
         }
 
@@ -63,14 +58,19 @@
         }
 
         @Specialization
-        String doStringDirect(String left, String right) {
+        String doString(String left, String right) {
             return left + right;
         }
 
         @Specialization(guards = "isString")
-        String doString(Object left, Object right) {
+        String add(Object left, Object right) {
             return left.toString() + right.toString();
         }
+
+        @Generic
+        public Object addGeneric(Object left, Object right) {
+            throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName());
+        }
     }
 
     public abstract static class SubNode extends ArithmeticNode {
@@ -84,14 +84,19 @@
         }
 
         @Specialization(rewriteOn = ArithmeticException.class)
-        int doInteger(int left, int right) {
+        int sub(int left, int right) {
             return ExactMath.subtractExact(left, right);
         }
 
         @Specialization
-        BigInteger doBigInteger(BigInteger left, BigInteger right) {
+        BigInteger sub(BigInteger left, BigInteger right) {
             return left.subtract(right);
         }
+
+        @Generic
+        public Object sub(Object left, Object right) {
+            throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName());
+        }
     }
 
     public abstract static class DivNode extends ArithmeticNode {
@@ -105,14 +110,19 @@
         }
 
         @Specialization(rewriteOn = ArithmeticException.class)
-        int doInteger(int left, int right) {
+        int div(int left, int right) {
             return left / right;
         }
 
         @Specialization
-        BigInteger doBigInteger(BigInteger left, BigInteger right) {
+        BigInteger div(BigInteger left, BigInteger right) {
             return left.divide(right);
         }
+
+        @Generic
+        public Object div(Object left, Object right) {
+            throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName());
+        }
     }
 
     public abstract static class MulNode extends ArithmeticNode {
@@ -126,14 +136,19 @@
         }
 
         @Specialization(rewriteOn = ArithmeticException.class)
-        int doInteger(int left, int right) {
+        int mul(int left, int right) {
             return ExactMath.multiplyExact(left, right);
         }
 
         @Specialization
-        BigInteger doBigInteger(BigInteger left, BigInteger right) {
+        BigInteger mul(BigInteger left, BigInteger right) {
             return left.multiply(right);
         }
+
+        @Generic
+        public Object mul(Object left, Object right) {
+            throw new RuntimeException("Arithmetic not defined for types " + left.getClass().getSimpleName() + ", " + right.getClass().getSimpleName());
+        }
     }
 
 }
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java	Wed Mar 06 18:33:05 2013 +0100
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java	Wed Mar 06 18:33:52 2013 +0100
@@ -41,31 +41,31 @@
     }
 
     @Specialization
-    public int doInteger(VirtualFrame frame, int right) {
+    public int write(VirtualFrame frame, int right) {
         frame.setInt(slot, right);
         return right;
     }
 
     @Specialization
-    public BigInteger doBigInteger(VirtualFrame frame, BigInteger right) {
+    public BigInteger write(VirtualFrame frame, BigInteger right) {
         frame.setObject(slot, right);
         return right;
     }
 
     @Specialization
-    public boolean doBoolean(VirtualFrame frame, boolean right) {
+    public boolean write(VirtualFrame frame, boolean right) {
         frame.setBoolean(slot, right);
         return right;
     }
 
     @Specialization
-    public String doString(VirtualFrame frame, String right) {
+    public String write(VirtualFrame frame, String right) {
         frame.setObject(slot, right);
         return right;
     }
 
     @Generic
-    public Object doGeneric(VirtualFrame frame, Object right) {
+    public Object write(VirtualFrame frame, Object right) {
         frame.setObject(slot, right);
         return right;
     }