> 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