The GitHub Actions job "CI" on grails-core.git/feat/beans-dsl-diagnostics-8.0.x 
has failed.
Run started by GitHub user codeconsole (triggered by codeconsole).

Head commit for run:
d5c7bdf09752aa31a7bd3844c03e76788ae4e83c / Scott Murphy Heiberg 
<[email protected]>
Widen the reachable set to what the runtime actually answers

Three corrections to the reach check, two of them rejecting working code.

The extension-method set took only DefaultGroovyMethods entries whose first
parameter is exactly Object, so everything Groovy adds to a more specific
receiver was missing - `join` on a List-typed anonymous class read as
unreachable though the metaclass answers it on the instance. It is built from
DGM_LIKE_CLASSES now. That over-approximates, letting an `each` written in a
Runnable through to the runtime error, which is the same trade the closure case
already makes and the right direction for a diagnostic.

A static member of an enclosing class was reported unconditionally. Under
@CompileStatic it is reached by invokestatic and never reads the enclosing
instance, so on a statically compiled host - which every in-tree plugin
descriptor is - those names are in reach. On a dynamic host the reference does
go through the enclosing instance and is still reported, now saying so and that
qualifying it with the declaring class name is the fix.

And answersAnything counted invokeMethod/getProperty from any superclass, where
a class compiled before Groovy 3 declares both on every type - exempting
anything extending such a library class from the check entirely. Those two now
count only when declared in source this unit compiles, which is where somebody
having written them can be told from having inherited them.

Report URL: https://github.com/apache/grails-core/actions/runs/34611308087

With regards,
GitHub Actions via GitBox

Reply via email to