Blame view
circus/src/jcircus/complementaryenvs/MuStackEnv.java
1.25 KB
8d0dc533f
![]() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
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(); } } |