private synchronized void writeOutput( @NotNull final CommonProblemDescriptor[] descriptions, @NotNull RefEntity refElement) { final Element parentNode = new Element(InspectionsBundle.message("inspection.problems")); exportResults(descriptions, refElement, parentNode); final List list = parentNode.getChildren(); @NonNls final String ext = ".xml"; final String fileName = ourOutputPath + File.separator + myToolWrapper.getShortName() + ext; final PathMacroManager pathMacroManager = PathMacroManager.getInstance(getContext().getProject()); PrintWriter printWriter = null; try { new File(ourOutputPath).mkdirs(); final File file = new File(fileName); final CharArrayWriter writer = new CharArrayWriter(); if (!file.exists()) { writer .append("<") .append(InspectionsBundle.message("inspection.problems")) .append(" " + GlobalInspectionContextBase.LOCAL_TOOL_ATTRIBUTE + "=\"") .append(Boolean.toString(myToolWrapper instanceof LocalInspectionToolWrapper)) .append("\">\n"); } for (Object o : list) { final Element element = (Element) o; pathMacroManager.collapsePaths(element); JDOMUtil.writeElement(element, writer, "\n"); } printWriter = new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream(fileName, true), CharsetToolkit.UTF8_CHARSET))); printWriter.append("\n"); printWriter.append(writer.toString()); } catch (IOException e) { LOG.error(e); } finally { if (printWriter != null) { printWriter.close(); } } }
private static boolean calcNeedUpdateOnTyping( @Nullable Boolean needsUpdateOnTyping, HighlightInfoType type) { if (needsUpdateOnTyping != null) return needsUpdateOnTyping.booleanValue(); if (type == HighlightInfoType.TODO) return false; if (type == HighlightInfoType.LOCAL_VARIABLE) return false; if (type == HighlightInfoType.INSTANCE_FIELD) return false; if (type == HighlightInfoType.STATIC_FIELD) return false; if (type == HighlightInfoType.STATIC_FINAL_FIELD) return false; if (type == HighlightInfoType.PARAMETER) return false; if (type == HighlightInfoType.METHOD_CALL) return false; if (type == HighlightInfoType.METHOD_DECLARATION) return false; if (type == HighlightInfoType.STATIC_METHOD) return false; if (type == HighlightInfoType.ABSTRACT_METHOD) return false; if (type == HighlightInfoType.INHERITED_METHOD) return false; if (type == HighlightInfoType.CONSTRUCTOR_CALL) return false; if (type == HighlightInfoType.CONSTRUCTOR_DECLARATION) return false; if (type == HighlightInfoType.INTERFACE_NAME) return false; if (type == HighlightInfoType.ABSTRACT_CLASS_NAME) return false; if (type == HighlightInfoType.ENUM_NAME) return false; if (type == HighlightInfoType.CLASS_NAME) return false; if (type == HighlightInfoType.ANONYMOUS_CLASS_NAME) return false; return true; }