本文整理汇总了Java中soot.jimple.LeExpr类的典型用法代码示例。如果您正苦于以下问题:Java LeExpr类的具体用法?Java LeExpr怎么用?Java LeExpr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LeExpr类属于soot.jimple包,在下文中一共展示了LeExpr类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visit
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void visit(Value e) {
if (e instanceof LeExpr) {
LeExpr le = (LeExpr) e;
add(e, le.getOp1(), le.getOp2());
}
}
示例2: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr v) {
rightElement = RightElement.NOT;
if (actualContext == StmtContext.ASSIGNRIGHT) {
throw new NotSupportedStmtException("LeExpr");
}
}
示例3: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr v) {
throw new RuntimeException("todo");
}
示例4: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
public void caseLeExpr(LeExpr v) {
printBinaryExpr(v);
}
示例5: handleBinopExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
private void handleBinopExpr(BinopExpr be, Stmt stmt, Type tlhs)
{
Value opl = be.getOp1(), opr = be.getOp2();
Type tl = AugEvalFunction.eval_(this.tg, opl, stmt, this.jb),
tr = AugEvalFunction.eval_(this.tg, opr, stmt, this.jb);
if ( be instanceof AddExpr
|| be instanceof SubExpr
|| be instanceof MulExpr
|| be instanceof DivExpr
|| be instanceof RemExpr
|| be instanceof GeExpr
|| be instanceof GtExpr
|| be instanceof LeExpr
|| be instanceof LtExpr
|| be instanceof ShlExpr
|| be instanceof ShrExpr
|| be instanceof UshrExpr )
{
if ( tlhs instanceof IntegerType )
{
be.setOp1(this.uv.visit(opl, IntType.v(), stmt));
be.setOp2(this.uv.visit(opr, IntType.v(), stmt));
}
}
else if ( be instanceof CmpExpr
|| be instanceof CmpgExpr
|| be instanceof CmplExpr )
{
// No checks in the original assigner
}
else if ( be instanceof AndExpr
|| be instanceof OrExpr
|| be instanceof XorExpr )
{
be.setOp1(this.uv.visit(opl, tlhs, stmt));
be.setOp2(this.uv.visit(opr, tlhs, stmt));
}
else if ( be instanceof EqExpr
|| be instanceof NeExpr )
{
if ( tl instanceof BooleanType && tr instanceof BooleanType )
{ }
else if ( tl instanceof Integer1Type || tr instanceof Integer1Type )
{ }
else if ( tl instanceof IntegerType )
{
be.setOp1(this.uv.visit(opl, IntType.v(), stmt));
be.setOp2(this.uv.visit(opr, IntType.v(), stmt));
}
}
}
示例6: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr le) {
stmtV.addInsn(buildComparingBinaryInsn("LE", le.getOp1(), le.getOp2()), origStmt);
}
示例7: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
public void caseLeExpr(LeExpr expr) {
caseBinopExpr(expr);
}
示例8: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr arg0) {
translateBinOp(arg0);
}
示例9: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
/**
* DOC
*
* @see soot.jimple.ExprSwitch#caseLeExpr(soot.jimple.LeExpr)
*/
@Override
public void caseLeExpr(LeExpr v) {
v.getOp1().apply(this);
v.getOp2().apply(this);
}
示例10: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr v) {
throwInvalidWriteException(v);
}
示例11: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
@Override
public void caseLeExpr(LeExpr v) {
handleBinaryExpr(v.getOp1(), v.getOp2());
}
示例12: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
/**
* The method should update the <em>security level</em> of a {@link LeExpr},
* but it is not possible to update the level of an expression.
*
* @param v
* The expression for which the <em>security level</em> should be
* updated.
* @see soot.jimple.ExprSwitch#caseLeExpr(soot.jimple.LeExpr)
* @throws InvalidSwitchException
* Always, because the update is not possible.
*/
@Override
public void caseLeExpr(LeExpr v) {
throw new SwitchException(getMsg("exception.analysis.switch.update_error",
this.getClass().getSimpleName(),
v.getClass().getSimpleName(),
v.toString(),
getSourceLine()));
}
示例13: caseLeExpr
import soot.jimple.LeExpr; //导入依赖的package包/类
/**
* Looks up the <em>security level</em> for the given binary expression and
* stores the level in {@link SecurityLevelValueReadSwitch#level}. For a
* {@link LeExpr} this is the strongest operand <em>security level</em> of
* the given binary expression.
*
* @param v
* The expression for which the <em>security level</em> should be
* looked up.
* @see soot.jimple.ExprSwitch#caseLeExpr(soot.jimple.LeExpr)
* @see SecurityLevelValueReadSwitch#handleBinaryOperation(BinopExpr)
*/
@Override
public void caseLeExpr(LeExpr v) {
handleBinaryOperation(v);
}