PostDominatorsAnalysis postDominators = classContext.getNonImplicitExceptionDominatorsAnalysis(method); ValueNumberDataflow vnaDataflow = classContext.getValueNumberDataflow(method);
	private void analyzeMethod(ClassContext classContext, Method method) {		try {			PostDominatorsAnalysis postDominators = classContext.getNonImplicitExceptionDominatorsAnalysis(method);			ValueNumberDataflow vnaDataflow = classContext.getValueNumberDataflow(method);			CFG cfg = classContext.getCFG(method);			Map<ValueNumber,Integer> valueNumberToParamMap =				vnaDataflow.getValueNumberToParamMap(method);			if (VERBOSE_DEBUG) {				System.out.print("Value number to param map: ");				for (Iterator<ValueNumber> i = valueNumberToParamMap.keySet().iterator(); i.hasNext();) {					ValueNumber valueNumber = i.next();					System.out.print(valueNumber.getNumber() + "->" + valueNumberToParamMap.get(valueNumber));				}				System.out.println();			}						BitSet entryPostDominators = postDominators.getResultFact(cfg.getEntry());			if (VERBOSE_DEBUG) {				System.out.println("Non-implicit exception entry postdominators: " + entryPostDominators);			}						UnconditionalDerefProperty property = new UnconditionalDerefProperty();			for (Iterator<BasicBlock> i = cfg.blockIterator(); i.hasNext();) {				BasicBlock basicBlock = i.next();				// We're only interested in null checks which postdominate				// the cfg entry				if (!basicBlock.isNullCheck() /*|| !entryPostDominators.get(basicBlock.getId())*/) {					continue;				}				if (VERBOSE_DEBUG) {					System.out.println("Check block " + basicBlock.getId());				}								// See if the checked value is a param				InstructionHandle handle = basicBlock.getExceptionThrower();				ValueNumberFrame vnaFrame = vnaDataflow.getStartFact(basicBlock);				if (!vnaFrame.isValid())					continue;				ValueNumber instance = vnaFrame.getInstance(						handle.getInstruction(), classContext.getConstantPoolGen());				if (VERBOSE_DEBUG) {					System.out.println("\tvn == " + instance.getNumber());				}				Integer param = valueNumberToParamMap.get(instance);				if (param == null) {					continue;				}								property.setUnconditionalDeref(param.intValue(), true);			}						if (!property.isEmpty()) {				database.setProperty(						XMethodFactory.createXMethod(classContext.getJavaClass(), method), property);			}		} catch (CFGBuilderException e) {			reportError(e);		} catch (DataflowAnalysisException e) {			reportError(e);		}			}