package fr.inria.diverse.iot2.iot2.aspects;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
import fr.inria.diverse.iot2.iot2.iot2.Function;
@SuppressWarnings("all")
public class Environment {
private Environment parent;
private Stack<Object> values = new Stack<Object>();
private Map<String, Object> variables = new HashMap<String, Object>();
private Map<String, Function> functions = new HashMap<String, Function>();
public Environment getParent() {
return this.parent;
}
public void setParent(final Environment e) {
this.parent = e;
}
public Object getVariable(final String s) {
return this.variables.get(s);
}
public void pushValue(final Object o) {
this.values.push(o);
}
public Object popValue() {
return this.values.pop();
}
public void putFunction(final String s, final Function f) {
this.functions.put(s, f);
}
public Function getFunction(final String s) {
return this.functions.get(s);
}
public void putVariable(final String s, final Object o) {
this.variables.put(s, o);
}
public void putAllVariables(final Map<String, Object> v) {
this.variables.putAll(v);
}
public void putAllFunctions(final Map<String, Function> f) {
this.functions.putAll(f);
}
public void pushAllValues(final Stack<Object> v) {
this.values.addAll(v);
}
public Stack<Object> getValues() {
return this.values;
}
public Map<String, Object> getVariables() {
return this.variables;
}
public Map<String, Function> getFunctions() {
return this.functions;
}
}