From 9ce39956fa1702f157c347dc4b8807d9b5dd2185 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 18 Apr 2016 08:34:32 -0400 Subject: Reimplemented basic optimization. --- .../java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java') diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java b/dice-lang/src/main/java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java index b12b516..994a680 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/nodes/ILiteralDiceNode.java @@ -26,6 +26,22 @@ public interface ILiteralDiceNode extends IDiceASTNode { */ DiceLiteralType getLiteralType(); + /** + * Optimize this node to a constant if possible + * + * @return This node in constant form if possible + * @see bjc.dicelang.IDiceExpression#optimize() + */ + int optimize(); + + /** + * Check if this node can be optimized to a constant + * + * @return Whether or not this node can be optimized to a constant + * @see bjc.dicelang.IDiceExpression#canOptimize() + */ + boolean canOptimize(); + /** * Check if a token represents a literal, and if so, what type * -- cgit v1.2.3