codeconsole commented on PR #16292:
URL: https://github.com/apache/grails-core/pull/16292#issuecomment-5636109951
All three addressed in `d5c7bdf`. 364 module tests, checkstyle clean, both
example projects and all eight in-tree `beans = { }` users green.
**[P2] extension methods on a specific receiver** — set now built from
`DefaultGroovyMethods.DGM_LIKE_CLASSES` instead of the `Object`-receiver
entries. Your `join()` shape compiles and returns `hello`. Over-approximation
accepted for the reason you give, and it is the same trade the closure case
already makes. Spec row added with a collection-typed superclass.
**[P2] statics of a `@CompileStatic` host** —
`isStaticallyCompiled(outerClass)` gates it: static methods and fields of the
enclosing classes and their supertypes are reachable there, reported as before
on a dynamic host. Your `helper() + SUFFIX` descriptor compiles and returns
`hello`. The dynamic-host message now names the case and says qualifying with
the declaring class is the fix. Two spec rows — `@CompileStatic` compiling and
running, dynamic still rejected on that wording.
**[P3] `answersAnything`** — `invokeMethod`/`getProperty` now count only
when declared in a class this unit compiles from source (`getModule() !=
null`), so a pre-Groovy-3 library superclass no longer exempts its subclasses.
`methodMissing`/`propertyMissing` are unchanged, never being generated.
Docs updated in step: "the extension methods every object has" → "Groovy's
extension methods", plus the static-member case, in both the `GrailsBeans`
javadoc and the guide NOTE.
--
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]