Better error message instead of "record header expected"?
Ethan McCue
ethan at mccue.dev
Mon Sep 19 16:58:40 UTC 2022
Ideally, the error message could be something like
error[E0123]: record header expected
--> src/Record.java:1:20
|
1 | public record Record {
| ^ record header required here
|
help: to make a record with no components, use an empty header
|
1 | public record Record() {
|
For more information about this error, try `javac --explain E0123`.
I'm sorry that I haven't had my life in enough of a line to make that full
proposal though.
On Mon, Sep 19, 2022 at 10:29 AM Vicente Romero <vicente.romero at oracle.com>
wrote:
> Hi Jaikiran,
>
> Thanks for the report, I have filed [1] to track this issue,
>
> Thanks,
> Vicente
>
> [1] https://bugs.openjdk.org/browse/JDK-8294020
>
> On 9/19/22 09:44, Jaikiran Pai wrote:
> > Please consider this trivial code:
> >
> > public record Record {
> >
> > }
> >
> > Trying to compile this results in:
> >
> > javac Record.java
> >
> > Record.java:1: error: record header expected
> >
> > public record Record {
> > ^
> >
> > 1 error
> >
> > It isn't too clear what that error message means. It took me a while
> > to realize that I had missed using the () after the record's name.
> > Changing the source to:
> >
> > public record Record() {
> >
> > }
> >
> > is what the error was trying to convey. Could this error message be
> > improved?
> >
> > By the way, notice that the error message was pointing to the "r"
> > letter of the "record" keyword with the ^ sign. Is that right place
> > for this error or should it have been after the "d" of the "Record"
> > name, similar to what appears to be reported for constructors of
> > classes, for example:
> >
> > public class Event {
> > public Event {
> >
> > }
> > }
> >
> > javac Event.java
> >
> > Event.java:2: error: <identifier> expected
> > public Event {
> > ^
> > 1 error
> >
> > (not sure if mail clients will preserve the spacing - that ^ appears
> > between the "t" and the "{")
> >
> > -Jaikiran
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/compiler-dev/attachments/20220919/cfbcaa4b/attachment-0001.htm>
More information about the compiler-dev
mailing list