&& l.getEndPos() == to)
private String markup(String line, List<ILexLocation> list) { if (list == null) { return line; } else { StringBuilder sb = new StringBuilder(); int p = 0; for (ILexLocation m : list) { int start = m.getStartPos() - 1; int end = m.getStartLine() == m.getEndLine() ? m.getEndPos() - 1 : line.length(); if (start >= p) // Backtracker produces duplicate tokens { sb.append(line.substring(p, start)); sb.append(LST_ESCAPE_BEGIN + "\\vdmnotcovered{"); sb.append(latexQuote(line.substring(start, end))); sb.append("}" + LST_ESCAPE_END); // \u00A3"); p = end; } } sb.append(line.substring(p)); return sb.toString(); } }
private String markupHTML(String line, List<ILexLocation> list) { if (line.isEmpty()) { return htmlLine(); } StringBuilder sb = new StringBuilder(HTMLSTART); int p = 0; if (list != null) { for (ILexLocation m : list) { int start = m.getStartPos() - 1; int end = m.getStartLine() == m.getEndLine() ? m.getEndPos() - 1 : line.length(); if (start >= p) // Backtracker produces duplicate tokens { sb.append(htmlQuote(line.substring(p, start))); sb.append("<span style='color:red'>"); sb.append(htmlQuote(line.substring(start, end))); sb.append("</span>"); p = end; } } } sb.append(htmlQuote(line.substring(p))); sb.append(HTMLEND); return sb.toString(); }
public boolean within(ILexLocation span) { return (startLine > span.getStartLine() || startLine == span.getStartLine() && startPos >= span.getStartPos()) && (startLine <= span.getEndLine() || startLine == span.getEndLine() && startPos < span.getEndPos()) && file.equals(span.getFile()); }
public static void addSpan(LexNameToken name, LexToken upto) { LexLocation span = new LexLocation(name.location.getFile(), name.location.getModule(), name.location.getStartLine(), name.location.getStartPos(), upto.location.getEndLine(), upto.location.getEndPos(), upto.location.getStartOffset(), upto.location.getEndOffset()); nameSpans.put(name, span); }
public static void addSpan(LexNameToken name, LexToken upto) { LexLocation span = new LexLocation(name.location.getFile(), name.location.getModule(), name.location.getStartLine(), name.location.getStartPos(), upto.location.getEndLine(), upto.location.getEndPos(), upto.location.getStartOffset(), upto.location.getEndOffset()); nameSpans.put(name, span); }
public ILexNameToken getClassName() { // We don't know the class name of the name of a class until we've // read the name. So create a new location with the right module. LexLocation loc = new LexLocation(location.getFile(), name, location.getStartLine(), location.getStartPos(), location.getEndLine(), location.getEndPos(), location.getStartOffset(), location.getEndOffset()); return new LexNameToken("CLASS", name, loc); }