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]