From eb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33 Mon Sep 17 00:00:00 2001 From: GeonoTRON2000 Date: Tue, 29 Apr 2014 07:13:20 -0700 Subject: Pushed existing work --- .../shenanigans/elements/values/Function.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Shenanigans/src/org/archphantom/shenanigans/elements/values/Function.java (limited to 'Shenanigans/src/org/archphantom/shenanigans/elements/values/Function.java') diff --git a/Shenanigans/src/org/archphantom/shenanigans/elements/values/Function.java b/Shenanigans/src/org/archphantom/shenanigans/elements/values/Function.java new file mode 100644 index 0000000..2ceb15e --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/elements/values/Function.java @@ -0,0 +1,25 @@ +package org.archphantom.shenanigans.elements.values; +import java.util.ArrayList; + +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.variables.VarTable; + +public class Function extends Value { + private ArrayList arguments; + private Expression body; + + public Function (ArrayList arguments, Expression body) { + this.arguments = arguments; + this.body = body; + } + + public ArrayList getArgNames () { + return arguments; + } + + public Value getValue (VarTable vars, Program program) { + return body.evaluate(vars, program); + } + +} -- cgit v1.2.3