codeconsole commented on PR #3022:
URL: https://github.com/apache/groovy/pull/3022#issuecomment-6513953775

   @paulk-asert @daniellansun I've split this as Paul suggested. This PR is now 
group A, rebuilt on current master, so the conflicts are gone:
   
   - A (here): d5395be, 9f9124f, 8fba262, f60c6e4, f35e725, 4169695, a358ba1, 
f85f7e2, 50a8e6e, 51893ae, the constructor slices of 0b89f6c and 932d9e6, and 
only `testFunctionCN25` from c854974. The run-time-package rule here covers 
constructors: the `GroovyClassLoader` marker, 
`AsmClassGenerator.isInSameRuntimePackage` and 
`StaticInvocationWriter.isDirectlyAccessible`, which constructor references 
use. There is a new test that a constructor reference compiled to class files 
calls a protected or package-private constructor of the same package directly.
   - Docs: a Groovy 7 entry in COMPATIBILITY.md for the overload, varargs, 
null-to-primitive, visible-constructor and meta-class changes; a paragraph in 
the method reference section of core-operators on how the constructor is 
selected, which cases stay at run time, and that those need reflection metadata 
in a native image; and the `GroovyClassLoader` javadoc now says that a subclass 
whose collector defines classes itself takes the meta-class path where direct 
access would work.
   - B, the same rule for `new`, methods, fields, method references, `super$` 
and the diagnostics (19f8427, c4b5728, 41c24c6, 1865f19, 3bf8589, the rest of 
0b89f6c and 932d9e6, a4ef7fb, fe92a5f, 8c338c3, 94895f3): GROOVY-12568, #3097. 
It builds on this PR. Its COMPATIBILITY entry covers the new compile errors for 
`new` of a protected constructor of another package and for a protected method 
through a superclass receiver, and `StaticInvocationWriter` now notes that the 
constructor error is raised during class generation, so `@TypeChecked` stays 
silent.
   - C, each with its own issue and PR:
     - package-private classes of another class loader (0e55d32): GROOVY-12569, 
#3098, on top of B;
     - `super.m()` of a package-private method across class loaders (b4b1b63): 
GROOVY-12570, #3099, on top of B;
     - `BroadcastChannel` subscriber after close (a270edd): GROOVY-12571, #3105;
     - sleep-to-await test changes (bce20df, 99ad290): GROOVY-12572, #3100;
     - `LogTest` (35346fd): GROOVY-12573, #3101. #3078 didn't include it.
   
   This branch passes the `groovy`, `gls`, `bugs`, classgen and transform 
packages (13,420 tests); only `bugs.Groovy12363` fails, as it does on master, 
and #3096 fixes that.
   


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