protected void synthesizeIssuesForFollowUpErrors(Resource resource, List<Issue> result) { List<EObject> contents = resource.getContents(); if (!contents.isEmpty()) { IResolvedTypes resolvedTypes = typeResolver.resolveTypes(contents.get(0)); for(ILinkingCandidate linkingCandidate: resolvedTypes.getFollowUpErrors()) { XExpression expression = linkingCandidate.getExpression(); IssueImpl issue = new Issue.IssueImpl(); issue.setUriToProblem(EcoreUtil.getURI(linkingCandidate.getExpression())); if (expression instanceof XAbstractFeatureCall) issue.setMessage(((XAbstractFeatureCall) expression).getConcreteSyntaxFeatureName() + " cannot be resolved"); else { List<INode> nodes = NodeModelUtils.findNodesForFeature(expression, XbasePackage.Literals.XCONSTRUCTOR_CALL__CONSTRUCTOR); if (nodes.size() >= 1) { issue.setMessage(nodes.get(0).getText() + " cannot be resolved"); } } result.add(issue); } } }
/** Reports the given error message. * * @param message the warning message. * @param parameters the values of the parameters that must be dynamically replaced within the message text. * @since 0.8 */ protected void reportError(String message, Object... parameters) { getLogger().error(message, parameters); if (getReportInternalProblemsAsIssues()) { final org.eclipse.emf.common.util.URI uri = null; final Issue.IssueImpl issue = new Issue.IssueImpl(); issue.setCode(INTERNAL_ERROR_CODE); issue.setMessage(message); issue.setUriToProblem(uri); issue.setSeverity(Severity.ERROR); notifiesIssueMessageListeners(issue, uri, message); } }
/** Reports the given error message. * * @param message the warning message. * @param exception the source of the exception. * @since 0.8 */ protected void reportError(String message, Throwable exception) { getLogger().error(message, exception); if (getReportInternalProblemsAsIssues()) { final org.eclipse.emf.common.util.URI uri = null; final Issue.IssueImpl issue = new Issue.IssueImpl(); issue.setCode(INTERNAL_ERROR_CODE); issue.setMessage(message); issue.setUriToProblem(uri); issue.setSeverity(Severity.ERROR); notifiesIssueMessageListeners(issue, uri, message); } }
/** Reports the given warning message. * * @param message the warning message. * @since 0.8 */ protected void reportWarning(String message) { getLogger().warn(message); if (getReportInternalProblemsAsIssues()) { final org.eclipse.emf.common.util.URI uri = null; final Issue.IssueImpl issue = new Issue.IssueImpl(); issue.setCode(INTERNAL_ERROR_CODE); issue.setMessage(message); issue.setUriToProblem(uri); issue.setSeverity(Severity.WARNING); notifiesIssueMessageListeners(issue, uri, message); } }
public void convertResourceDiagnostic(Diagnostic diagnostic, Severity severity, IAcceptor<Issue> acceptor) { IssueImpl issue = new Issue.IssueImpl(); issue.setSyntaxError(diagnostic instanceof XtextSyntaxDiagnostic); issue.setSeverity(severity); issue.setLineNumber(diagnostic.getLine()); issue.setMessage(diagnostic.getMessage()); // issue.setmarker.put(IMarker.PRIORITY, Integer.valueOf(IMarker.PRIORITY_LOW)); if (diagnostic instanceof org.eclipse.xtext.diagnostics.Diagnostic) { org.eclipse.xtext.diagnostics.Diagnostic xtextDiagnostic = (org.eclipse.xtext.diagnostics.Diagnostic) diagnostic; issue.setOffset(xtextDiagnostic.getOffset()); issue.setLength(xtextDiagnostic.getLength()); } if (diagnostic instanceof AbstractDiagnostic) { AbstractDiagnostic castedDiagnostic = (AbstractDiagnostic)diagnostic; issue.setUriToProblem(castedDiagnostic.getUriToProblem()); issue.setCode(castedDiagnostic.getCode()); issue.setData(castedDiagnostic.getData()); } issue.setType(CheckType.FAST); acceptor.accept(issue); }
public void convertValidatorDiagnostic(org.eclipse.emf.common.util.Diagnostic diagnostic, IAcceptor<Issue> acceptor) { Severity severity = getSeverity(diagnostic); if (severity == null) return; IssueImpl issue = new Issue.IssueImpl(); issue.setSeverity(severity); IssueLocation locationData = getLocationData(diagnostic); if (locationData != null) { issue.setLineNumber(locationData.lineNumber); issue.setOffset(locationData.offset); issue.setLength(locationData.length); } final EObject causer = getCauser(diagnostic); if (causer != null) issue.setUriToProblem(EcoreUtil.getURI(causer)); issue.setCode(getIssueCode(diagnostic)); issue.setType(getIssueType(diagnostic)); issue.setData(getIssueData(diagnostic)); // marker.put(IXtextResourceChecker.DIAGNOSTIC_KEY, diagnostic); issue.setMessage(diagnostic.getMessage()); // marker.put(IMarker.PRIORITY, Integer.valueOf(IMarker.PRIORITY_LOW)); acceptor.accept(issue); }
/** Reports the given warning message. * * @param message the warning message. * @param exception the source of the exception. * @since 0.8 */ protected void reportWarning(String message, Throwable exception) { getLogger().warn(message, exception); if (getReportInternalProblemsAsIssues()) { final org.eclipse.emf.common.util.URI uri = null; final Issue.IssueImpl issue = new Issue.IssueImpl(); issue.setCode(INTERNAL_ERROR_CODE); issue.setMessage(message); issue.setUriToProblem(uri); issue.setSeverity(Severity.WARNING); notifiesIssueMessageListeners(issue, uri, message); } }
public Issue createIssue(IMarker marker) { Issue.IssueImpl issue = new Issue.IssueImpl(); issue.setMessage(MarkerUtilities.getMessage(marker)); issue.setLineNumber(MarkerUtilities.getLineNumber(marker) - 1); issue.setOffset(MarkerUtilities.getCharStart(marker)); issue.setLength(MarkerUtilities.getCharEnd(marker)-MarkerUtilities.getCharStart(marker)); issue.setCode(getCode(marker)); issue.setData(getIssueData(marker)); issue.setUriToProblem(getUriToProblem(marker)); issue.setSeverity(getSeverity(marker)); issue.setType(getCheckType(marker)); // Note, isSyntaxError is unset, but currently the api does not allow fixing // syntax errors anyway. return issue; }
public void reportProjectIssue(final String message, final String code, final Severity severity) { Issue.IssueImpl _issueImpl = new Issue.IssueImpl(); final Procedure1<Issue.IssueImpl> _function = (Issue.IssueImpl it) -> { it.setMessage(message); it.setCode(code); it.setSeverity(severity); it.setUriToProblem(this.baseDir); }; Issue.IssueImpl _doubleArrow = ObjectExtensions.<Issue.IssueImpl>operator_doubleArrow(_issueImpl, _function); this.issueAcceptor.apply(this.baseDir, Collections.<Issue>unmodifiableList(CollectionLiterals.<Issue>newArrayList(_doubleArrow))); }