RFR: 8375646: Some parser flags seem unused

Maurizio Cimadamore mcimadamore at openjdk.org
Mon Jan 19 16:37:27 UTC 2026


On Mon, 19 Jan 2026 16:30:43 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> Some of the flags in `JavacParser` are never set, such as `TYPEARGS` and `NOPARAMS`.
> 
> Another flag, namely `NODIAMOND` can easily be avoided by looking ahead one token.
> 
> This PR removes all the three flags. The main issue with these changes had to do with removing the `boolean allowDiamon` parameter from the `typeArguments` method, as doing so makes it clash with another similarly named method.
> For this reason, this PR distinguish between:
> 
> * `typeArguments` -- a method that parses a type argument list, returns a list of `JCExpression`s
> * `typeApply` -- a method that parses and applies type arguments to an existing type (a `JCExpression). This returns a new `JCExpression` (typically a `JCTypeApply`).

src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java line 2402:

> 2400:         if (token.kind == LT) {
> 2401:             nextToken();
> 2402:             ListBuffer<JCExpression> args = new ListBuffer<>();

No real change here -- other than dropping the "then" branch -- all the diffs here are indentation changes, really

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/29302#discussion_r2705435654


More information about the compiler-dev mailing list