On Fri, 7 Aug 2026 12:01:04 GMT, Chen Liang <[email protected]> wrote:
>> After digging deeper into what javac does. We both consume `tree.mods.flags` >> and produce `annotationType.type` in ENTER. So we would need to plugin at >> the back edge of ENTER. >> >> I may be that the `tree.mods.flags` consumption in `Enter::visitClassDef` >> can handle us changing state efter ENTER. I think what we miss is the guard >> against implicit addition of `IDENTITY_TYPE` in `Check::checkFlags`. >> >> I think someone with greater javac knowledge has to convince me that it >> would be fine to do this after we have read out the state. >> >> But currently there is no point where we can hook in a plugin where it has >> `annotationType.type` and the state we want to modify has not already been >> read. >> >> javac enter order of operations: >> >> tree.mods.flags consumed >> ↓ >> imports resolved >> ↓ >> annotationType.type populated > > Explicit removal of `IDENTITY_TYPE` flag should be ok. > https://github.com/openjdk/jdk/blob/9bbc1128ff70be842b0272f3067dfaa42220ac3c/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java#L3353-L3354 Sorry for the late reply. I am not sure I understand what you are trying to say here? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/32214#discussion_r3795410348
