package jcircus.complementaryenvs;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Stack;
import java.util.Vector;
import jcircus.environment.NameTypeEnv;
public class MuStackEnv {
private HashMap <String, Stack <NameTypeEnv>> map;
public MuStackEnv () {
this.map = new LinkedHashMap <String, Stack <NameTypeEnv>> ();
}
private Vector <String> keys () {
Vector <String> keys = new Vector <String> ();
Object [] objkeys = this.map.keySet().toArray();
for (int i = 0; i < objkeys.length; i++) {
keys.addElement((String) objkeys [i]);
}
return keys;
}
public void push (String muname, NameTypeEnv nte) {
if (map.containsKey(muname)) {
this.map.get(muname).push(nte);
}
else {
Stack <NameTypeEnv> stack = new Stack <NameTypeEnv> ();
stack.push(nte);
this.map.put(muname, stack);
}
if (muname.equals("XActivateZone")) {
System.out.print ("");
}
}
public void pop (String muname) {
if (map.containsKey(muname)) {
this.map.get(muname).pop();
}
if (muname.equals("XActivateZone")) {
System.out.print ("");
}
}
public NameTypeEnv getCurrentNameTypeEnv (String muname) {
if (this.map.get(muname).size() == 0) {
System.out.print ("");
}
return this.map.get(muname).lastElement();
}
}