Package soot.toDex
Class ConstantVisitor
- java.lang.Object
-
- soot.jimple.AbstractConstantSwitch
-
- soot.toDex.ConstantVisitor
-
- All Implemented Interfaces:
ConstantSwitch,Switch
public class ConstantVisitor extends AbstractConstantSwitch
A visitor that builds a list of instructions from the Jimple constants it visits.
UseSwitchable.apply(soot.util.Switch)with this visitor to add statements. These are added to the instructions in theStmtVisitor.
Do not forget to usesetDestination(Register)to set the storage location for the constant.- See Also:
StmtVisitor
-
-
Constructor Summary
Constructors Constructor Description ConstantVisitor(StmtVisitor stmtV)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcaseClassConstant(ClassConstant c)voidcaseDoubleConstant(DoubleConstant d)voidcaseFloatConstant(FloatConstant f)voidcaseIntConstant(IntConstant i)voidcaseLongConstant(LongConstant l)voidcaseNullConstant(NullConstant v)voidcaseStringConstant(StringConstant s)voiddefaultCase(Object o)voidsetDestination(Register destinationReg)voidsetOrigStmt(Stmt stmt)-
Methods inherited from class soot.jimple.AbstractConstantSwitch
caseMethodHandle, caseMethodType, getResult, setResult
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface soot.jimple.ConstantSwitch
caseDecimalConstant, caseShortConstant, caseUByteConstant, caseUIntConstant, caseULongConstant, caseUShortConstant
-
-
-
-
Constructor Detail
-
ConstantVisitor
public ConstantVisitor(StmtVisitor stmtV)
-
-
Method Detail
-
setDestination
public void setDestination(Register destinationReg)
-
setOrigStmt
public void setOrigStmt(Stmt stmt)
-
defaultCase
public void defaultCase(Object o)
- Specified by:
defaultCasein interfaceConstantSwitch- Overrides:
defaultCasein classAbstractConstantSwitch
-
caseStringConstant
public void caseStringConstant(StringConstant s)
- Specified by:
caseStringConstantin interfaceConstantSwitch- Overrides:
caseStringConstantin classAbstractConstantSwitch
-
caseClassConstant
public void caseClassConstant(ClassConstant c)
- Specified by:
caseClassConstantin interfaceConstantSwitch- Overrides:
caseClassConstantin classAbstractConstantSwitch
-
caseLongConstant
public void caseLongConstant(LongConstant l)
- Specified by:
caseLongConstantin interfaceConstantSwitch- Overrides:
caseLongConstantin classAbstractConstantSwitch
-
caseDoubleConstant
public void caseDoubleConstant(DoubleConstant d)
- Specified by:
caseDoubleConstantin interfaceConstantSwitch- Overrides:
caseDoubleConstantin classAbstractConstantSwitch
-
caseFloatConstant
public void caseFloatConstant(FloatConstant f)
- Specified by:
caseFloatConstantin interfaceConstantSwitch- Overrides:
caseFloatConstantin classAbstractConstantSwitch
-
caseIntConstant
public void caseIntConstant(IntConstant i)
- Specified by:
caseIntConstantin interfaceConstantSwitch- Overrides:
caseIntConstantin classAbstractConstantSwitch
-
caseNullConstant
public void caseNullConstant(NullConstant v)
- Specified by:
caseNullConstantin interfaceConstantSwitch- Overrides:
caseNullConstantin classAbstractConstantSwitch
-
-