CFG cfg = cfgMap.get(method); if (cfg == null) { MethodGen methodGen = getMethodGen(method); if (DEBUG) System.out.println("Building CFG for " + methodGen.getClassName() + "." + methodGen.getName() + ":" + methodGen.getSignature()); CFGBuilder cfgBuilder = CFGBuilderFactory.create(methodGen); cfgBuilder.build(); cfg = cfgBuilder.getCFG(); cfgMap.put(method, cfg);
MethodGen methodGen = getMethodGen(method); CFG cfg = getRawCFG(method);
	public CFG getCFG(Method method) throws CFGBuilderException {		CFG cfg = cfgMap.get(method);		if (cfg == null) {			MethodGen methodGen = getMethodGen(method);			if (DEBUG) System.out.println("Building CFG for " + methodGen.getClassName() + "." + methodGen.getName() + ":" + methodGen.getSignature());			CFGBuilder cfgBuilder = CFGBuilderFactory.create(methodGen);			cfgBuilder.build();			cfg = cfgBuilder.getCFG();			cfgMap.put(method, cfg);			if (PRUNE_INFEASIBLE_EXCEPTION_EDGES) {				try {					TypeDataflow typeDataflow = getTypeDataflow(method);					new PruneInfeasibleExceptionEdges(cfg, typeDataflow, getConstantPoolGen()).execute();				} catch (DataflowAnalysisException e) {					// FIXME: should report the error				} catch (ClassNotFoundException e) {					lookupFailureCallback.reportMissingClass(e);				}			}			if (PRUNE_UNCONDITIONAL_EXCEPTION_THROWER_EDGES) {				try {					new PruneUnconditionalExceptionThrowerEdges(						methodGen, cfg, getConstantPoolGen(), lookupFailureCallback).execute();				} catch (DataflowAnalysisException e) {					// FIXME: should report the error				}			}		}		return cfg;	}