codeconsole commented on PR #16292:
URL: https://github.com/apache/grails-core/pull/16292#issuecomment-5655673033

   Addressed in `c8756534`. 374 module tests, checkstyle clean, examples and 
in-tree `beans = { }` users green.
   
   **[P3] per-method static-compilation mode** — both rows reproduced first, 
then fixed. A method carries its own answer via the same 
`isTypeCheckingSkipped` the class level uses; field initializers and 
object-initializer statements keep the class's, there being nowhere to annotate 
them. The walk moved into a `walkBody` method so each body gets its own 
reachable set rather than sharing one.
   
   Four rows pin it — `@CompileDynamic` method of a static host (rejected with 
the static-member sentence), `@CompileStatic` method of a dynamic host 
(compiles, returns `hello`), and the two unannotated controls that must still 
follow the class. Reverting the per-body selection fails exactly the two 
annotated rows and leaves the controls passing, so the fallback is load-bearing 
too.
   
   **Notes** — the `endsWith` match now says why it is the looser one on 
purpose: a folded member yields the bare enum name, a qualified spelling is 
still this mode, and no other `TypeCheckingMode` constant ends that way. 
Javadoc and the guide now read "on a statically compiled host, or in a method 
it marks `@CompileStatic` itself".


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to