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

   All items from both rounds are addressed. 9 commits, 361 module tests (was 
313), each fix confirmed to fail with it backed out. `checkstyleMain`, all 
eight in-tree `beans = { }` users, and both `beans-dsl` example projects green.
   
   **Round 1**
   
   | Item | Status |
   |---|---|
   | 1. nested-closure re-homing regression | fixed (your call), and the walk 
now stops at closures in `0c25aef` too |
   | 2. `group(...)` under `@CompileStatic` | `67d20dc`, `55fa461`, `5615328` |
   | 3. descriptor anon reaching `method(...)`/`field(...)` | `6663088`, 
widened in `b952b27`, `c4546d2` |
   | 4. shared-name validation for the new forms | fixed (your call) |
   | 5. dumpdir property | guide fixed (your call); the javadoc still carried 
the `-D` form and no absolute-path caveat — `b952b27` |
   
   **Round 2**
   
   | Item | Status |
   |---|---|
   | 1. `@CompileStatic` descriptor anon `GroovyBugError` | `67d20dc` sets the 
enclosing method; `55fa461` covers a nested closure; `5615328` a parameter 
default |
   | 2. group anon reaching outward | `191830e`; `c4546d2` covers a parameter 
default and a class nested in another |
   | 3. property-style access to a moved accessor | `635f284`; `4fe4570` adds 
`this.suffix()`, `this.suffix`, and `getSuffix()` against a moved property or 
field |
   
   Six further gaps in the same code paths, found while completing the above 
and each reproduced first:
   
   - `this$0` is retyped to the sibling, so a member the **descriptor itself** 
declares, or one inherited from `Plugin`, failed identically and was not 
reported. Both host kinds now use one rule: anything the class cannot answer 
itself. `b952b27`
   - That rule rejected every `DefaultGroovyMethods` extension inside a group — 
`println`, `with`, `tap`, `identity`. Those resolve against the instance and 
never read `this$0`. `b952b27`
   - A reference in an anonymous class **field initializer** was invisible to 
the check. `4fe4570`
   - A parameter default was re-homed but not reach-checked. `c4546d2`
   - `sb.tap { append(x) }` inside an anonymous class body was rejected — the 
delegate-first shape you filed in round 1, in the other walk. `0c25aef`
   - `this.tag` was rejected for an **inherited** field while bare `tag` was 
not; `getFields()` is declared-only. `0c25aef`
   
   Also corrected: the javadoc said a `.staticMethod()` bean "cannot carry" an 
anonymous class (only one written directly in its body is rejected), and that 
the dump writes one file per host class (a group writes its own).
   
   Not changed, and worth your view if you disagree: duplicate names across a 
`group(...)` boundary are not compared. Two `@Bean` methods of one name on two 
configuration classes is a loud `BeanDefinitionOverrideException` under Boot 
rather than the silent first-wins drop the check exists for, and a group 
carries the discriminating condition.
   
   CI: the two reds are `EndToEndSpec > async multiple levels of layouts` and 
`UserControllerSpec > User list`, both on #16030 against `8.0.x` itself at 2% 
and 3%.


-- 
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