Skip to content

Commit 1f5b37f

Browse files
authored
LUCENE-9747: dodge javadoc reporter NPE bug on Java 11. (apache#2337)
1 parent 061b3f2 commit 1f5b37f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

dev-tools/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ private void checkParameters(Element element, DocCommentTree tree) {
406406
/** logs a new error for the particular element */
407407
private void error(Element element, String message) {
408408
var fullMessage = new StringBuilder();
409-
switch(element.getKind()) {
409+
switch (element.getKind()) {
410410
case MODULE:
411411
case PACKAGE:
412412
// for modules/packages, we don't have filename + line number, fully qualify
@@ -426,10 +426,19 @@ private void error(Element element, String message) {
426426
fullMessage.append(element.getSimpleName());
427427
break;
428428
}
429+
429430
fullMessage.append(" (");
430431
fullMessage.append(element.getKind().toString().toLowerCase(Locale.ROOT));
431432
fullMessage.append("): ");
432433
fullMessage.append(message);
433-
reporter.print(Diagnostic.Kind.ERROR, element, fullMessage.toString());
434+
435+
if (Runtime.version().feature() == 11 && element.getKind() == ElementKind.PACKAGE) {
436+
// Avoid JDK 11 bug:
437+
// https://issues.apache.org/jira/browse/LUCENE-9747
438+
// https://bugs.openjdk.java.net/browse/JDK-8224082
439+
reporter.print(Diagnostic.Kind.ERROR, fullMessage.toString());
440+
} else {
441+
reporter.print(Diagnostic.Kind.ERROR, element, fullMessage.toString());
442+
}
434443
}
435444
}

0 commit comments

Comments
 (0)