CFG cfg = getCFG(method); return new CompactLocationNumbering(cfg); }
			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) {			        	dumpUnconditionalValueDerefDataflow(method, cfg, vnd, inv, dataflow);			        }			 				return dataflow;			}