String fullPath = project.getSourceFilePath(line.getSourceFile()); if (fullPath == null) {   String pkgName = line.getPackageName(); if (pkgName.equals("")) {
SourceFinder sourceFinder = AnalysisContext.instance().getSourceFinder(); String fullPath; String pkgName = line.getPackageName(); try { fullPath = sourceFinder.findSourceFile(pkgName, line.getSourceFile()).getFullFileName(); } catch (IOException e) { if (pkgName.equals(""))
	protected void printBug(BugInstance bugInstance) {                SourceLineAnnotation line =                         bugInstance.getPrimarySourceLineAnnotation();                if (line == null) {                        outputStream.print(bugInstance.getMessage());                } else {			String fullPath = project.getSourceFilePath(line.getSourceFile());			if (fullPath == null) {				// Source path lookup failed; just print out				// our guess at the relative path.				String pkgName = line.getPackageName();				if (pkgName.equals("")) {					fullPath = line.getSourceFile();				} else {					fullPath = pkgName.replace('.', '/') + "/" + line.getSourceFile();				}			}                        outputStream.print(fullPath + ":"                                            + line.getStartLine() + ":"                                            + line.getEndLine() + " "                                           + bugInstance.getMessage());                }                            switch(bugInstance.getPriority()) {		case Detector.LOW_PRIORITY:			outputStream.print(" (L) ");			break;		case Detector.NORMAL_PRIORITY:			outputStream.print(" (M) ");			break;		case Detector.HIGH_PRIORITY:			outputStream.print(" (H) ");			break;		}                outputStream.println();	}