On Wed, 3 Feb 2021 10:59:31 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
> I'm also worried about where does this leave symbol construction - for > instance, in TypeEnter I now see these lines (unchanged in this patch): > > ``` > params.add(new VarSymbol( > GENERATED_MEMBER | PARAMETER | RECORD | (field == > lastField && lastIsVarargs ? Flags.VARARGS : 0), > field.name, field.sym.type, csym)); > ``` > > Here, it seems, we are forced to just use a flat flags mask in the > constructor - in other words, the new API is only for testing, and there is > an asymmetry between construction and testing. The flat flags work exactly as before (i.e. set as bits and checked as bit masks), and that are these bits set here. Only the symbol-kind specific flags are set and checked using methods, see e.g. the constructor for BindingSymbol. ------------- PR: https://git.openjdk.java.net/jdk/pull/2316