public void visitAssignmentStatement(TestCase test, AssignmentStatement statement) { VariableReference var = statement.getValue(); if (var.isPrimitive() || var.isString()) { if (usedVariables.contains(var) && test.getStatement(var.getStPosition()) instanceof PrimitiveStatement<?>) { // Duplicate and replace VariableReference varCopy = duplicateStatement(test, var); statement.replace(var, varCopy); usedVariables.add(varCopy); } usedVariables.add(var); } addUnchangedMapping(test, statement.getReturnValue()); }
private void after(AssignmentStatement s, Scope scope) { VariableReference lhs = s.getReturnValue(); VariableReference rhs = s.getValue(); ReferenceExpressionPair readResult = read(rhs, scope); if (lhs instanceof FieldReference) { writeField((FieldReference) lhs, readResult, scope); } else if (lhs instanceof ArrayIndex) { writeArray((ArrayIndex) lhs, readResult, scope); } else { writeVariable(lhs, readResult); } }
/** * own comment.. */ @Override public void afterStatement(final Statement statement, final Scope scope, final Throwable exception) { if (statement instanceof AssignmentStatement) { final AssignmentStatement assign = (AssignmentStatement) statement; final VariableReference left = assign.getReturnValue(); if (left instanceof FieldReference) { final FieldReference fieldRef = (FieldReference) left; final GenericField field = fieldRef.getField(); FieldRegistry.notifyModification(field.isStatic() ? null : scope.getObject(fieldRef.getSource()), this.captureId, Type.getInternalName(field.getDeclaringClass()), field.getName(), Type.getDescriptor(field.getField().getType())); //PUTFIELDRegistry creates PUTXXX as well as corresponding GETXXX statements this.captureId -= 2; } } }
if (assignment.getValue() == var) { VariableReference replacementVar = Randomness.choice(alternatives); if (assignment.getReturnValue().isAssignableFrom(replacementVar)) { s.replace(var, replacementVar); changed = true; } else if (assignment.getReturnValue() == var) { VariableReference replacementVar = Randomness.choice(alternatives); if (replacementVar.isAssignableFrom(assignment.getValue())) {
AssignmentStatement assignment = (AssignmentStatement) test.getTestCase().getStatement(position); Statement valueStatement = test.getTestCase().getStatement(assignment.getValue().getStPosition()); if (assignment.getReturnValue().getAdditionalVariableReference() == arrRef) {
public void visitAssignmentStatement(AssignmentStatement statement) { String cast = ""; VariableReference retval = statement.getReturnValue(); VariableReference parameter = statement.getValue();