private void computeFieldToValuesAssignedList(){
    //go through all the classes
    Iterator classIt = appClasses.iterator();
    while(classIt.hasNext()){
      SootClass s = (SootClass) classIt.next();
      debug("\ncomputeMethodSummaries","Processing class "+s.getName());
      
      //go though all the methods
      Iterator methodIt = s.methodIterator();
      while (methodIt.hasNext()) {
        SootMethod m = (SootMethod) methodIt.next();
        DavaBody body = null;
        if(m.hasActiveBody()){
          /*
           * Added to try to fix the no active body found exception
           */
          body = (DavaBody)m.getActiveBody();
        }
        else{
          continue;
        }
        
        ASTNode AST = (ASTNode) body.getUnits().getFirst();
        
        //find all definitions in the program
        AllDefinitionsFinder defFinder = new AllDefinitionsFinder();
        AST.apply(defFinder);
        Iterator<DefinitionStmt> allDefIt = defFinder.getAllDefs().iterator();
        
        //go through each definition
        while(allDefIt.hasNext()){
          DefinitionStmt stmt = allDefIt.next();
          //debug("DefinitionStmt")
          Value left = stmt.getLeftOp();
          
          /*
           * Only care if we have fieldRef on the left
           */
          if(! (left instanceof FieldRef) ){
            continue;
          }
          
          //we know definition is to a field
          debug("computeMethodSummaries method: "+m.getName(),"Field ref is: "+left);
          // Information we want to store is class of field and name of field and the right op
          
          FieldRef ref = (FieldRef)left;
          SootField field = ref.getField();
          
          
          /*
           * Only care about fields with primtype
           */
          if(!( field.getType() instanceof PrimType))
            continue;
          
          
          
          String fieldName = field.getName();
          String declaringClass = field.getDeclaringClass().getName();
          
          debug("\tField Name: "+ fieldName);
          debug("\tField DeclaringClass: "+ declaringClass);
            
          //get the valueList for this class+field combo
          String combined = declaringClass + combiner + fieldName;
          Object temp = fieldToValues.get(combined);

          ArrayList valueList;
          if(temp == null){
            //no value of this field was yet assigned
            valueList = new ArrayList();
            fieldToValues.put(combined,valueList);
          }
          else{
            valueList = (ArrayList)temp;
          }
            
          valueList.add(stmt.getRightOp());
        }//going through all the definitions
      }//going through methods of class s
    }//going through  classes
  }