/*
* ExecutionContext.java
* @Author Oleg Gorobets
* Created: 26.07.2007
* CVS-ID: $Id:
*************************************************************************/
package org.swfparser;
import java.util.List;
import java.util.Map;
import java.util.Stack;
import com.jswiff.swfrecords.actions.Action;
import com.jswiff.swfrecords.tags.Tag;
public interface ExecutionContext {
/**
* Stack of operations under which the current context executes
*
* @return
*/
public Stack<Operation> getOperationStack();
/**
* Current execution stack of operations
*
* @return
*/
public Stack<Operation> getExecStack();
/**
* Set current execution stack
*
* @param stack
*/
public void setExecStack(Stack<Operation> stack);
/**
* @return
*/
public Stack<Action> getActionStack();
/**
* @param actions
*/
public void setActionStack(Stack<Action> actions);
/**
* @return
*/
public List<String> getConstants();
public void setConstants(List<String> constants);
/**
* @return
*/
public List<Operation> getRegisters();
/**
* @param registers
*/
public void setRegisters(List<Operation> registers);
/**
* @param labels
*/
// public void setLabels(Map<String,Action> labels);
/**
* @return
*/
// public Map<String,Action> getLabels();
/**
* @return
*/
public Stack<StatementBlockMoment> getMomentStack();
/**
* Branch analyzer
*
* @return
*/
// public PatternAnalyzer getPatternAnalyzer();
//
// public void setPatternAnalyzer(PatternAnalyzer analyzer);
public PatternAnalyzerEx getPatternAnalyzerEx();
public void setPatternAnalyzerEx(PatternAnalyzerEx analyzer);
/**
* Current tag
*
* @param tag
*/
public void setTag(Tag tag);
public Tag getTag();
/**
* Current frame number
*
* @param frameNum
*/
public void setFrameNumber(int frameNum);
public int getFrameNumber();
}