@Test public void getEndOffsetMultiLineRNewLine() { Token foo = mockToken(1, 0, "foo"); Token bar = mockToken(2, 2, "bar\rbaz"); LineOffsets lineOffsets = new LineOffsets("foo\n??bar\rbaz..."); assertThat(lineOffsets.getEndOffset(foo)).isEqualTo(3); assertThat(lineOffsets.getEndOffset(bar)).isEqualTo(13); }
public int getEndOffset(Token token) { String[] tokenLines = token.getOriginalValue().split(NEWLINE_REGEX, -1); int tokenLastLine = token.getLine() + tokenLines.length - 1; int tokenLastLineColumn = (tokenLines.length > 1 ? 0 : token.getColumn()) + tokenLines[tokenLines.length - 1].length(); return getOffset(tokenLastLine, tokenLastLineColumn); }
LineOffsets { public int getEndOffset(Token token) { String[] tokenLines = token.getOriginalValue().split(NEWLINE_REGEX, -1); int tokenLastLine = token.getLine() + tokenLines.length - 1; int tokenLastLineColumn = (tokenLines.length > 1 ? 0 : token.getColumn()) + tokenLines[tokenLines.length - 1].length(); return getOffset(tokenLastLine, tokenLastLineColumn); } }
LineOffsets { public int getEndOffset(Token token) { String[] tokenLines = token.getOriginalValue().split(NEWLINE_REGEX, -1); int tokenLastLine = token.getLine() + tokenLines.length - 1; int tokenLastLineColumn = (tokenLines.length > 1 ? 0 : token.getColumn()) + tokenLines[tokenLines.length - 1].length(); return getOffset(tokenLastLine, tokenLastLineColumn); } LineOffsets(String code); }
LineOffsets { public int getEndOffset(Token token) { String[] tokenLines = token.getOriginalValue().split(NEWLINE_REGEX, -1); int tokenLastLine = token.getLine() + tokenLines.length - 1; int tokenLastLineColumn = (tokenLines.length > 1 ? 0 : token.getColumn()) + tokenLines[tokenLines.length - 1].length(); return getOffset(tokenLastLine, tokenLastLineColumn); } LineOffsets(String code); int getStartOffset(Token token); int getEndOffset(Token token); int getOffset(int line, int column); }
LineOffsets { public int getEndOffset(Token token) { String[] tokenLines = token.getOriginalValue().split(NEWLINE_REGEX, -1); int tokenLastLine = token.getLine() + tokenLines.length - 1; int tokenLastLineColumn = (tokenLines.length > 1 ? 0 : token.getColumn()) + tokenLines[tokenLines.length - 1].length(); return getOffset(tokenLastLine, tokenLastLineColumn); } LineOffsets(String code); int getStartOffset(Token token); int getEndOffset(Token token); int getOffset(int line, int column);  }