System.out.println("\n\n{ UnconditionalValueDerefAnalysis analysis for " + method.getName()); TreeSet<Location> tree = new TreeSet<Location>();  for(Iterator<Location> locs = cfg.locationIterator(); locs.hasNext(); ) { Location loc = locs.next(); tree.add(loc); } for(Location loc : tree) { UnconditionalValueDerefSet factAfterLocation = dataflow.getFactAfterLocation(loc); System.out.println("\n Pre: " + factAfterLocation); System.out.println("Vna: " + vnd.getFactAtLocation(loc)); System.out.println("inv: " + inv.getFactAtLocation(loc)); System.out.println("Location: " + loc); System.out.println("Post: " + dataflow.getFactAtLocation(loc)); System.out.println("Vna: " + vnd.getFactAfterLocation(loc)); System.out.println("inv: " + inv.getFactAfterLocation(loc));     } System.out.println("}\n\n");
dumpUnconditionalValueDerefDataflow(method, cfg, vnd, inv, dataflow);
			protected UnconditionalValueDerefDataflow analyze(Method method) throws CFGBuilderException, DataflowAnalysisException {								CFG cfg = getCFG(method);								ValueNumberDataflow vnd = getValueNumberDataflow(method);								UnconditionalValueDerefAnalysis analysis = new UnconditionalValueDerefAnalysis(						getReverseDepthFirstSearch(method),						getDepthFirstSearch(method),						cfg,						getMethodGen(method),						vnd, getAssertionMethods()						);								IsNullValueDataflow inv = getIsNullValueDataflow(method);				// XXX: hack to clear derefs on not-null branches				analysis.clearDerefsOnNonNullBranches(inv);								// XXX: type analysis is needed to resolve method calls for				// checking whether call targets unconditionally dereference parameters				analysis.setTypeDataflow(getTypeDataflow(method));								UnconditionalValueDerefDataflow dataflow =					new UnconditionalValueDerefDataflow(getCFG(method), analysis);				dataflow.execute();				 if (UnconditionalValueDerefAnalysis.DEBUG) {			        	System.out.println("\n\n{ UnconditionalValueDerefAnalysis analysis for " + method.getName());			        	TreeSet<Location> tree = new TreeSet<Location>();			        				        	for(Iterator<Location> locs = cfg.locationIterator(); locs.hasNext(); ) {			        		Location loc = locs.next();			        		tree.add(loc);			        	}			        	for(Location loc : tree) {			        		UnconditionalValueDerefSet factAfterLocation = dataflow.getFactAfterLocation(loc);							System.out.println("\n Pre: " + factAfterLocation);							System.out.println("Vna: " + vnd.getFactAtLocation(loc));							System.out.println("inv: " + inv.getFactAtLocation(loc));			        		System.out.println("Location: " + loc);			        		System.out.println("Post: " + dataflow.getFactAtLocation(loc));			        		System.out.println("Vna: " + vnd.getFactAfterLocation(loc));			        		System.out.println("inv: " + inv.getFactAfterLocation(loc));										        					        					        					        	}			        	System.out.println("}\n\n");			        }			 				return dataflow;			}