public IncludeErrorInfo(CsmInclude incl) { super(incl, Severity.ERROR); if (incl.getIncludeState() == IncludeState.Recursive) { this.message = decorateWithExtraHyperlinkTip(NbBundle.getMessage(IncludeErrorProvider.class, "HighlightProvider_IncludeRecursive")); } else { this.message = decorateWithExtraHyperlinkTip(NbBundle.getMessage(IncludeErrorProvider.class, "HighlightProvider_IncludeMissed", getIncludeText(incl))); } }
@Override protected void doGetErrors(CsmErrorProvider.Request request, CsmErrorProvider.Response response) { CsmFile file = request.getFile(); Thread currentThread = Thread.currentThread(); currentThread.setName("Provider "+getName()+" prosess "+file.getAbsolutePath()); // NOI18N for(CsmInclude incl : CsmFileInfoQuery.getDefault().getBrokenIncludes(file)) { if (request.isCancelled()) { break; } if (incl.getIncludeState() == IncludeState.Recursive) { response.addError(new IncludeErrorInfo(incl)); } else if(incl.getIncludeFile() == null) { response.addError(new IncludeErrorInfo(incl)); } } for (CsmErrorDirective error : file.getErrors()) { response.addError(new ErrorDirectiveInfo(error)); } Collection<CsmFile> visited = new HashSet<CsmFile>(); for (CsmInclude incl : file.getIncludes()) { CsmFile newFile = incl.getIncludeFile(); if (newFile != null && hasBrokenIncludes(newFile, visited)) { response.addError(new IncludeWarningInfo(incl)); } } }
inclString = "#include \"" + brokenInclude.getIncludeName() + "\""; // NOI18N String key = brokenInclude.getIncludeState() == CsmInclude.IncludeState.Recursive ? "RecursionInFile" : "UnresolvedInFile"; // NOI18N buf.append(i18n(key, CsmDisplayUtilities.htmlize(inclString), brokenInclude.getContainingFile().getAbsolutePath())); tooltip = buf.toString();
CsmFile target = incl.getIncludeFile(); if (target == null) { if (incl.getIncludeState() == CsmInclude.IncludeState.Recursive) { tooltipText = getHtmlizedString("DSC_IncludeRecursiveTooltip", incl.getText()); // NOI18N } else {