diff options
Diffstat (limited to 'main/core/runtime/Function.java')
| -rw-r--r-- | main/core/runtime/Function.java | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/main/core/runtime/Function.java b/main/core/runtime/Function.java deleted file mode 100644 index 6989a68..0000000 --- a/main/core/runtime/Function.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.jantuomi.interpreter.main.core.runtime; - -import com.jantuomi.interpreter.main.core.parser.ast.BlockBodyNode; -import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; -import com.jantuomi.interpreter.main.exception.InterpreterException; - -import java.util.List; - -/** - * Created by jan on 20.6.2016. - */ -public class Function { - - private List<String> argumentNames; - - private BlockBodyNode body; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - private String name; - - public Function(List<String> argumentNames, BlockBodyNode body) { - this.argumentNames = argumentNames; - this.body = body; - } - - public DataContainer evaluate(List<DataContainer> params) throws InterpreterException { - State.getInstance().createScope(); - - if (params.size() != argumentNames.size()) { - return null; - } - - for (int i = 0; i < argumentNames.size(); i++) { - State.getInstance().addSymbolToScope(argumentNames.get(i)); - State.getInstance().setSymbolValueToScope(argumentNames.get(i), params.get(i)); - } - - DataContainer returnValue = body.evaluate(); - - State.getInstance().popScope(); - - return returnValue; - } - -} |
