void (final String line, String filePath, final OutputParser.Callback callback) { if (LOG.isDebugEnabled()) { LOG.debug("Process parsing message: " + filePath); } // for jdk7: cut off characters wrapping the path. e.g. "RegularFileObject[C:/tmp/bugs/src/a/Demo1.java]" if (myJdk7FormatMatcher.reset(filePath).matches()) { filePath = myJdk7FormatMatcher.group(1); } int index = filePath.lastIndexOf('/'); final String name = index >= 0 ? filePath.substring(index + 1) : filePath; final FileType fileType = FileTypeManager.getInstance().getFileTypeByFileName(name); if (JavaFileType.INSTANCE.equals(fileType)) { callback.fileProcessed(filePath); callback.setProgressText(JavaCompilerBundle.message("progress.parsing.file", name)); } else if (JavaClassFileType.INSTANCE.equals(fileType)) { callback.fileGenerated(filePath); } }