uk.co.badgersinfoil.jactionscript.analysis
Class VariableProcessor

java.lang.Object
  |
  +--uk.co.badgersinfoil.jactionscript.analysis.FilterStackListener
        |
        +--uk.co.badgersinfoil.jactionscript.analysis.VariableProcessor
All Implemented Interfaces:
StackListener

public class VariableProcessor
extends FilterStackListener

FIXME: this is just a toy implementation, taking no account of scoping rules


Nested Class Summary
 
Nested classes inherited from class uk.co.badgersinfoil.jactionscript.analysis.StackListener
StackListener.DragBox
 
Constructor Summary
VariableProcessor(StackListener listener)
           
 
Method Summary
 void visitDEFINE_LOCAL_VALUE(Action action, Operand name, Operand value)
           
 void visitDEFINE_LOCAL(Action action, Operand name)
           
 void visitDELETE_THREAD_VARS(Action action, Operand name)
           
 void visitGET_VARIABLE(Action action, Operand name, Operand result)
           
 void visitSET_VARIABLE(Action action, Operand name, Operand value)
           
 
Methods inherited from class uk.co.badgersinfoil.jactionscript.analysis.FilterStackListener
visitADD, visitAND, visitASCII_TO_CHAR_MB, visitASCII_TO_CHAR, visitBIT_AND, visitBIT_OR, visitBIT_XOR, visitCALL_FUNCTION, visitCALL_METHOD, visitCHAR_MB_TO_ASCII, visitCHAR_TO_ASCII, visitCONCAT, visitCONVERT_TO_NUMBER, visitCONVERT_TO_STRING, visitDECREMENT, visitDELETE_PROPERTY, visitDIVIDE, visitDUPLICATE, visitEND_DRAG, visitEnd, visitENUMERATE_OBJECT, visitENUMERATE, visitEQUALS, visitGET_MEMBER, visitGET_PROPERTY, visitGET_TIME, visitGET_URL, visitGET_URL2, visitGOTO_FRAME, visitGOTO_FRAME2, visitGREATER_THAN, visitHandle, visitIF_JUMP, visitINCREMENT, visitINSTANCE_OF, visitJUMP, visitLESS_THAN, visitLOOKUP_TABLE, visitLOOKUP, visitMODULO, visitMULTIPLY, visitNEW_OBJECT, visitNEXT_FRAME, visitNOT, visitOR, visitPLAY, visitPOP, visitPREV_FRAME, visitPUSH, visitRANDOM_NUMBER, visitREMOVE_SPRITE, visitRETURN_VALUE, visitSET_MEMBER, visitSET_PROPERTY, visitSET_TARGET_2, visitSET_TARGET, visitSHIFT_LEFT, visitSHIFT_RIGHT_UNSIGNED, visitSHIFT_RIGHT, visitSTART_DRAG, visitSTART_FUNCTION, visitSTOP_SOUNDS, visitSTOP, visitSTORE_IN_REGISTER, visitSTRICT_EQUALS, visitSTRING_EQUALS, visitSTRING_GREATER_THAN, visitSTRING_LENGTH_MB, visitSTRING_LENGTH, visitSTRING_LESS_THAN, visitSUBSTRING, visitSUBTRACT, visitSWAP, visitTO_INTEGER, visitTOGGLE_QUALITY, visitTRACE, visitTYPE_OF, visitTYPED_ADD, visitTYPED_EQUALS, visitTYPED_LESS_THAN
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableProcessor

public VariableProcessor(StackListener listener)
Method Detail

visitDEFINE_LOCAL

public void visitDEFINE_LOCAL(Action action,
                              Operand name)
                       throws JASVisitorException
Specified by:
visitDEFINE_LOCAL in interface StackListener
Overrides:
visitDEFINE_LOCAL in class FilterStackListener
JASVisitorException

visitDEFINE_LOCAL_VALUE

public void visitDEFINE_LOCAL_VALUE(Action action,
                                    Operand name,
                                    Operand value)
                             throws JASVisitorException
Specified by:
visitDEFINE_LOCAL_VALUE in interface StackListener
Overrides:
visitDEFINE_LOCAL_VALUE in class FilterStackListener
JASVisitorException

visitDELETE_THREAD_VARS

public void visitDELETE_THREAD_VARS(Action action,
                                    Operand name)
                             throws JASVisitorException
Specified by:
visitDELETE_THREAD_VARS in interface StackListener
Overrides:
visitDELETE_THREAD_VARS in class FilterStackListener
JASVisitorException

visitGET_VARIABLE

public void visitGET_VARIABLE(Action action,
                              Operand name,
                              Operand result)
                       throws JASVisitorException
Specified by:
visitGET_VARIABLE in interface StackListener
Overrides:
visitGET_VARIABLE in class FilterStackListener
JASVisitorException

visitSET_VARIABLE

public void visitSET_VARIABLE(Action action,
                              Operand name,
                              Operand value)
                       throws JASVisitorException
Specified by:
visitSET_VARIABLE in interface StackListener
Overrides:
visitSET_VARIABLE in class FilterStackListener
JASVisitorException