if (DUMP_DATAFLOW_ANALYSIS) { TreeSet<Location> tree = new TreeSet<Location>(); for(Iterator<Location> locs = cfg.locationIterator(); locs.hasNext(); ) { Location loc = locs.next(); tree.add(loc); } System.out.println("\n\nInv analysis for " + method.getName() + " {"); for(Location loc : tree) { System.out.println("\nBefore: " + invDataflow.getFactAtLocation(loc)); System.out.println("Location: " + loc); System.out.println("After: " + invDataflow.getFactAfterLocation(loc)); } System.out.println("}\n"); }
                   protected IsNullValueDataflow analyze(Method method) throws DataflowAnalysisException, CFGBuilderException {			        MethodGen methodGen = getMethodGen(method);			        if (methodGen == null) throw new MethodUnprofitableException(getJavaClass(),method);			        CFG cfg = getCFG(method);			        ValueNumberDataflow vnaDataflow = getValueNumberDataflow(method);			        DepthFirstSearch dfs = getDepthFirstSearch(method);			        AssertionMethods assertionMethods = getAssertionMethods();			        IsNullValueAnalysis invAnalysis = new IsNullValueAnalysis(methodGen, cfg, vnaDataflow, dfs, assertionMethods);					// Set return value and parameter databases					invAnalysis.setClassAndMethod(new JavaClassAndMethod(getJavaClass(), method));								        IsNullValueDataflow invDataflow = new IsNullValueDataflow(cfg, invAnalysis);			        invDataflow.execute();			        return invDataflow;		        }