uk.co.badgersinfoil.jactionscript.analysis
Class SimpleStackSimulator

java.lang.Object
  |
  +--uk.co.badgersinfoil.jactionscript.analysis.SimpleStackSimulator
All Implemented Interfaces:
Visitor

public class SimpleStackSimulator
extends java.lang.Object
implements Visitor

Builds a picture of the actionscript stack layout as each instruction is executed, driving an implementation of StackListener.

For example, when a NOT action is encountered, we pop an Operand off our emulated stack, create a new Operand to hold the result, and then pass these values to StackListener.visitNOT(Action,Operand,Operand). The result-Operand's value isn't calculated, though the StackListener implementation may fill this in. When visitNot() returns, the SimpleStackSimulator pushes the result Operand onto the stack.

The only time that this class fills in the value for Operands is where constant values are pushed onto the stack. Without this, we wouldn't be able to resonably emulate things like function-calls, where the number of values to pop off the stack is determined by the (usually constant) value on the top of the stack.

Since no attempt is made to follow the branches in the flow of control produced by BranchAction subclasses, encountering any Action that is a branch, or that is the target of a branch invalidates all our guesses about the stack layout. Later attempts to read from this invalid part of the stack will always produce Operands with unknown values.


Field Summary
protected  LookupTable currentLookupTable
           
protected  StackInfo stack
           
 
Constructor Summary
SimpleStackSimulator(StackListener listener)
           
 
Method Summary
protected  void invalidateState()
           
protected  Operand pop()
          convenience method; calls stack.pop()
protected  java.util.List popArgs()
          pops a list of arguments off the stack ant returns the Operand objects in a List.
protected  void push(Operand entry)
          convenience method; calls stack.push(entry)
 void visitADD(Action action)
           
 void visitAND(Action action)
           
 void visitASCII_TO_CHAR_MB(Action action)
           
 void visitASCII_TO_CHAR(Action action)
           
 void visitBIT_AND(Action action)
           
 void visitBIT_OR(Action action)
           
 void visitBIT_XOR(Action action)
           
 void visitCALL_FUNCTION(Action action)
           
 void visitCALL_METHOD(Action action)
           
 void visitCALL(Action action)
           
 void visitCHAR_MB_TO_ASCII(Action action)
           
 void visitCHAR_TO_ASCII(Action action)
           
 void visitCLONE_SPRITE(Action action)
           
 void visitCONCAT(Action action)
           
 void visitCONVERT_TO_NUMBER(Action action)
           
 void visitCONVERT_TO_STRING(Action action)
           
 void visitDECREMENT(Action action)
           
 void visitDEFINE_LOCAL_VALUE(Action action)
           
 void visitDEFINE_LOCAL(Action action)
           
 void visitDELETE_PROPERTY(Action action)
           
 void visitDELETE_THREAD_VARS(Action action)
           
 void visitDIVIDE(Action action)
           
 void visitDUPLICATE(Action action)
           
 void visitEND_DRAG(Action action)
           
 void visitEnd(ActionList list)
          Called after the last Action in a list is visited
 void visitENUMERATE_OBJECT(Action action)
           
 void visitENUMERATE(Action action)
           
 void visitEQUALS(Action action)
           
 void visitGET_MEMBER(Action action)
           
 void visitGET_PROPERTY(Action action)
           
 void visitGET_TARGET_PATH(Action action)
           
 void visitGET_TIME(Action action)
           
 void visitGET_URL(GetURLAction action)
           
 void visitGET_URL2(GetURL2Action action)
           
 void visitGET_VARIABLE(Action action)
           
 void visitGOTO_FRAME(GotoFrameAction action)
           
 void visitGOTO_FRAME2(GotoFrame2Action action)
           
 void visitGOTO_LABEL(GotoLabelAction action)
           
 void visitGREATER_THAN(Action action)
           
 void visitHandle(ActionHandle handle)
          the handle of a Action is always visited before the Action itself.
 void visitIF_JUMP(IfJumpAction action)
           
 void visitINCREMENT(Action action)
           
 void visitINIT_ARRAY(Action action)
           
 void visitINIT_OBJECT(Action action)
           
 void visitINSTANCE_OF(Action action)
           
 void visitJUMP(JumpAction action)
           
 void visitLESS_THAN(Action action)
           
 void visitLOOKUP_TABLE(LookupTableAction action)
           
 void visitLOOKUP(LookupAction action)
           
 void visitMODULO(Action action)
           
 void visitMULTIPLY(Action action)
           
 void visitNEW_METHOD(Action action)
           
 void visitNEW_OBJECT(Action action)
           
 void visitNEXT_FRAME(Action action)
           
 void visitNOT(Action action)
           
 void visitOR(Action action)
           
 void visitPLAY(Action action)
           
 void visitPOP(Action action)
           
 void visitPREV_FRAME(Action action)
           
 void visitPUSH(PushAction action)
           
 void visitRANDOM_NUMBER(Action action)
           
 void visitREMOVE_SPRITE(Action action)
           
 void visitRETURN_VALUE(Action action)
           
 void visitSET_MEMBER(Action action)
           
 void visitSET_PROPERTY(Action action)
           
 void visitSET_TARGET_2(Action action)
           
 void visitSET_TARGET(SetTargetAction action)
           
 void visitSET_VARIABLE(Action action)
           
 void visitSHIFT_LEFT(Action action)
           
 void visitSHIFT_RIGHT_UNSIGNED(Action action)
           
 void visitSHIFT_RIGHT(Action action)
           
 void visitSTART_DRAG(Action action)
           
 void visitSTART_FUNCTION(StartFunctionAction action)
           
 void visitSTART_WITH(Action action)
           
 void visitSTOP_SOUNDS(Action action)
           
 void visitSTOP(Action action)
           
 void visitSTORE_IN_REGISTER(StoreInRegisterAction action)
           
 void visitSTRICT_EQUALS(Action action)
           
 void visitSTRING_EQUALS(Action action)
           
 void visitSTRING_GREATER_THAN(Action action)
           
 void visitSTRING_LENGTH_MB(Action action)
           
 void visitSTRING_LENGTH(Action action)
           
 void visitSTRING_LESS_THAN(Action action)
           
 void visitSUBSTRING_MB(Action action)
           
 void visitSUBSTRING(Action action)
           
 void visitSUBTRACT(Action action)
           
 void visitSWAP(Action action)
           
 void visitTO_INTEGER(Action action)
           
 void visitTOGGLE_QUALITY(Action action)
           
 void visitTRACE(Action action)
           
 void visitTYPE_OF(Action action)
           
 void visitTYPED_ADD(Action action)
           
 void visitTYPED_EQUALS(Action action)
           
 void visitTYPED_LESS_THAN(Action action)
           
 void visitUNKNOWN(UnknownAction action)
           
 void visitWAIT_FOR_FRAME_2(WaitForFrame2Action action)
           
 void visitWAIT_FOR_FRAME(WaitForFrameAction action)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stack

