diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java index 701091fcd70..a93c715ec21 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java @@ -155,14 +155,25 @@ public class PrintingProcessor extends AbstractProcessor { break; } - writer.print("("); - printParameters(e); - writer.print(")"); - AnnotationValue defaultValue = e.getDefaultValue(); - if (defaultValue != null) - writer.print(" default " + defaultValue); + if (elementUtils.isCompactConstructor(e)) { + // A record's compact constructor by definition + // lacks source-explicit parameters and lacks a + // throws clause. + writer.print(" {} /* compact constructor */ "); + } else { + writer.print("("); + printParameters(e); + writer.print(")"); + + // Display any default values for an annotation + // interface element + AnnotationValue defaultValue = e.getDefaultValue(); + if (defaultValue != null) + writer.print(" default " + defaultValue); + + printThrows(e); + } - printThrows(e); writer.println(";"); } return this;