Blame view

circus/src/jcircus/complementaryenvs/MuStackEnv.java 1.25 KB
8d0dc533f   Madiel de Souza Conserva Filho   first
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();
  	}
  }