The GitHub Actions job "Groovy Snapshot Canary Build" on 
grails-core.git/feat/beans-dsl-diagnostics-8.0.x has succeeded.
Run started by GitHub user codeconsole (triggered by codeconsole).

Head commit for run:
fbfe7a176a824840159b58f816a6e501b60f0fc1 / Scott Murphy Heiberg 
<[email protected]>
Treat the body a nested anonymous class sits in as a ceiling

The per-body decision stopped at the first anonymous class: one created inside a
method body was re-entered with the class-level answer, recomputed from the 
outer
CLASS chain, which never sees the method it was written in. A @CompileDynamic
method of a @CompileStatic host therefore left every anonymous class in its body
reading as statically compiled, on a descriptor and inside a group alike, and
their references to an enclosing static went unreported and failed at runtime.

Measured while fixing it, and not something the report covered: a @CompileStatic
method on the NESTED class does not rescue it either - it still fails with
NoSuchFieldError. So the enclosing body is a ceiling rather than a default, and
a method's own annotation can only lower the answer beneath it, never raise it.
Null says nothing encloses the class but the lifted bean method, where the chain
alone decides and a method may still raise it, which is the round-5 behaviour
the existing rows pin.

The nested class also inherits baseOwn rather than the body's set, so the 
statics
have to reach it through its own answer or not at all; passing the body's set
would hand them over before that answer is consulted. walkBody returns the
classes found in the body it walked instead of appending to one shared list,
which is what lets each carry its own answer down.

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

With regards,
GitHub Actions via GitBox

Reply via email to