Mozilla/mozilla/js/js2/java/JSStack.java
rogerl%netscape.com 382f120d73 Changes for try/catch handling
git-svn-id: svn://10.0.0.236/trunk@27801 18797224-902f-48f8-a5cc-f745e15eee43
1999-04-16 02:54:56 +00:00

39 lines
690 B
Java

import java.util.Stack;
class JSStack {
Stack stack = new Stack();
int frameTop;
void newFrame(StackValue returnAddress)
{
stack.push(returnAddress);
stack.push(new StackValue(frameTop));
frameTop = stack.size();
}
StackValue popFrame()
{
stack.setSize(frameTop);
StackValue oldFrame = (StackValue)(stack.pop());
frameTop = oldFrame.i;
return (StackValue)stack.pop();
}
void push(StackValue v)
{
stack.push(v);
}
boolean isEmpty()
{
return stack.isEmpty();
}
StackValue pop()
{
return (StackValue)stack.pop();
}
}