diff options
Diffstat (limited to 'main/core/parser/ast/AdditionNode.java')
| -rw-r--r-- | main/core/parser/ast/AdditionNode.java | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/main/core/parser/ast/AdditionNode.java b/main/core/parser/ast/AdditionNode.java index f6ebc84..46f67a4 100644 --- a/main/core/parser/ast/AdditionNode.java +++ b/main/core/parser/ast/AdditionNode.java @@ -6,31 +6,31 @@ import com.jantuomi.interpreter.main.core.tokenizer.token.Token; import java.util.Arrays; import java.util.List; - /** - * Created by jan on 13.6.2016. + * Created by jan on 16.6.2016. */ -public class AdditionNode extends ExpressionNode { - - private ExpressionNode lhs; - private ExpressionNode rhs; +public class AdditionNode extends ASTNode { - public AdditionNode(ExpressionNode lhs, ExpressionNode rhs) { - super(new Token(Token.Type.AdditionToken)); + private ASTNode lhs; + private ASTNode rhs; + public AdditionNode(Token token, ASTNode lhs, ASTNode rhs) { + super(token); this.lhs = lhs; this.rhs = rhs; } @Override - public List<ASTNode> getChildren() { - return Arrays.asList(lhs, rhs); - } + public DataContainer evaluate() { + DataContainer operand1 = lhs.evaluate(); + DataContainer operand2 = rhs.evaluate(); + DataContainer result = operand1.add(operand2); + return result; + + } @Override - public DataContainer evaluate() { - DataContainer lhs = this.lhs.evaluate(); - DataContainer rhs = this.rhs.evaluate(); - return lhs.add(rhs); + List<ASTNode> getChildren() { + return Arrays.asList(lhs, rhs); } } |
