summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java')
-rw-r--r--dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java b/dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java
new file mode 100644
index 0000000..b398ac6
--- /dev/null
+++ b/dice-lang/src/bjc/dicelang/ast/nodes/DiceLiteralNode.java
@@ -0,0 +1,52 @@
+package bjc.dicelang.ast.nodes;
+
+import bjc.dicelang.IDiceExpression;
+
+/**
+ * Represents a literal backed by a dice expression
+ *
+ * @author ben
+ *
+ */
+public class DiceLiteralNode implements ILiteralDiceNode {
+ private IDiceExpression expression;
+
+ /**
+ * Create a new literal from an expression
+ *
+ * @param exp
+ * The expression to attempt to create a literal from
+ */
+ public DiceLiteralNode(IDiceExpression exp) {
+ expression = exp;
+ }
+
+ @Override
+ public boolean canOptimize() {
+ return expression.canOptimize();
+ }
+
+ @Override
+ public DiceLiteralType getLiteralType() {
+ return DiceLiteralType.DICE;
+ }
+
+ /**
+ * Return the expression being represented
+ *
+ * @return The expression being represented
+ */
+ public IDiceExpression getValue() {
+ return expression;
+ }
+
+ @Override
+ public int optimize() {
+ return expression.optimize();
+ }
+
+ @Override
+ public String toString() {
+ return expression.toString();
+ }
+}