}
} catch (ClassNotFoundException e) {
AnalysisContext.reportMissingClass(e);
}
SourceInfoMap sourceInfoMap = AnalysisContext.currentAnalysisContext().getSourceInfoMap();
SourceInfoMap.SourceLineRange range = sourceInfoMap.getMethodLine(className, methodName, methodSig);
if (range != null) {
return new SourceLineAnnotation(className, AnalysisContext.currentAnalysisContext().lookupSourceFile(className),
range.getStart(), range.getEnd(), 0, code == null ? -1 : code.getLength());
}
if (sourceInfoMap.fallBackToClassfile() && targetMethod != null) {
return forEntireMethod(targetMethod.getJavaClass(), targetMethod.getMethod());
}
// If we couldn't find the source lines,
// create an unknown source line annotation referencing