public Object clone() { List<Value> argList = new ArrayList<Value>(getArgCount()); for (int i = 0; i < getArgCount(); i++) { argList.add(i, Jimple.cloneIfNecessary(getArg(i))); } return new JInterfaceInvokeExpr(Jimple.cloneIfNecessary(getBase()), methodRef, argList); }
final String functionName = expr.getMethodRef().getName(); final int numberOfArg = expr.getArgCount(); final String baseBox = expr.getBaseBox().getValue().getType().toString(); final int location = foundMethod.getLocation() - 1; final VariableOperation type = foundMethod.getOperationType(); if (expr.getArgBox(location).getValue() instanceof StringConstant) { final StringConstant variableName = (StringConstant) expr.getArgBox(location).getValue(); final String name = variableName.value; initialOperations.put(name, new ProcessVariableOperation(expr.getArg(0).toString(), element, ElementChapter.Code, KnownElementFieldType.Initial, resourceFilePath, type, element.getBaseElement().getId()));
/** * Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, List<? extends Value> args) { return new JInterfaceInvokeExpr(base, method, args); }
/** * * Check whether or not the second or third argument contain a reference to the variable map * * @param map Current entry * @param assignment Current assigned variable * @param invoke Current invocation * @param expr Current expression * @return True/False based on whether the second or third argument refers to the variable map */ private boolean checkArgBoxes(Map.Entry<String, Map<String, String>> map, String assignment, String invoke, JInterfaceInvokeExpr expr) { if (expr.getMethodRef().getName().equals(map.getKey())) { if (!assignment.isEmpty()) { if (expr.getArgBox(1).getValue().toString().equals(invoke)) { return true; } if (expr.getArgBox(2).getValue().toString().equals(invoke)) { return true; } } } return false; }
.getRightOpBox().getValue(); if (expr != null) { if (expr.getMethodRef().getDeclaringClass().equals(Scene.v() .forceResolve(VariableMap.class.getName(), SootClass.SIGNATURES))) { initialOperations.putAll(parseInitialExpression(expr, element, resourceFilePath));
ElementChapter chapter, KnownElementFieldType fieldType, String filePath, String scopeId) { String functionName = expr.getMethodRef().getName(); int numberOfArg = expr.getArgCount(); String baseBox = expr.getBaseBox().getValue().getType().toString(); VariableOperation type = foundMethod.getOperationType(); if (expr.getArgBox(location).getValue() instanceof StringConstant) { StringConstant variableName = (StringConstant) expr.getArgBox(location).getValue(); String name = variableName.value;
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, List args) { return new JInterfaceInvokeExpr(base, method, args); }
public Object clone() { List argList = new ArrayList(getArgCount()); for(int i = 0; i < getArgCount(); i++) { argList.add(i, Jimple.cloneIfNecessary(getArg(i))); } return new JInterfaceInvokeExpr(Jimple.cloneIfNecessary(getBase()), methodRef, argList); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, List args) { return new JInterfaceInvokeExpr(base, method, args); }
public Object clone() { List argList = new ArrayList(getArgCount()); for(int i = 0; i < getArgCount(); i++) { argList.add(i, Jimple.cloneIfNecessary(getArg(i))); } return new JInterfaceInvokeExpr(Jimple.cloneIfNecessary(getBase()), methodRef, argList); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value arg) { return new JInterfaceInvokeExpr(base, method, Arrays.asList(new Value[] {arg})); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value arg1, Value arg2) { return new JInterfaceInvokeExpr(base, method, Arrays.asList(new Value[] {arg1, arg2})); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value arg1, Value arg2) { return new JInterfaceInvokeExpr(base, method, Arrays.asList(new Value[] {arg1, arg2})); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method, Value arg) { return new JInterfaceInvokeExpr(base, method, Arrays.asList(new Value[] {arg})); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. (no args) */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method) { return new JInterfaceInvokeExpr(base, method, new ArrayList()); }
/** Constructs a NewInterfaceInvokeExpr(Local base, SootMethodRef method, List of Immediate) grammar chunk. (no args) */ public InterfaceInvokeExpr newInterfaceInvokeExpr(Local base, SootMethodRef method) { return new JInterfaceInvokeExpr(base, method, new ArrayList()); }