summaryrefslogtreecommitdiff
path: root/sources/scalac/atree
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-12-10 17:02:37 +0000
committerpaltherr <paltherr@epfl.ch>2003-12-10 17:02:37 +0000
commitda6aa22fc8c683a8a520dd84d93e4f9202008120 (patch)
treeccbdcbf046fe264311530d68716de7a287fead08 /sources/scalac/atree
parent806aab5f096cbaaefe61e57712af8700c0a7742c (diff)
downloadscala-da6aa22fc8c683a8a520dd84d93e4f9202008120.tar.gz
scala-da6aa22fc8c683a8a520dd84d93e4f9202008120.tar.bz2
scala-da6aa22fc8c683a8a520dd84d93e4f9202008120.zip
- Added constant translation
Diffstat (limited to 'sources/scalac/atree')
-rw-r--r--sources/scalac/atree/ATreeFromSTree.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/sources/scalac/atree/ATreeFromSTree.java b/sources/scalac/atree/ATreeFromSTree.java
index 79a5ac330c..19129dcef8 100644
--- a/sources/scalac/atree/ATreeFromSTree.java
+++ b/sources/scalac/atree/ATreeFromSTree.java
@@ -10,6 +10,7 @@ package scalac.atree;
import scalac.Unit;
import scalac.symtab.Definitions;
+import scalac.util.Debug;
/** This class translates syntax trees into attributed trees. */
public class ATreeFromSTree {
@@ -40,4 +41,21 @@ public class ATreeFromSTree {
}
//########################################################################
+ // Private Methods - Translating constants
+
+ /** Translates the constant. */
+ private AConstant constant(Object value) {
+ if (value instanceof Boolean ) return make.BOOLEAN((Boolean )value);
+ if (value instanceof Byte ) return make.BYTE (((Byte )value));
+ if (value instanceof Short ) return make.SHORT ((Short )value);
+ if (value instanceof Character) return make.CHAR ((Character)value);
+ if (value instanceof Integer ) return make.INT ((Integer )value);
+ if (value instanceof Long ) return make.LONG ((Long )value);
+ if (value instanceof Float ) return make.FLOAT ((Float )value);
+ if (value instanceof Double ) return make.DOUBLE ((Double )value);
+ if (value instanceof String ) return make.STRING ((String )value);
+ throw Debug.abort("illegal constant", value +" -- "+ value.getClass());
+ }
+
+ //########################################################################
}