CFG cfg = getCFG(analysisCache, descriptor);
DepthFirstSearch dfs = getDepthFirstSearch(analysisCache, descriptor);
ExceptionSetFactory exceptionSetFactory = getExceptionSetFactory(analysisCache, descriptor);
Method method = getMethod(analysisCache, descriptor);
TypeAnalysis typeAnalysis = new TypeAnalysis(method, methodGen, cfg, dfs, AnalysisContext.currentAnalysisContext()
.getLookupFailureCallback(), exceptionSetFactory);
if (AnalysisContext.currentAnalysisContext().getBoolProperty(AnalysisFeatures.MODEL_INSTANCEOF)) {
typeAnalysis.setValueNumberDataflow(getValueNumberDataflow(analysisCache, descriptor));
}
// Field store type database.
// If present, this can give us more accurate type information
// for values loaded from fields.
typeAnalysis.setFieldStoreTypeDatabase(AnalysisContext.currentAnalysisContext().getFieldStoreTypeDatabase());
TypeDataflow typeDataflow = new TypeDataflow(cfg, typeAnalysis);
try {
typeDataflow.execute();
} catch (CheckedAnalysisException e) {