diff options
| author | student <student@69.161.224.78> | 2018-02-12 17:17:37 -0500 |
|---|---|---|
| committer | student <student@69.161.224.78> | 2018-02-12 17:17:37 -0500 |
| commit | e1480c4e706d4902f9865f6119e71e30b4173153 (patch) | |
| tree | 01377a2021af9409f02b7bd43dba8072b216948d /base/src/bjc/dicelang/eval/FailureEvaluatorResult.java | |
| parent | 26b0cf727656b4d5984f04d73566661644c78fdd (diff) | |
Refactor EvaluatorResult
Diffstat (limited to 'base/src/bjc/dicelang/eval/FailureEvaluatorResult.java')
| -rw-r--r-- | base/src/bjc/dicelang/eval/FailureEvaluatorResult.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/base/src/bjc/dicelang/eval/FailureEvaluatorResult.java b/base/src/bjc/dicelang/eval/FailureEvaluatorResult.java new file mode 100644 index 0000000..3b641db --- /dev/null +++ b/base/src/bjc/dicelang/eval/FailureEvaluatorResult.java @@ -0,0 +1,55 @@ +package bjc.dicelang.eval; + +import bjc.dicelang.Node; +import bjc.utils.data.ITree; +import bjc.utils.data.Tree; + +public class FailureEvaluatorResult extends EvaluatorResult { + /** + * Original node data + */ + public ITree<Node> origVal; + + public FailureEvaluatorResult() { + super(Type.FAILURE); + } + + public FailureEvaluatorResult(final ITree<Node> orig) { + super(Type.FAILURE); + + origVal = orig; + } + + public FailureEvaluatorResult(final Node orig) { + this(new Tree<>(orig)); + } + + public FailureEvaluatorResult(EvaluatorResult right) { + this(new Node(Node.Type.RESULT, right)); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((origVal == null) ? 0 : origVal.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + FailureEvaluatorResult other = (FailureEvaluatorResult) obj; + if (origVal == null) { + if (other.origVal != null) + return false; + } else if (!origVal.equals(other.origVal)) + return false; + return true; + } +} |
