public Frame(Frame frame, StackOperation operation, Label label) { this.operation = operation; this.label = label; if (frame != null) { frame.nextFrame(this); } }
public void addOp(StackOperation operation) { lastFrame = new Frame(lastFrame, operation, lastLabel); if (operation is Return || operation is Throw) { lastFrame.terminal = true; lastFrame.blockEndsHere = true; } if (firstFrame == null) { firstFrame = lastFrame; } applyLastLabel(); }
public void addOp(StackOperation operation) { operations.Add(operation); }