@Override public long getPosition() { if (problem instanceof DefaultProblem) { return ((DefaultProblem) problem).getSourceStart(); } return Diagnostic.NOPOS; } @Override
@Override public long getPosition() { if (problem instanceof DefaultProblem) { return ((DefaultProblem) problem).getSourceStart(); } return Diagnostic.NOPOS; } @Override
@Override public long getPosition() { if (problem instanceof DefaultProblem) { return ((DefaultProblem) problem).getSourceStart(); } return Diagnostic.NOPOS; } @Override
private static EclipseDiagnostic newInstanceFromDefaultProblem(DefaultProblem problem, DefaultProblemFactory factory) { return new EclipseDiagnostic(getKind(problem), problem.getID(), problem.getArguments(), problem.getOriginatingFileName(), factory, problem.getSourceLineNumber(), problem.getSourceColumnNumber(), problem.getSourceStart(), problem.getSourceEnd() ); }
private static EclipseDiagnostic newInstanceFromDefaultProblem(DefaultProblem problem, DefaultProblemFactory factory) { return new EclipseDiagnostic(getKind(problem), problem.getID(), problem.getArguments(), problem.getOriginatingFileName(), factory, problem.getSourceLineNumber(), problem.getSourceColumnNumber(), problem.getSourceStart(), problem.getSourceEnd() ); }
@SuppressWarnings("restriction") private static Range convertRange(IOpenable openable, IProblem problem) { try { return JDTUtils.toRange(openable, problem.getSourceStart(), problem.getSourceEnd() - problem.getSourceStart() + 1); } catch (CoreException e) { // In case failed to open the IOpenable's buffer, use the IProblem's information to calculate the range. Position start = new Position(); Position end = new Position(); start.setLine(problem.getSourceLineNumber() - 1);// The protocol is 0-based. end.setLine(problem.getSourceLineNumber() - 1); if (problem instanceof DefaultProblem) { DefaultProblem dProblem = (DefaultProblem) problem; start.setCharacter(dProblem.getSourceColumnNumber() - 1); int offset = 0; if (dProblem.getSourceStart() != -1 && dProblem.getSourceEnd() != -1) { offset = dProblem.getSourceEnd() - dProblem.getSourceStart() + 1; } end.setCharacter(dProblem.getSourceColumnNumber() - 1 + offset); } return new Range(start, end); } }