> The primary problem was that key `compiler.err.dc.ref.bad.parens` had the
> wrong message "')' missing in reference". That error message is not used when
> the right parenthesis is missing, but when it occurs before the end of the
> signature. The missing parenthesis case is caught earlier by the parens
> balancing code in `DocCommentParser#reference` and uses message
> `compiler.err.dc.unterminated.signature` ("unterminated signature").
>
> I changed the message for `compiler.err.dc.ref.bad.parens` to "unexpected
> parenthesis".
>
> A secondary problem was that `DocCommentParser#reference` also threw
> "unterminated signature" when there were too many closing angle brackets or
> parentheses. These cases are now passed through
> in`DocCommentParser#reference` so that `ReferenceParser#parse` can throw a
> more appropriate error ("unexpected parenthesis" or "unexpected input").
>
> Here's a list of what references now cause what error messages:
>
> - `#foo(int` `unterminated signature`
> - `#foo((int))` `unexpected parenthesis`
> - `#foo(int))` `unexpected parenthesis`
> - `#foo(int)x` `unexpected parenthesis`
> - `F<T` `unterminated signature`
> - `F<T>>` `unexpected input`
>
> I added two new tests for the cases with too many closing brackets/parens
> that used to fail with "unterminated signature".
Hannes Wallnöfer has updated the pull request incrementally with one additional
commit since the last revision:
JDK-8264181: Add test
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/4068/files
- new: https://git.openjdk.java.net/jdk/pull/4068/files/a122027e..733e42f0
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4068&range=02
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4068&range=01-02
Stats: 4 lines in 2 files changed: 0 ins; 0 del; 4 mod
Patch: https://git.openjdk.java.net/jdk/pull/4068.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/4068/head:pull/4068
PR: https://git.openjdk.java.net/jdk/pull/4068