Examples of FieldAssignment


Examples of com.google.test.metric.method.op.turing.FieldAssignment

        if (leftParent instanceof ClassDeclaration) {
          ClassInfo classInfo = repository.getClass(leftDeclaration.getName());
          Type fieldType = CppType.fromName(leftDeclaration.getType());
          FieldInfo fieldInfo = new FieldInfo(classInfo, leftDeclaration
              .getName(), fieldType, false, false, false);
          operations.add(new FieldAssignment(assignmentExpression
              .getLineNumber(), leftVar, fieldInfo, rightVar));
        } else {
          operations.add(new LocalAssignment(assignmentExpression
              .getLineNumber(), leftVar, rightVar));
        }
View Full Code Here

Examples of com.google.test.metric.method.op.turing.FieldAssignment

  @Override
  public Operation toOperation(List<Variable> input) {
    if (fieldInfo.isGlobal()) {
      Variable value = input.get(0);
      return new FieldAssignment(lineNumber, null, fieldInfo, value);
    } else {
      Variable instance = input.get(0);
      Variable value = input.get(1);
      return new FieldAssignment(lineNumber, instance, fieldInfo, value);
    }
  }
View Full Code Here

Examples of com.google.test.metric.method.op.turing.FieldAssignment

    MethodInfo methodInfo = it.next();
    List<Operation> operations = methodInfo.getOperations();
    assertEquals(1, operations.size());
    Operation operation = operations.get(0);
    assertTrue(operation instanceof FieldAssignment);
    FieldAssignment fieldAssignment = (FieldAssignment) operation;
    assertEquals(1, fieldAssignment.getLineNumber());
    assertEquals("a", fieldAssignment.getFieldInstance().getName());
    assertEquals("b", fieldAssignment.getValue().getName());
  }
View Full Code Here

Examples of com.google.test.metric.method.op.turing.FieldAssignment

  @Override
  public Operation toOperation(List<Variable> input) {
    if (fieldInfo.isGlobal()) {
      Variable value = input.get(0);
      return new FieldAssignment(lineNumber, null, fieldInfo, value);
    } else {
      Variable instance = input.get(0);
      Variable value = input.get(1);
      return new FieldAssignment(lineNumber, instance, fieldInfo, value);
    }
  }
View Full Code Here

Examples of dk.brics.string.intermediate.FieldAssignment

  public HandleFieldAssignment(Method[] methods) {
    for (Method m : methods) {
      LinkedList<FieldAssignment> assigns = new LinkedList<FieldAssignment>();
      for (Statement s : m.getStatements()) {
        if (s instanceof FieldAssignment) {
          FieldAssignment assign = (FieldAssignment)s;
          if (assign.getTo().getType().mightBeUsefulMutable()) {
            assigns.add(assign);
          }
        }
      }
      if (!assigns.isEmpty()) {
        for (Return r : m.getReturns()) {
          LinkedList<FieldAssignment> copiedAssigns = new LinkedList<FieldAssignment>();
          for (FieldAssignment assign : assigns) {
            FieldAssignment copiedAssign = new FieldAssignment(assign.getField(), assign.getFrom());
            m.addStatement(copiedAssign);
            if (!copiedAssigns.isEmpty()) {
              FieldAssignment pred = copiedAssigns.getLast();
              pred.addSucc(copiedAssign);
            }
            copiedAssigns.add(copiedAssign);
          }
          if (!copiedAssigns.isEmpty()) {
            HashMap<Integer,Statement> predsMap = new HashMap<Integer,Statement>();
            int counter = 0;
            for (Statement pred : r.getPreds()) {
              predsMap.put(counter, pred);
              counter++;
            }
            Statement first = copiedAssigns.getFirst();
            for (int i=0; i<predsMap.size(); i++) {
              Statement pred = predsMap.get(i);
              pred.getSuccs().remove(r);
              pred.addSucc(first);
              r.getPreds().remove(pred);
            }
            copiedAssigns.getLast().addSucc(r);
          }
        }
View Full Code Here

Examples of dk.brics.string.intermediate.FieldAssignment

    public boolean translateFieldAssignment(FieldRef leftSide, Variable rightSide, IntermediateFactory factory) {
        if (!leftSide.getField().getDeclaringClass().isApplicationClass()) {
            return false;
        }
       
        factory.addStatement(new FieldAssignment(factory.getField(leftSide.getField()), rightSide));
       
        return true;
    }
View Full Code Here

Examples of dk.brics.string.intermediate.FieldAssignment

            for (SootField field : ac.getFields()) {
                // String fields should be assigned to "null" because they are
                // exempt from the
                // null-pointer analysis we use for other objects
                if (field.getType().equals(RefType.v("java.lang.String"))) {
                    FieldAssignment assignment = new FieldAssignment(
                            variableManager.getField(field), nullVar);
                    cfg.addStatement(assignment);
                }

                // corrupt externally visible fields
                if (ext.isExternallyVisibleField(field)) {
                    VariableType type = fromSootType(field
                            .getType());

                    if (type == VariableType.NONE)
                        continue;

                    Variable fieldInit;

                    switch (type) {
                    case OBJECT:
                    case STRING:
                    case PRIMITIVE:
                        fieldInit = anyVar;
                        break;

                    case STRINGBUFFER: {
                        fieldInit = application.createVariable(VariableType.STRINGBUFFER);
                        Statement s = new StringBufferCorrupt(fieldInit);
                        cfg.addStatement(s);
                        break;
                    }

                    case ARRAY: {
                        fieldInit = application.createVariable(VariableType.ARRAY);
                        Statement s = new ArrayCorrupt(fieldInit);
                        cfg.addStatement(s);
                        break;
                    }
                    default:
                        throw new RuntimeException("Unknown field type " + type);
                    }// switch

                    FieldAssignment assignment = new FieldAssignment(variableManager.getField(field), fieldInit);
                    cfg.addStatement(assignment);
                }
            }
        }
       
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.