Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public int line() {
}

/**
* Returns the 0-indexed column number on which the error occurred, or {@code -1} if the error does not have a
* Returns the 1-indexed column number on which the error occurred, or {@code -1} if the error does not have a
* column.
*/
public int column() {
Expand All @@ -67,8 +67,7 @@ public String toString() {
sb.append(lineNumber).append(':');
}
if (column >= 0) {
// internal column numbers are 0-based, but diagnostics use 1-based indexing by convention
sb.append(column + 1).append(':');
sb.append(column).append(':');
}
if (lineNumber >= 0 || column >= 0) {
sb.append(' ');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public void parseError() throws Exception {

int result = main.format(path.toString());
assertThat(stdout.toString()).isEmpty();
assertThat(stderr.toString()).contains("InvalidSyntax.java:2:29: error: <identifier> expected");
assertThat(stderr.toString()).contains("InvalidSyntax.java:2:28: error: <identifier> expected");
assertThat(result).isEqualTo(2);
}

Expand Down Expand Up @@ -116,7 +116,7 @@ public void oneFileParseError() throws Exception {

int result = main.format(pathOne.toString(), pathTwo.toString());
assertThat(stdout.toString()).isEqualTo(two);
assertThat(stderr.toString()).contains("One.java:1:13: error: reached end of file");
assertThat(stderr.toString()).contains("One.java:1:12: error: reached end of file");
assertThat(result).isEqualTo(2);
}

Expand All @@ -137,7 +137,7 @@ public void oneFileParseErrorReplace() throws Exception {

int result = main.format("-i", pathOne.toString(), pathTwo.toString());
assertThat(stdout.toString()).isEmpty();
assertThat(stderr.toString()).contains("One.java:1:14: error: class, interface");
assertThat(stderr.toString()).contains("One.java:1:13: error: class, interface");
assertThat(result).isEqualTo(2);
// don't edit files with parse errors
assertThat(Files.readAllLines(pathOne, UTF_8)).containsExactly("class One {}}");
Expand All @@ -159,7 +159,7 @@ public void parseError2() throws FormatterException, IOException, UsageException
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("A.java:2:6: error: ';' expected");
assertThat(err.toString()).contains("A.java:2:5: error: ';' expected");
}

@Test
Expand All @@ -174,7 +174,7 @@ public void parseErrorStdin() throws FormatterException, IOException, UsageExcep
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("<stdin>:2:6: error: ';' expected");
assertThat(err.toString()).contains("<stdin>:2:5: error: ';' expected");
}

@Test
Expand All @@ -192,7 +192,7 @@ public void lexError2() throws FormatterException, IOException, UsageException {
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("A.java:2:5: error: unclosed character literal");
assertThat(err.toString()).contains("A.java:2:4: error: unclosed character literal");
}

@Test
Expand All @@ -206,6 +206,6 @@ public void lexErrorStdin() throws FormatterException, IOException, UsageExcepti
int exitCode = main.format(args);

assertThat(exitCode).isEqualTo(2);
assertThat(err.toString()).contains("<stdin>:2:5: error: unclosed character literal");
assertThat(err.toString()).contains("<stdin>:2:4: error: unclosed character literal");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ public void importRemoveErrorParseError() throws Exception {
new PrintWriter(err, true),
new ByteArrayInputStream(joiner.join(input).getBytes(UTF_8)));
assertThat(main.format("-")).isEqualTo(2);
assertThat(err.toString()).contains("<stdin>:4:3: error: class, interface");
assertThat(err.toString()).contains("<stdin>:4:2: error: class, interface");

} finally {
Locale.setDefault(backupLocale);
Expand Down Expand Up @@ -584,7 +584,7 @@ public void exitIfChangedLosesToParseError() throws Exception {
.isEqualTo(1);
assertThat(main.format("-n", "--set-exit-if-changed", unformatted.toString(), broken.toString()))
.isEqualTo(2);
assertThat(err.toString()).contains("Broken.java:1:16: error: reached end of file");
assertThat(err.toString()).contains("Broken.java:1:15: error: reached end of file");
}

@Test
Expand All @@ -599,7 +599,7 @@ public void assumeFilename_error() throws Exception {
new PrintWriter(err, true),
new ByteArrayInputStream(joiner.join(input).getBytes(UTF_8)));
assertThat(main.format("--assume-filename=Foo.java", "-")).isEqualTo(2);
assertThat(err.toString()).contains("Foo.java:1:15: error: class, interface");
assertThat(err.toString()).contains("Foo.java:1:14: error: class, interface");
}

@Test
Expand Down
Loading