diff options
Diffstat (limited to 'main/core/parser/ast/NegationNode.java')
| -rw-r--r-- | main/core/parser/ast/NegationNode.java | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/main/core/parser/ast/NegationNode.java b/main/core/parser/ast/NegationNode.java deleted file mode 100644 index 1d381cb..0000000 --- a/main/core/parser/ast/NegationNode.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.jantuomi.interpreter.main.core.parser.ast; - -import com.jantuomi.interpreter.main.core.parser.datatype.BooleanDataContainer; -import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; -import com.jantuomi.interpreter.main.core.parser.datatype.IntegerDataContainer; -import com.jantuomi.interpreter.main.core.tokenizer.token.Token; -import com.jantuomi.interpreter.main.exception.ExceptionManager; -import com.jantuomi.interpreter.main.exception.InterpreterException; - -/** - * Created by jan on 21.6.2016. - */ -public class NegationNode extends UnaryOperatorNode { - public NegationNode(Token token, ASTNode operand) { - super(token, operand); - } - - @Override - public DataContainer evaluate() throws InterpreterException { - DataContainer d = getOperand().evaluate(); - - if (d instanceof BooleanDataContainer) { - return new BooleanDataContainer(!((BooleanDataContainer) d).getData()); - } - else if (d instanceof IntegerDataContainer) { - return new BooleanDataContainer( - ((IntegerDataContainer) d).getData() != 0 - ); - } - ExceptionManager.raise(InterpreterException.ExceptionType.TypeError, source.getLine(), "not", d.toString()); - return null; - - } -} |
