summaryrefslogtreecommitdiff
path: root/sources/scalac/atree
diff options
context:
space:
mode:
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());
+ }
+
+ //########################################################################
}