korat.instrumentation.bytecode
Class JavassistInstructionVisitor

java.lang.Object
  extended by korat.instrumentation.bytecode.VisitorSupport
      extended by korat.instrumentation.bytecode.JavassistInstructionVisitor
All Implemented Interfaces:
BytecodeVisitor
Direct Known Subclasses:
ArrayBytecodesVisitor, StackTracerVisitor

public class JavassistInstructionVisitor
extends VisitorSupport

Author:
Aleksandar Milicevic

Field Summary
protected  CtClass booleanType
           
protected  CtClass byteType
           
protected  CtClass charType
           
protected  ClassPool classPool
           
protected  CtClass classType
           
protected  ConstPool constPool
           
protected  CtClass doubleType
           
protected  CtClass floatType
           
protected  CtClass intType
           
protected  CtClass longType
           
protected  CtClass objectType
           
protected  OperandStack operandStack
           
protected  CtClass shortType
           
protected  CtClass stringType
           
protected  CtClass voidType
           
 
Constructor Summary
JavassistInstructionVisitor(ClassPool classPool, ConstPool constPool, OperandStack localStack)
           
 
Method Summary
protected  boolean checkArrayType(CtClass componentType)
           
protected  boolean checkArrayType(int cpIdx)
           
protected  boolean checkArrayType(String arrayComponentClassName)
           
 
Methods inherited from class korat.instrumentation.bytecode.VisitorSupport
postVisit, preVisit, visitAALOAD, visitAASTORE, visitACONST_NULL, visitALOAD_0, visitALOAD_1, visitALOAD_2, visitALOAD_3, visitALOAD, visitANEWARRAY, visitARETURN, visitARRAYLENGTH, visitASTORE_0, visitASTORE_1, visitASTORE_2, visitASTORE_3, visitASTORE, visitATHROW, visitBALOAD, visitBASTORE, visitBIPUSH, visitBREAKPOINT, visitCALOAD, visitCASTORE, visitCHECKCAST, visitD2F, visitD2I, visitD2L, visitDADD, visitDALOAD, visitDASTORE, visitDCMPG, visitDCMPL, visitDCONST_0, visitDCONST_1, visitDDIV, visitDLOAD_0, visitDLOAD_1, visitDLOAD_2, visitDLOAD_3, visitDLOAD, visitDMUL, visitDNEG, visitDREM, visitDRETURN, visitDSTORE_0, visitDSTORE_1, visitDSTORE_2, visitDSTORE_3, visitDSTORE, visitDSUB, visitDUP_X1, visitDUP_X2, visitDUP, visitDUP2_X1, visitDUP2_X2, visitDUP2, visitF2D, visitF2I, visitF2L, visitFADD, visitFALOAD, visitFASTORE, visitFCMPG, visitFCMPL, visitFCONST_0, visitFCONST_1, visitFCONST_2, visitFDIV, visitFLOAD_0, visitFLOAD_1, visitFLOAD_2, visitFLOAD_3, visitFLOAD, visitFMUL, visitFNEG, visitFREM, visitFRETURN, visitFSTORE_0, visitFSTORE_1, visitFSTORE_2, visitFSTORE_3, visitFSTORE, visitFSUB, visitGETFIELD, visitGETSTATIC, visitGOTO_W, visitGOTO, visitI2B, visitI2C, visitI2D, visitI2F, visitI2L, visitI2S, visitIADD, visitIALOAD, visitIAND, visitIASTORE, visitICONST_0, visitICONST_1, visitICONST_2, visitICONST_3, visitICONST_4, visitICONST_5, visitICONST_M1, visitIDIV, visitIF_ACMPEQ, visitIF_ACMPNE, visitIF_ICMPEQ, visitIF_ICMPGE, visitIF_ICMPGT, visitIF_ICMPLE, visitIF_ICMPLT, visitIF_ICMPNE, visitIFEQ, visitIFGE, visitIFGT, visitIFLE, visitIFLT, visitIFNE, visitIFNONNULL, visitIFNULL, visitIINC, visitILOAD_0, visitILOAD_1, visitILOAD_2, visitILOAD_3, visitILOAD, visitIMPDEP1, visitIMPDEP2, visitIMUL, visitINEG, visitINSTANCEOF, visitINVOKEINTERFACE, visitINVOKESPECIAL, visitINVOKESTATIC, visitINVOKEVIRTUAL, visitIOR, visitIREM, visitIRETURN, visitISHL, visitISHR, visitISTORE_0, visitISTORE_1, visitISTORE_2, visitISTORE_3, visitISTORE, visitISUB, visitIUSHR, visitIXOR, visitJSR_W, visitJSR, visitL2D, visitL2F, visitL2I, visitLADD, visitLALOAD, visitLAND, visitLASTORE, visitLCMP, visitLCONST_0, visitLCONST_1, visitLDC_W, visitLDC, visitLDC2_W, visitLDIV, visitLLOAD_0, visitLLOAD_1, visitLLOAD_2, visitLLOAD_3, visitLLOAD, visitLMUL, visitLNEG, visitLOOKUPSWITCH, visitLOR, visitLREM, visitLRETURN, visitLSHL, visitLSHR, visitLSTORE_0, visitLSTORE_1, visitLSTORE_2, visitLSTORE_3, visitLSTORE, visitLSUB, visitLUSHR, visitLXOR, visitMONITORENTER, visitMONITOREXIT, visitMULTIANEWARRAY, visitNEW, visitNEWARRAY, visitNOP, visitPOP, visitPOP2, visitPUTFIELD, visitPUTSTATIC, visitRET, visitRETURN, visitSALOAD, visitSASTORE, visitSIPUSH, visitSWAP, visitTABLESWITCH, visitWIDE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classPool

protected ClassPool classPool

constPool

protected ConstPool constPool

operandStack

protected OperandStack operandStack

objectType

protected CtClass objectType

stringType

protected CtClass stringType

classType

protected CtClass classType

booleanType

protected CtClass booleanType

byteType

protected CtClass byteType

charType

protected CtClass charType

doubleType

protected CtClass doubleType

floatType

protected CtClass floatType

intType

protected CtClass intType

longType

protected CtClass longType

shortType

protected CtClass shortType

voidType

protected CtClass voidType
Constructor Detail

JavassistInstructionVisitor

public JavassistInstructionVisitor(ClassPool classPool,
                                   ConstPool constPool,
                                   OperandStack localStack)
Method Detail

checkArrayType

protected boolean checkArrayType(int cpIdx)
                          throws NotFoundException
Throws:
NotFoundException

checkArrayType

protected boolean checkArrayType(CtClass componentType)
                          throws NotFoundException
Throws:
NotFoundException

checkArrayType

protected boolean checkArrayType(String arrayComponentClassName)
                          throws NotFoundException
Throws:
NotFoundException