XMethod xmethod = XMethodFactory.createXMethod(classContext.getJavaClass(), method); database.setProperty(xmethod, property);
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);
	private void analyzeMethod(ClassContext classContext, Method method) {		try {			CFG cfg = classContext.getCFG(method);			UnconditionalDerefDataflow dataflow = classContext.getUnconditionalDerefDataflow(method);			UnconditionalDerefSet unconditionalDerefSet = dataflow.getResultFact(cfg.getEntry());			if (unconditionalDerefSet.isValid() && !unconditionalDerefSet.isEmpty()) {				UnconditionalDerefProperty property = new UnconditionalDerefProperty();				property.setUnconditionalDerefParamSet(unconditionalDerefSet);								XMethod xmethod = XMethodFactory.createXMethod(classContext.getJavaClass(), method);				database.setProperty(xmethod, property);			}		} catch (CFGBuilderException e) {			bugReporter.logError("Error analyzing " + method + " for unconditional deref training", e);		} catch (DataflowAnalysisException e) {			bugReporter.logError("Error analyzing " + method + " for unconditional deref training", e);		}	}