本文整理汇总了Java中soot.jimple.NegExpr类的典型用法代码示例。如果您正苦于以下问题:Java NegExpr类的具体用法?Java NegExpr怎么用?Java NegExpr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NegExpr类属于soot.jimple包,在下文中一共展示了NegExpr类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr ne) {
Value source = ne.getOp();
constantV.setOrigStmt(origStmt);
Register sourceReg = regAlloc.asImmediate(source, constantV);
Opcode opc;
Type type = source.getType();
if (type instanceof IntegerType) {
opc = Opcode.NEG_INT;
} else if (type instanceof FloatType) {
opc = Opcode.NEG_FLOAT;
} else if (type instanceof DoubleType) {
opc = Opcode.NEG_DOUBLE;
} else if (type instanceof LongType) {
opc = Opcode.NEG_LONG;
} else {
throw new RuntimeException("unsupported value type for neg-* opcode: " + type);
}
stmtV.addInsn(new Insn12x(opc, destinationReg, sourceReg), origStmt);
}
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:21,代码来源:ExprVisitor.java
示例2: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
public void caseNegExpr(NegExpr v) {
String oldName = varName;
Value op = v.getOp();
suggestVariableName("op");
String opName = varName;
op.apply(this);
p.println("Value "+oldName+" = Jimple.v().newNegExpr("+opName+");");
varName = oldName;
}
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:12,代码来源:ValueTemplatePrinter.java
示例3: javafy_unop_expr
import soot.jimple.NegExpr; //导入依赖的package包/类
private void javafy_unop_expr(ValueBox vb) {
UnopExpr uoe = (UnopExpr) vb.getValue();
javafy(uoe.getOpBox());
if (uoe instanceof LengthExpr)
vb.setValue(new DLengthExpr(((LengthExpr) uoe).getOp()));
else if (uoe instanceof NegExpr)
vb.setValue(new DNegExpr(((NegExpr) uoe).getOp()));
}
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:11,代码来源:DavaBody.java
示例4: normalizeNegations
import soot.jimple.NegExpr; //导入依赖的package包/类
private Value normalizeNegations(Value v) {
if (v instanceof NegExpr) {
return ((NegExpr)v).getOp();
} else if (v instanceof BinopExpr) {
BinopExpr bo = (BinopExpr)v;
if (bo instanceof NeExpr) {
return new JEqExpr(bo.getOp1(), bo.getOp2());
}
}
return v;
}
开发者ID:SRI-CSL,项目名称:bixie,代码行数:12,代码来源:SootBodyTransformer.java
示例5: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr arg0) {
// this is arithmetic negative!
// logic neg is already translated by soot
this.isLeftHandSide = false;
arg0.getOp().apply(this);
Expression e = this.expressionStack.pop();
this.expressionStack.push(this.pf.mkUnaryExpression(e.getType(),
UnaryOperator.ARITHNEGATIVE, e));
}
开发者ID:SRI-CSL,项目名称:bixie,代码行数:11,代码来源:SootValueSwitch.java
示例6: visit
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void visit(Value e) {
if (e instanceof NegExpr) {
NegExpr ne = (NegExpr) e;
add(e, ne.getOp());
}
}
开发者ID:petablox-project,项目名称:petablox,代码行数:8,代码来源:RelNegExpr.java
示例7: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr v) {
rightElement = RightElement.NOT;
if (actualContext == StmtContext.ASSIGNRIGHT) {
throw new NotSupportedStmtException("NegExpr");
}
}
开发者ID:proglang,项目名称:jgs,代码行数:8,代码来源:AnnotationValueSwitch.java
示例8: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr v) {
throw new RuntimeException("todo");
}
开发者ID:srasthofer,项目名称:FuzzDroid,代码行数:6,代码来源:JimpleExprVisitorImpl.java
示例9: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
public void caseNegExpr(NegExpr expr) {
result = result.add(mightThrow(expr.getOp()));
}
开发者ID:flankerhqd,项目名称:JAADAS,代码行数:4,代码来源:UnitThrowAnalysis.java
示例10: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr v) {
throwInvalidWriteException(v);
}
开发者ID:proglang,项目名称:jgs,代码行数:5,代码来源:SecurityConstraintValueWriteSwitch.java
示例11: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
@Override
public void caseNegExpr(NegExpr v) {
handleUnaryExpr(v.getOp());
}
开发者ID:proglang,项目名称:jgs,代码行数:5,代码来源:SecurityConstraintValueReadSwitch.java
示例12: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
/**
* The method should update the <em>security level</em> of an expression
* with type {@link NegExpr}, but it is not possible to update the level of
* such an expression.
*
* @param v
* The expression for which the <em>security level</em> should be
* updated.
* @see soot.jimple.ExprSwitch#caseNegExpr(soot.jimple.NegExpr)
* @throws InvalidSwitchException
* Always, because the update is not possible.
*/
@Override
public void caseNegExpr(NegExpr v) {
throw new SwitchException(getMsg("exception.analysis.switch.update_error",
this.getClass().getSimpleName(),
v.getClass().getSimpleName(),
v.toString(),
getSourceLine()));
}
开发者ID:proglang,项目名称:jgs,代码行数:21,代码来源:SecurityLevelValueWriteSwitch.java
示例13: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
/**
* DOC
*
* @see soot.jimple.ExprSwitch#caseNegExpr(soot.jimple.NegExpr)
*/
@Override
public void caseNegExpr(NegExpr v) {
v.getOp().apply(this);
}
开发者ID:proglang,项目名称:jgs,代码行数:10,代码来源:AnnotationValueSwitch.java
示例14: caseNegExpr
import soot.jimple.NegExpr; //导入依赖的package包/类
/**
* Looks up the <em>security level</em> for the given negation expression
* and stores the level in {@link SecurityLevelValueReadSwitch#level}.
*
* @param v
* The length negation for which the <em>security level</em>
* should be looked up.
* @see soot.jimple.ExprSwitch#caseNegExpr(soot.jimple.NegExpr)
* @see SecurityLevelValueReadSwitch#handleUnaryOperation(UnopExpr)
*/
@Override
public void caseNegExpr(NegExpr v) {
handleUnaryOperation(v);
}
开发者ID:proglang,项目名称:jgs,代码行数:15,代码来源:SecurityLevelValueReadSwitch.java
注:本文中的soot.jimple.NegExpr类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论