|
SandMark version 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sandmark.watermark.objectwm.objectUtil
Field Summary | |
de.fub.bytecode.generic.Instruction |
bipushObj
|
de.fub.bytecode.generic.ClassGen |
cgObj
|
de.fub.bytecode.generic.ConstantPoolGen |
cpgObj
|
de.fub.bytecode.classfile.ConstantPool |
cpObj
|
de.fub.bytecode.generic.FieldInstruction |
getstaticObj
|
de.fub.bytecode.generic.InstructionHandle |
ihEmbedStartObj
|
de.fub.bytecode.generic.InstructionList |
instrListObj
|
de.fub.bytecode.classfile.JavaClass |
jcObj
|
int |
localIndexObj
|
static int |
methodNameSuffix
|
de.fub.bytecode.generic.MethodGen |
mgObj
|
de.fub.bytecode.generic.NEWARRAY |
naObj
|
de.fub.bytecode.classfile.Method |
oldmethod
|
de.fub.bytecode.classfile.ClassParser |
pObj
|
de.fub.bytecode.generic.FieldInstruction |
putstaticObj
|
de.fub.bytecode.generic.InstructionHandle |
targetHandleObj
|
Constructor Summary | |
(package private) |
objectUtil()
|
Method Summary | |
boolean |
checkSplitVectorGrp(int instrIndex,
de.fub.bytecode.generic.InstructionHandle[] instrHandles)
This method checks whether the code to be inserted splits any existing vector groups |
de.fub.bytecode.generic.Instruction |
extractInstrType(java.lang.String instr)
This method takes the opcode of the instruction as a String and returns the corresponding 'Instruction' object which is to be then used for insertion |
de.fub.bytecode.generic.InstructionHandle |
getCodeSubstPoint(java.lang.String[] instrGrp,
int numInstr,
java.lang.String[] origCodeStr)
This method retrieves the point where code is to be substituted, provided we found the codebook instruction group in the app. code, else null is returned |
void |
getObjects(java.lang.String classfileName)
|
int |
getOpaqueDeclPoint(int mIndex,
opaquePred opaq)
This method extracts a valid 'safe' point for opaque predicate declaration |
java.lang.String |
getTargetClassName()
|
boolean |
remVecfreqUpdatesInThreshold(int numVectors,
int currVecIndex,
vectorUpdateCtrl vecObj)
This method checks that the sideEffects of cloning a method is withing a particular threshold limit |
void |
setTargetClassName(java.lang.String className)
|
void |
substituteNewCode(de.fub.bytecode.generic.InstructionHandle insertih,
java.lang.String[] subInstr,
int numInstr)
This method is invoked from the newCode Insertion option |
java.lang.String |
transformCode(java.lang.String subInstr,
java.lang.String className)
Converts the received code to the actual code to be inserted by placing appropriate local variable indices etc etc |
void |
updateJarFileInfo()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static int methodNameSuffix
public de.fub.bytecode.classfile.ClassParser pObj
public de.fub.bytecode.classfile.JavaClass jcObj
public de.fub.bytecode.generic.ClassGen cgObj
public de.fub.bytecode.classfile.ConstantPool cpObj
public de.fub.bytecode.generic.ConstantPoolGen cpgObj
public de.fub.bytecode.generic.MethodGen mgObj
public de.fub.bytecode.generic.InstructionList instrListObj
public de.fub.bytecode.generic.FieldInstruction putstaticObj
public de.fub.bytecode.generic.FieldInstruction getstaticObj
public de.fub.bytecode.generic.NEWARRAY naObj
public de.fub.bytecode.generic.Instruction bipushObj
public de.fub.bytecode.generic.InstructionHandle targetHandleObj
public de.fub.bytecode.generic.InstructionHandle ihEmbedStartObj
public int localIndexObj
public de.fub.bytecode.classfile.Method oldmethod
Constructor Detail |
objectUtil()
Method Detail |
public void setTargetClassName(java.lang.String className)
public java.lang.String getTargetClassName()
public de.fub.bytecode.generic.Instruction extractInstrType(java.lang.String instr)
public java.lang.String transformCode(java.lang.String subInstr, java.lang.String className)
public int getOpaqueDeclPoint(int mIndex, opaquePred opaq)
public boolean checkSplitVectorGrp(int instrIndex, de.fub.bytecode.generic.InstructionHandle[] instrHandles)
public boolean remVecfreqUpdatesInThreshold(int numVectors, int currVecIndex, vectorUpdateCtrl vecObj)
public de.fub.bytecode.generic.InstructionHandle getCodeSubstPoint(java.lang.String[] instrGrp, int numInstr, java.lang.String[] origCodeStr) throws WatermarkingException, java.io.IOException, de.fub.bytecode.generic.TargetLostException
WatermarkingException
java.io.IOException
de.fub.bytecode.generic.TargetLostException
public void substituteNewCode(de.fub.bytecode.generic.InstructionHandle insertih, java.lang.String[] subInstr, int numInstr)
public void getObjects(java.lang.String classfileName)
public void updateJarFileInfo()
|
SandMark version 2.1 Wed Jul 3 17:27:43 MST 2002 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |