Committing changes to leftsize->rightSize, more comments, and handling
[repair.git] / Repair / RepairCompiler / MCC / IR / SymbolTableStack.java
1 package MCC.IR;
2
3 import java.util.*;
4
5 public class SymbolTableStack {
6
7     SymbolTable st;
8
9     SymbolTableStack() {
10         st = null;
11     }
12
13     SymbolTableStack(SymbolTable st) {
14         this.st = st;
15     }
16
17     boolean empty() {
18         return st == null;
19     }
20
21     SymbolTable peek() {
22         return st;
23     }
24
25     SymbolTable pop() {
26         if (st == null) {
27             throw new IRException("SymbolTableStack: tried to pop empty stack.");
28         }
29
30         SymbolTable lastst = st;
31         st = st.getParent();
32         return lastst;
33     }
34
35     // Link and push.
36     void push(SymbolTable st) {
37         if (st != null) {
38             st.setParent(this.st);
39         }
40
41         this.st = st;
42     }
43 }