Skip to content

Commit 3e5fd73

Browse files
committed
SONARJAVA-1382 Fix checks which should not add issues when having parsing issues
1 parent 13606da commit 3e5fd73

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

java-checks/src/main/java/org/sonar/java/checks/DefaultPackageCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public class DefaultPackageCheck implements JavaFileScanner {
4141

4242
@Override
4343
public void scanFile(JavaFileScannerContext context) {
44-
if (context.getTree().packageDeclaration() == null) {
44+
if (context.fileParsed() && context.getTree().packageDeclaration() == null) {
4545
context.addIssueOnFile(this, "Move this file to a named package.");
4646
}
4747
}

java-checks/src/main/java/org/sonar/java/checks/EmptyFileCheck.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ public final class EmptyFileCheck implements JavaFileScanner {
4040

4141
@Override
4242
public void scanFile(JavaFileScannerContext context) {
43-
CompilationUnitTree tree = context.getTree();
44-
if (tree.packageDeclaration() == null && tree.types().isEmpty()) {
45-
context.addIssue(context.getTree(), this, "This Java file is empty.");
43+
if (context.fileParsed()) {
44+
CompilationUnitTree tree = context.getTree();
45+
if (tree.packageDeclaration() == null && tree.types().isEmpty()) {
46+
context.addIssue(context.getTree(), this, "This Java file is empty.");
47+
}
4648
}
4749
}
4850

java-checks/src/test/java/org/sonar/java/checks/DefaultPackageCheckTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,9 @@ public void with_package() {
3434
JavaCheckVerifier.verifyNoIssue("src/test/files/checks/DefaultPackageCheck/WithPackage.java", new DefaultPackageCheck());
3535
}
3636

37+
@Test
38+
public void test_parsing_error_file() {
39+
JavaCheckVerifier.verifyNoIssue("src/test/files/checks/ParsingError.java", new DefaultPackageCheck());
40+
}
41+
3742
}

java-checks/src/test/java/org/sonar/java/checks/EmptyFileCheckTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,9 @@ public void test_non_empty_file() {
3434
JavaCheckVerifier.verifyNoIssue("src/test/files/checks/NonEmptyFile.java", new EmptyFileCheck());
3535
}
3636

37+
@Test
38+
public void test_parsing_error_file() {
39+
JavaCheckVerifier.verifyNoIssue("src/test/files/checks/ParsingError.java", new EmptyFileCheck());
40+
}
41+
3742
}

0 commit comments

Comments
 (0)