protected StackInfo stack

currentLookupTable

protected LookupTable currentLookupTable
Constructor Detail

SimpleStackSimulator

public SimpleStackSimulator(StackListener listener)
Method Detail

push

protected void push(Operand entry)
convenience method; calls stack.push(entry)


pop

protected Operand pop()
convenience method; calls stack.pop()


invalidateState

protected void invalidateState()

popArgs

protected java.util.List popArgs()
pops a list of arguments off the stack ant returns the Operand objects in a List. The number of arguments is expected as the value on the top of the stack; after the argument count is poped, the number of values indicated are poped and added to the result List. If the arguemnt count is 0, this mathod will return null, rather than an empty List.


visitHandle

public void visitHandle(ActionHandle handle)
                 throws JASVisitorException
Description copied from interface: Visitor
the handle of a Action is always visited before the Action itself. (The implementation of visitHandle() doesn't have to visit the Action referenced by the handle, this is done elsewhere.)

Specified by:
visitHandle in interface Visitor
JASVisitorException

visitEnd

public void visitEnd(ActionList list)
              throws JASVisitorException
Description copied from interface: Visitor
Called after the last Action in a list is visited

Specified by:
visitEnd in interface Visitor
JASVisitorException

visitADD

public void visitADD(Action action)
              throws JASVisitorException
Specified by:
visitADD in interface Visitor
JASVisitorException

visitAND

public void visitAND(Action action)
              throws JASVisitorException
Specified by:
visitAND in interface Visitor
JASVisitorException

visitASCII_TO_CHAR

public void visitASCII_TO_CHAR(Action action)
                        throws JASVisitorException
Specified by:
visitASCII_TO_CHAR in interface Visitor
JASVisitorException

visitASCII_TO_CHAR_MB

public void visitASCII_TO_CHAR_MB(Action action)
                           throws JASVisitorException
Specified by:
visitASCII_TO_CHAR_MB in interface Visitor
JASVisitorException

visitBIT_AND

public void visitBIT_AND(Action action)
                  throws JASVisitorException
Specified by:
visitBIT_AND in interface Visitor
JASVisitorException

visitBIT_OR

public void visitBIT_OR(Action action)
                 throws JASVisitorException
Specified by:
visitBIT_OR in interface Visitor
JASVisitorException

visitBIT_XOR

public void visitBIT_XOR(Action action)
                  throws JASVisitorException
Specified by:
visitBIT_XOR in interface Visitor
JASVisitorException

visitCALL

public void visitCALL(Action action)
               throws JASVisitorException
Specified by:
visitCALL in interface Visitor
JASVisitorException

visitCALL_FUNCTION

public void visitCALL_FUNCTION(Action action)
                        throws JASVisitorException
Specified by:
visitCALL_FUNCTION in interface Visitor
JASVisitorException

visitCALL_METHOD

public void visitCALL_METHOD(Action action)
                      throws JASVisitorException
Specified by:
visitCALL_METHOD in interface Visitor
JASVisitorException

visitCHAR_MB_TO_ASCII

public void visitCHAR_MB_TO_ASCII(Action action)
                           throws JASVisitorException
Specified by:
visitCHAR_MB_TO_ASCII in interface Visitor
JASVisitorException

visitCHAR_TO_ASCII

public void visitCHAR_TO_ASCII(Action action)
                        throws JASVisitorException
Specified by:
visitCHAR_TO_ASCII in interface Visitor
JASVisitorException

visitCLONE_SPRITE

public void visitCLONE_SPRITE(Action action)
                       throws JASVisitorException
Specified by:
visitCLONE_SPRITE in interface Visitor
JASVisitorException

visitCONCAT

public void visitCONCAT(Action action)
                 throws JASVisitorException
Specified by:
visitCONCAT in interface Visitor
JASVisitorException

visitCONVERT_TO_NUMBER

public void visitCONVERT_TO_NUMBER(Action action)
                            throws JASVisitorException
Specified by:
visitCONVERT_TO_NUMBER in interface Visitor
JASVisitorException

visitCONVERT_TO_STRING

public void visitCONVERT_TO_STRING(Action action)
                            throws JASVisitorException
Specified by:
visitCONVERT_TO_STRING in interface Visitor
JASVisitorException

visitDECREMENT

public void visitDECREMENT(Action action)
                    throws JASVisitorException
Specified by:
visitDECREMENT in interface Visitor
JASVisitorException

visitDEFINE_LOCAL

public void visitDEFINE_LOCAL(Action action)
                       throws JASVisitorException
Specified by:
visitDEFINE_LOCAL in interface Visitor
JASVisitorException

visitDEFINE_LOCAL_VALUE

public void visitDEFINE_LOCAL_VALUE(Action action)
                             throws JASVisitorException
Specified by:
visitDEFINE_LOCAL_VALUE in interface Visitor
JASVisitorException

visitDELETE_PROPERTY

public void visitDELETE_PROPERTY(Action action)
                          throws JASVisitorException
Specified by:
visitDELETE_PROPERTY in interface Visitor
JASVisitorException

visitDELETE_THREAD_VARS

public void visitDELETE_THREAD_VARS(Action action)
                             throws JASVisitorException
Specified by:
visitDELETE_THREAD_VARS in interface Visitor
JASVisitorException

visitDIVIDE

public void visitDIVIDE(Action action)
                 throws JASVisitorException
Specified by:
visitDIVIDE in interface Visitor
JASVisitorException

visitDUPLICATE

public void visitDUPLICATE(Action action)
                    throws JASVisitorException
Specified by:
visitDUPLICATE in interface Visitor
JASVisitorException

visitEND_DRAG

public void visitEND_DRAG(Action action)
                   throws JASVisitorException
Specified by:
visitEND_DRAG in interface Visitor
JASVisitorException

visitENUMERATE

public void visitENUMERATE(Action action)
                    throws JASVisitorException
Specified by:
visitENUMERATE in interface Visitor
JASVisitorException

visitENUMERATE_OBJECT

public void visitENUMERATE_OBJECT(Action action)
                           throws JASVisitorException
Specified by:
visitENUMERATE_OBJECT in interface Visitor
JASVisitorException

visitEQUALS

public void visitEQUALS(Action action)
                 throws JASVisitorException
Specified by:
visitEQUALS in interface Visitor
JASVisitorException

visitGET_MEMBER

public void visitGET_MEMBER(Action action)
                     throws JASVisitorException
Specified by:
visitGET_MEMBER in interface Visitor
JASVisitorException

visitGET_PROPERTY

public void visitGET_PROPERTY(Action action)
                       throws JASVisitorException
Specified by:
visitGET_PROPERTY in interface Visitor
JASVisitorException

visitGET_TARGET_PATH

public void visitGET_TARGET_PATH(Action action)
                          throws JASVisitorException
Specified by:
visitGET_TARGET_PATH in interface Visitor
JASVisitorException

visitGET_TIME

public void visitGET_TIME(Action action)
                   throws JASVisitorException
Specified by:
visitGET_TIME in interface Visitor
JASVisitorException

visitGET_URL2

public void visitGET_URL2(GetURL2Action action)
                   throws JASVisitorException
Specified by:
visitGET_URL2 in interface Visitor
JASVisitorException

visitGET_URL

public void visitGET_URL(GetURLAction action)
                  throws JASVisitorException
Specified by:
visitGET_URL in interface Visitor
JASVisitorException

visitGET_VARIABLE

public void visitGET_VARIABLE(Action action)
                       throws JASVisitorException
Specified by:
visitGET_VARIABLE in interface Visitor
JASVisitorException

visitGOTO_FRAME2

public void visitGOTO_FRAME2(GotoFrame2Action action)
                      throws JASVisitorException
Specified by:
visitGOTO_FRAME2 in interface Visitor
JASVisitorException

visitGOTO_FRAME

public void visitGOTO_FRAME(GotoFrameAction action)
                     throws JASVisitorException
Specified by:
visitGOTO_FRAME in interface Visitor
JASVisitorException

visitGOTO_LABEL

public void visitGOTO_LABEL(GotoLabelAction action)
                     throws JASVisitorException
Specified by:
visitGOTO_LABEL in interface Visitor
JASVisitorException

visitGREATER_THAN

public void visitGREATER_THAN(Action action)
                       throws JASVisitorException
Specified by:
visitGREATER_THAN in interface Visitor
JASVisitorException

visitIF_JUMP

public void visitIF_JUMP(IfJumpAction action)
                  throws JASVisitorException
Specified by:
visitIF_JUMP in interface Visitor
JASVisitorException

visitINCREMENT

public void visitINCREMENT(Action action)
                    throws JASVisitorException
Specified by:
visitINCREMENT in interface Visitor
JASVisitorException

visitINIT_ARRAY

public void visitINIT_ARRAY(Action action)
                     throws JASVisitorException
Specified by:
visitINIT_ARRAY in interface Visitor
JASVisitorException

visitINIT_OBJECT

public void visitINIT_OBJECT(Action action)
                      throws JASVisitorException
Specified by:
visitINIT_OBJECT in interface Visitor
JASVisitorException

visitINSTANCE_OF

public void visitINSTANCE_OF(Action action)
                      throws JASVisitorException
Specified by:
visitINSTANCE_OF in interface Visitor
JASVisitorException

visitJUMP

public void visitJUMP(JumpAction action)
               throws JASVisitorException
Specified by:
visitJUMP in interface Visitor
JASVisitorException

visitLESS_THAN

public void visitLESS_THAN(Action action)
                    throws JASVisitorException
Specified by:
visitLESS_THAN in interface Visitor
JASVisitorException

visitLOOKUP

public void visitLOOKUP(LookupAction action)
                 throws JASVisitorException
Specified by:
visitLOOKUP in interface Visitor
JASVisitorException

visitLOOKUP_TABLE

public void visitLOOKUP_TABLE(LookupTableAction action)
                       throws JASVisitorException
Specified by:
visitLOOKUP_TABLE in interface Visitor
JASVisitorException

visitMODULO

public void visitMODULO(Action action)
                 throws JASVisitorException
Specified by:
visitMODULO in interface Visitor
JASVisitorException

visitMULTIPLY

public void visitMULTIPLY(Action action)
                   throws JASVisitorException
Specified by:
visitMULTIPLY in interface Visitor
JASVisitorException

visitNEW_METHOD

public void visitNEW_METHOD(Action action)
                     throws JASVisitorException
Specified by:
visitNEW_METHOD in interface Visitor
JASVisitorException

visitNEW_OBJECT

public void visitNEW_OBJECT(Action action)
                     throws JASVisitorException
Specified by:
visitNEW_OBJECT in interface Visitor
JASVisitorException

visitNEXT_FRAME

public void visitNEXT_FRAME(Action action)
                     throws JASVisitorException
Specified by:
visitNEXT_FRAME in interface Visitor
JASVisitorException

visitNOT

public void visitNOT(Action action)
              throws JASVisitorException
Specified by:
visitNOT in interface Visitor
JASVisitorException

visitOR

public void visitOR(Action action)
             throws JASVisitorException
Specified by:
visitOR in interface Visitor
JASVisitorException

visitPLAY

public void visitPLAY(Action action)
               throws JASVisitorException
Specified by:
visitPLAY in interface Visitor
JASVisitorException

visitPOP

public void visitPOP(Action action)
              throws JASVisitorException
Specified by:
visitPOP in interface Visitor
JASVisitorException

visitPREV_FRAME

public void visitPREV_FRAME(Action action)
                     throws JASVisitorException
Specified by:
visitPREV_FRAME in interface Visitor
JASVisitorException

visitPUSH

public void visitPUSH(PushAction action)
               throws JASVisitorException
Specified by:
visitPUSH in interface Visitor
JASVisitorException

visitRANDOM_NUMBER

public void visitRANDOM_NUMBER(Action action)
                        throws JASVisitorException
Specified by:
visitRANDOM_NUMBER in interface Visitor
JASVisitorException

visitREMOVE_SPRITE

public void visitREMOVE_SPRITE(Action action)
                        throws JASVisitorException
Specified by:
visitREMOVE_SPRITE in interface Visitor
JASVisitorException

visitRETURN_VALUE

public void visitRETURN_VALUE(Action action)
                       throws JASVisitorException
Specified by:
visitRETURN_VALUE in interface Visitor
JASVisitorException

visitSET_MEMBER

public void visitSET_MEMBER(Action action)
                     throws JASVisitorException
Specified by:
visitSET_MEMBER in interface Visitor
JASVisitorException

visitSET_PROPERTY

public void visitSET_PROPERTY(Action action)
                       throws JASVisitorException
Specified by:
visitSET_PROPERTY in interface Visitor
JASVisitorException

visitSET_TARGET_2

public void visitSET_TARGET_2(Action action)
                       throws JASVisitorException
Specified by:
visitSET_TARGET_2 in interface Visitor
JASVisitorException

visitSET_TARGET

public void visitSET_TARGET(SetTargetAction action)
                     throws JASVisitorException
Specified by:
visitSET_TARGET in interface Visitor
JASVisitorException

visitSET_VARIABLE

public void visitSET_VARIABLE(Action action)
                       throws JASVisitorException
Specified by:
visitSET_VARIABLE in interface Visitor
JASVisitorException

visitSHIFT_LEFT

public void visitSHIFT_LEFT(Action action)
                     throws JASVisitorException
Specified by:
visitSHIFT_LEFT in interface Visitor
JASVisitorException

visitSHIFT_RIGHT

public void visitSHIFT_RIGHT(Action action)
                      throws JASVisitorException
Specified by:
visitSHIFT_RIGHT in interface Visitor
JASVisitorException

visitSHIFT_RIGHT_UNSIGNED

public void visitSHIFT_RIGHT_UNSIGNED(Action action)
                               throws JASVisitorException
Specified by:
visitSHIFT_RIGHT_UNSIGNED in interface Visitor
JASVisitorException

visitSTART_DRAG

public void visitSTART_DRAG(Action action)
                     throws JASVisitorException
Specified by:
visitSTART_DRAG in interface Visitor
JASVisitorException

visitSTART_FUNCTION

public void visitSTART_FUNCTION(StartFunctionAction action)
                         throws JASVisitorException
Specified by:
visitSTART_FUNCTION in interface Visitor
JASVisitorException

visitSTART_WITH

public void visitSTART_WITH(Action action)
                     throws JASVisitorException
Specified by:
visitSTART_WITH in interface Visitor
JASVisitorException

visitSTOP

public void visitSTOP(Action action)
               throws JASVisitorException
Specified by:
visitSTOP in interface Visitor
JASVisitorException

visitSTOP_SOUNDS

public void visitSTOP_SOUNDS(Action action)
                      throws JASVisitorException
Specified by:
visitSTOP_SOUNDS in interface Visitor
JASVisitorException

visitSTORE_IN_REGISTER

public void visitSTORE_IN_REGISTER(StoreInRegisterAction action)
                            throws JASVisitorException
Specified by:
visitSTORE_IN_REGISTER in interface Visitor
JASVisitorException

visitSTRICT_EQUALS

public void visitSTRICT_EQUALS(Action action)
                        throws JASVisitorException
Specified by:
visitSTRICT_EQUALS in interface Visitor
JASVisitorException

visitSTRING_EQUALS

public void visitSTRING_EQUALS(Action action)
                        throws JASVisitorException
Specified by:
visitSTRING_EQUALS in interface Visitor
JASVisitorException

visitSTRING_GREATER_THAN

public void visitSTRING_GREATER_THAN(Action action)
                              throws JASVisitorException
Specified by:
visitSTRING_GREATER_THAN in interface Visitor
JASVisitorException

visitSTRING_LENGTH

public void visitSTRING_LENGTH(Action action)
                        throws JASVisitorException
Specified by:
visitSTRING_LENGTH in interface Visitor
JASVisitorException

visitSTRING_LENGTH_MB

public void visitSTRING_LENGTH_MB(Action action)
                           throws JASVisitorException
Specified by:
visitSTRING_LENGTH_MB in interface Visitor
JASVisitorException

visitSTRING_LESS_THAN

public void visitSTRING_LESS_THAN(Action action)
                           throws JASVisitorException
Specified by:
visitSTRING_LESS_THAN in interface Visitor
JASVisitorException

visitSUBSTRING

public void visitSUBSTRING(Action action)
                    throws JASVisitorException
Specified by:
visitSUBSTRING in interface Visitor
JASVisitorException

visitSUBSTRING_MB

public void visitSUBSTRING_MB(Action action)
                       throws JASVisitorException
Specified by:
visitSUBSTRING_MB in interface Visitor
JASVisitorException

visitSUBTRACT

public void visitSUBTRACT(Action action)
                   throws JASVisitorException
Specified by:
visitSUBTRACT in interface Visitor
JASVisitorException

visitSWAP

public void visitSWAP(Action action)
               throws JASVisitorException
Specified by:
visitSWAP in interface Visitor
JASVisitorException

visitTOGGLE_QUALITY

public void visitTOGGLE_QUALITY(Action action)
                         throws JASVisitorException
Specified by:
visitTOGGLE_QUALITY in interface Visitor
JASVisitorException

visitTO_INTEGER

public void visitTO_INTEGER(Action action)
                     throws JASVisitorException
Specified by:
visitTO_INTEGER in interface Visitor
JASVisitorException

visitTRACE

public void visitTRACE(Action action)
                throws JASVisitorException
Specified by:
visitTRACE in interface Visitor
JASVisitorException

visitTYPED_ADD

public void visitTYPED_ADD(Action action)
                    throws JASVisitorException
Specified by:
visitTYPED_ADD in interface Visitor
JASVisitorException

visitTYPED_EQUALS

public void visitTYPED_EQUALS(Action action)
                       throws JASVisitorException
Specified by:
visitTYPED_EQUALS in interface Visitor
JASVisitorException

visitTYPED_LESS_THAN

public void visitTYPED_LESS_THAN(Action action)
                          throws JASVisitorException
Specified by:
visitTYPED_LESS_THAN in interface Visitor
JASVisitorException

visitTYPE_OF

public void visitTYPE_OF(Action action)
                  throws JASVisitorException
Specified by:
visitTYPE_OF in interface Visitor
JASVisitorException

visitUNKNOWN

public void visitUNKNOWN(UnknownAction action)
                  throws JASVisitorException
Specified by:
visitUNKNOWN in interface Visitor
JASVisitorException

visitWAIT_FOR_FRAME

public void visitWAIT_FOR_FRAME(WaitForFrameAction action)
                         throws JASVisitorException
Specified by:
visitWAIT_FOR_FRAME in interface Visitor
JASVisitorException

visitWAIT_FOR_FRAME_2

public void visitWAIT_FOR_FRAME_2(WaitForFrame2Action action)
                           throws JASVisitorException
Specified by:
visitWAIT_FOR_FRAME_2 in interface Visitor
JASVisitorException