aboutsummaryrefslogtreecommitdiffstats
path: root/main/core/parser/ast/SymbolNode.java
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2016-06-28 21:09:43 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2016-07-26 19:47:12 +0300
commit8f84c00978dc05007873a9fe1de6a18511dc3cf8 (patch)
tree39fead540e22addee40b95b68db08cbea620745b /main/core/parser/ast/SymbolNode.java
parent48dcd488054024d98fe1e659a4029630130d1d35 (diff)
Restructure project for use with maven
Diffstat (limited to 'main/core/parser/ast/SymbolNode.java')
-rw-r--r--main/core/parser/ast/SymbolNode.java70
1 files changed, 0 insertions, 70 deletions
diff --git a/main/core/parser/ast/SymbolNode.java b/main/core/parser/ast/SymbolNode.java
deleted file mode 100644
index 5a4346a..0000000
--- a/main/core/parser/ast/SymbolNode.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.jantuomi.interpreter.main.core.parser.ast;
-
-import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer;
-import com.jantuomi.interpreter.main.core.runtime.State;
-import com.jantuomi.interpreter.main.core.tokenizer.token.Token;
-import com.jantuomi.interpreter.main.exception.ExceptionManager;
-import com.jantuomi.interpreter.main.exception.InterpreterException;
-import com.sun.deploy.util.StringUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Created by jan on 17.6.2016.
- */
-public class SymbolNode extends ASTNode {
-
- public ParameterListNode getParameterListNode() {
- return parameterListNode;
- }
-
- public void setParameterListNode(ParameterListNode parameterListNode) {
- this.parameterListNode = parameterListNode;
- }
-
- private ParameterListNode parameterListNode;
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getName() {
- return name;
- }
-
- private String name;
-
- public SymbolNode(Token token) {
- super(token);
- }
-
- @Override
- public DataContainer evaluate() throws InterpreterException {
- List<DataContainer> paramValues = new ArrayList<>();
- if (parameterListNode != null) {
- for (ASTNode param : parameterListNode.getChildren()) {
- paramValues.add(param.evaluate());
- }
- }
- DataContainer returnValue = State.getInstance().getSymbolValue(name, paramValues);
- if (returnValue != null) {
- return returnValue;
- } else {
- ExceptionManager.raise(InterpreterException.ExceptionType.UndeclaredSymbolError, source.getLine(), name,
- StringUtils.join(paramValues.stream().map(dataContainer -> dataContainer.toString()).collect(Collectors.toList()), ","));
- return null;
- }
- }
-
- @Override
- List<ASTNode> getChildren() {
- if (parameterListNode == null) {
- return Arrays.asList();
- } else {
- return Arrays.asList(parameterListNode);
- }
- }
-}