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]