diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-04 10:08:00 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-04 10:08:00 -0400 |
| commit | 66b3ea905d077577a32ed82983b0cd9e8ee10bea (patch) | |
| tree | e1038a380c0714d4dda986514b365b9e474d3c15 /dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java | |
| parent | b296ecf265120a0cac9cc5c558bdc60c6a27fff2 (diff) | |
Work on optimizations
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java b/dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java index 93a75b9..c6aa0a7 100644 --- a/dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java +++ b/dice-lang/src/main/java/bjc/dicelang/IDiceExpression.java @@ -14,4 +14,27 @@ public interface IDiceExpression { * @return The result of rowing the dice */ public int roll(); -} + + /** + * Optimize this expression to a scalar value + * + * @return This expression, optimized to a scalar value + * + * @throws UnsupportedOperationException + * if this type of expression can't be optimized + */ + public default int optimize() { + throw new UnsupportedOperationException( + "Can't optimize this type of expression"); + } + + /** + * Check if this expression can be optimized to a scalar value + * + * @return Whether or not this expression can be optimized to a scalar + * value + */ + public default boolean canOptimize() { + return false; + } +}
\ No newline at end of file |
