You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2024/04/27 20:38:53 UTC

(groovy) branch GROOVY-8283 updated (0d07a0c8f7 -> fb192a57b2)

This is an automated email from the ASF dual-hosted git repository.

emilles pushed a change to branch GROOVY-8283
in repository https://gitbox.apache.org/repos/asf/groovy.git


    omit 0d07a0c8f7 GROOVY-8283: field hides getter of super class (not interface)
     add a79940a416 GROOVY-10725: STC: resolve variadic placeholder
     add 7f6fcb2f81 additional testcase
     add 286c9192ae GROOVY-10521: plain array parameter descriptor
     add 3c712d1e5d Remove aliyun maven repos
     add f8311c872c Move repos into settings.gradle
     add 6c0cdaa7a1 Enable typesafe project accessors
     add 659a4fa506 Add .gitattributes
     add 7965d1e8b6 Generate wrapper
     add cc841050a2 Publish build scan when running on GHA
     add 55e9003e19 Add .editorconfig
     add 956b4daa22 Remove redundant plugin applying
     add 50026f1fee GROOVY-8737: STC: no varargs distance for exact match of variadic method
     add 7824bd62fc GROOVY-6146, GROOVY-8737, GROOVY-10099: add test cases
     add 14946ff27a GROOVY-8788: STC: prefer closer parameter match over receiver-type match
     add 87b4109418 minor refactor - no need to funnel through InvokerHelper here
     add 2aff212f7f update performance for Groovy 4
     add c8bc7d4a3e add some largish samples for the performance tests
     add 98ad8f7e8f minor refactor of performance tests
     add 3405c7be6d make platform independent
     add a7d9bc37d1 GROOVY-10728: Enhance groovy-dateutil extensions to support collections of indices when accessing Calendar/Date
     add dda2e86cdf update dependency metadata
     add 05d590f79a GROOVY-10729: Bump JUnit Jupiter/JUnit Platform to 5.9.0/1.9.0
     add 939cfbdacb GROOVY-10730: Bump Gradle to 7.5.1 (build dependency)
     add 7ba67f3659 GROOVY-10730: Bump Gradle to 7.5.1 (minor tweak)
     add d939400463 typo
     add 7bf72c579a minor test refactor
     add c4470a2b42 minor test refactor - fix test name
     add 0ddf6cdd72 Revert "GROOVY-10730: Bump Gradle to 7.5.1 (build dependency)"
     add 0ffc344a04 Revert "GROOVY-10730: Bump Gradle to 7.5.1 (minor tweak)"
     add a55b6e09fe Trivial refactoring: extract variables
     add ce15eaef34 Add one more test for `clone` array
     add 8baba1ada2 GROOVY-10731: run `MarkupTemplateEngine` type-checked not static compile
     add 69b88f0bfd GROOVY-10730: Bump Gradle to 7.5.1
     add f391325399 GROOVY-10730: Remove the jdk16+ add-opens jvm args
     add 0628b2dd46 GROOVY-10730: Fix accessing `clone` illegally
     add f3dc75c75f Trivial refactoring: extract variable
     add 4e3cba9dcb Trivial tweak for checking conditions
     add 51d22ae9ab Trivial tweak for checking conditions further
     add bd39d52639 Trivial tweak for checking conditions further
     add b181640116 Bump Gradle Enterprise plugin to 3.11.1
     add 9dad151967 minor refactor
     add 04aa1570eb Update groovy-build-test-ea.yml
     add 513dd31f08 GROOVY-10732: @Immutable handling of cloneable types should have the same behavior for non-cloneables on JDK16+
     add a80f33a9ef GROOVY-10736: Bump gson (test dependency) to 2.9.1
     add c049c67aef GROOVY-10738: Bump Spock to 2.2 (test dependency)
     add a228fae2d1 GROOVY-10741: STC: method pointer/reference to generated property method
     add 20eac13c23 GROOVY-10744: STC: assignment of primitives to wrapper-type interfaces
     add f6def07dea GROOVY-10739: Improve error message for malformed grab coordinate
     add bdf817acf0 GROOVY-10743: The use method for Category classes can't take an interface with static methods due to a NPE
     add 6b275d14fc GROOVY-10737: Groovydoc deprecation list page is always empty even if @deprecated is used in groovydoc comments on some elements
     add 9bffe17a68 GROOVY-10734: STC: `Type::instanceMethod` specifies first param type
     add 3b9e31cce6 GROOVY-10749: STC: closure/lambda/reference parameter(s) as type witness
     add 2de43441ca GROOVY-10747: Fix illegal access for object clone on JDK16+ (#1781)
     add c913465714 Tweak test
     add c5b3e7ec73 Trivial tweak: invoke method directly
     add 3d1641d62e Trivial refactoring: use `ObjectUtil` to clone
     add f11444838f Trivial refactoring: eliminate redundant checks for `CloneNotSupportedException`
     add 72fbd8e52c Update AST checks in test
     add e103174a8e Trivial tweak for `clone` via `InvokerHelper`
     add 38e45ceabb Further tweak for `clone` via `InvokerHelper`
     add 75520486cc GROOVY-10742: SC: error for `void` method reference if need return value
     add d1997c9dbb typo corrections
     add 9d2485493b GROOVY-10751: Bump slf4j to 2.0.0 (test and standard install dependency)
     add 4d3dd2e468 GROOVY-10752: Bump logback to 1.3.0 (test dependency)
     add d5afa51373 GROOVY-10748: logback-classic 1.3.0 and 1.4.0 breaks on Groovy
     add 1b754e330f GROOVY-10753: Bump jackson databind version to 2.13.4
     add 6c5d7b2af1 minor groovydoc refactor - adopt latest settings for Groovydoc
     add 099cf5b3f0 GROOVY-8136: STC: map literal assignment to interface that extends `Map`
     add ea34146709 GROOVY-6939, GROOVY-8499, GROOVY-8816: STC: closure/lambda param count
     add b62dec0d18 Add a test for "GROOVY-9999: @TypeChecked results in Error when groovy casts to BigDecimal ([Static type checking] - Cannot find matching method java.lang.Math#sqrt(java.math.BigDecimal))"
     add 628872aef1 GROOVY-7976, GROOVY-7992: DGM: `Comparator<? super T>` for parameters
     add 3d482bcac1 GROOVY-7919: add `isCase(Iterable,Object)` for `in` and `!in` support
     add 1fdcedb590 assert fails because by default `@ToString` `includePackage` property is set to `true` returning package name along with object name i.e. `groovy.Element(Helium, 2)` is returned value on the right hand side
     add 6f03d16320 Use static `valueOf(String)` method instead of the deprecated `new Integer(String)` constructor
     add 5dec8691ff Avoid inconvertible types warning at the `assert composite*.id == [1,2]` as left hand side is `ArrayList<Long>` while right hand side is `ArrayList<Integer>`
     add 18e5d2f7ae Equivalency to Java `equals(Object)` and `==` respectively
     add 9f72c55f89 Add membership negation assert example
     add 0b8f0dfd4a Trivial tweak for Operators documentation
     add 5064b65afa GROOVY-6668, GROOVY-8212: STC: distance of `GString` for `String` target
     add 0d536b522a GROOVY-10278: `CompilerConfiguration`: improve target bytecode selection
     add 32d1a3a610 GROOVY-10278: set bytecode version as JDK11
     add 86352d052b GROOVY-10278: reuse `targetJavaVersion`
     add d57971f5ed GROOVY-10759: groovy-datetime should support collections of fields when accessing a temporal accessor
     add a716a17ee4 add license header
     add 781e407bf2 add license header
     add f4a0aada5e Migrate buildSrc to composite build
     add db4cb65491 Cleanup build-logic
     add cbd62855b1 Configure all maven repos in dependencyResolutionManagement
     add 3bcc7506cd Remove redundant repos
     add aae99bac6a Revert "Cleanup build-logic"
     add 59f3a410cc Rename buildSrc to build-logic
     add 64917dbf77 GROOVY-10543 Publish groovy-all as library (sync with Groovy 4_0_X) It will be easier to make changes in one go at a later stage if we indeed decide to offer a platform capability
     add 347cb2fe81 finer grained dependency
     add c4c50bfa8a prefer @TempDir to legacy @Rule
     add 0ed40ac700 add some doco on arrays into the GDK section
     add 9620459329 add some doco on arrays into the GDK section (additional heading)
     add ed5a0ca3ea GROOVY-10765: STC: don't connect unresolved placeholder
     add 69a4402f80 GROOVY-10767: add test case
     add 6a2e7b4a28 GROOVY-10757: STC: don't write inference metadata to `PropertyNode`
     add 641f10d0c8 test JDK19
     add 9b219980d7 test JDK19
     add 3983ac9e04 test JDK19
     add c5b3a4f7ba GROOVY-10763: `setSuperClass`/`setInterfaces` updates generics indicator
     add 3ff60dd069 GROOVY-10771: STC: add `import org.codehaus.groovy.ast.*` for extensions
     add ce61859e9e GROOVY-10776: Bump jackson-databind to 2.13.4
     add b818680fc1 GROOVY-10777: Bump junit5 to 5.9.1
     add 39b94c0b92 GROOVY-10778: Bump junit-platform to 1.9.1
     add df2b17ca2c GROOVY-10779: Bump japicmp plugin to 0.4.1
     add 353b27a869 Update verification metadata
     add d4d4e47e70 GROOVY-10780: Bump spock to 2.3-groovy-4.0
     add 01fb1cfaf3 Migrate JavaPluginConvention to JavaPluginExtension
     add 2266a398ba GROOVY-10781: Bump testng to 7.6.1
     add 168ac8f269 GROOVY-10770: STC: extension composition
     add ef498c5b92 Enable incremental Groovy compilation for bootstrap
     add 9725d75d5e Update required Java version in README
     add 6991e67056 Support maintaining gradle dependencies by dependabot
     add fbb5081e29 Bump com.github.jk1.dependency-license-report from 1.3 to 2.1
     add abfb431984 Bump org.sonarqube from 3.0 to 3.4.0.2513
     add d2b9512319 GROOVY-10785: Bump asm to 9.4
     add eafa345aaf GROOVY-10783: propertyMissing of category does not work when indy enabled
     add 00d84da2f5 GROOVY-7164, GROOVY-10787: STC: resolve placeholders for property lookup
     add b40b3c0134 fixed typo
     add 3f9f88c187 GROOVY-5744, GROOVY-10666: multi-assign via `iterator()` or `getAt(int)`
     add 4d177e7cb5 sync with 4_0_X
     add 0a7f240b88 GROOVY-10771: STC: extension documentation
     add a42ddaf4b7 fix typos
     add 4d9c61cb05 GROOVY-8243: support closure for functional interface that extends trait
     add 778124fa25 GROOVY-10717: proxy method if abstract or no abstract overload exists
     add 2c505aedcb Bump com.gradle.enterprise from 3.11.1 to 3.11.2
     add 33db30574d Bump build-info-extractor-gradle from 4.17.2 to 4.29.1
     add 31a852b706 Bump creadur-rat-gradle from 0.7.0 to 0.8.0
     add 68f2b8e2a0 Bump spotbugs-gradle-plugin from 4.7.10 to 5.0.12
     add c1258464ff GROOVY-10682: Add ArrayGroovyMethods with methods that work on primitive arrays
     add 7217cce457 license header and minor formatting
     add 3bee6938c8 Polish org.codehaus.groovy.classgen package documentation
     add df5cff4300 Fix minor typos in tests documentation
     add 9602a8bd27 Polish groovy.lang package documentation
     add c131eefe4b Polish project documentation
     add f8490ffca4 Improve generic-ClassNode compiler error message
     add 63bcf5b152 Polish groovy package documentation
     add c10cb31b39 Fix minor typos in subprojects spec documentations
     add e1ad1a574d minor tweak to doco
     add 8e41bedfc5 Polish org.codehaus.groovy.ast package documentation
     add 7ed01e1ae0 Bump com.github.ben-manes.versions from 0.42.0 to 0.43.0
     add acd52f5700 Bump spotbugs-gradle-plugin from 5.0.12 to 5.0.13
     add 08fd7e512d Bump build-info-extractor-gradle from 4.29.1 to 4.29.2
     add a0e6549810 Ignore Vscode & Fleet folders
     add 10fe3f5690 Remove Gradle's filesystem watching flag as it was enabled by default
     add 40da700d52 Fix minor typos in documentations in spec/doc
     add 22f71b5246 Polish org.apache.groovy package documentation
     add 98f0d06e16 update dependency verification metadata
     add fac1284f1d Try to avoid the "No space left on device" GitHub action errors
     add 6ac0643201 Try to avoid the "No space left on device" GitHub action errors
     add 7d203fda22 Try to avoid the "No space left on device" GitHub action errors
     add c23394b1d8 Try to avoid the "No space left on device" GitHub action errors
     add 0fa79c7744 Try to avoid the "No space left on device" GitHub action errors
     add d66c962ecc Try to avoid the "No space left on device" GitHub action errors
     add a8559c31d3 Try to avoid the "No space left on device" GitHub action errors
     add 93eafae400 Try to avoid the "No space left on device" GitHub action errors
     add 6272e50a13 Try to avoid the "No space left on device" GitHub action errors
     add b775b8e0eb Try to avoid the "No space left on device" GitHub action errors
     add 71e15ffe4c Try to avoid the "No space left on device" GitHub action errors
     add a5bc494ecc temporary disable gradle build action (Try to avoid the "No space left on device" GitHub action errors)
     add e826d92ae5 Polish org.codehaus.groovy package documentation
     add 618dcb718e Fix minor typos in subprojects javadoc and comments
     add 904841373d Polish org.codehaus.groovy.runtime package documentation
     add 38f225ecc3 fix broken test
     add e7f9896b29 Simplify assertion
     add ba6d1a7033 Trivial tweak for calculating average of array
     add f3c182963c GROOVY-10793: Bump javaparser to 3.24.7
     add 4d23918414 GROOVY-10794: Bump jackson-databind to 2.13.4.2
     add 29c4858934 GROOVY-9771: SC: private field access without revisit
     add dac95aef03 GROOVY-9089: SC: no cast exception for implicit receiver
     add 63515db245 GROOVY-10109, GROOVY-10120: STC: access via public bridge method
     add 0cc988fb6f fix typos
     add f579fa304a GROOVY-10791: SC: support `NotTheInterface::defaultMethod`
     add a90fd55ead fix typo
     add d639b8af83 Cleanup build-logic
     add 837794caca STC: simplify `visitStaticMethodCallExpression`
     add bd12deac1d add GitHub action for rat check
     add 292ea9ca65 Bump org.sonarqube from 3.4.0.2513 to 3.5.0.2730 (#1817)
     add e1d9180e7b GROOVY-10786: Cannot call modulo operator (%) on BigDecimal types
     add b46e02ff4b just run pull request changes with main JDK versions
     add 2004c4877c improve name
     add 325d94224b Bump gradle/wrapper-validation-action from 1.0.4 to 1.0.5 (closes #1818)
     add da8c61fec0 fix build error
     add d9d8bdb63e config script: `imports` resolve strategy
     add 61b4536b8d Bump com.gradle.enterprise from 3.11.2 to 3.11.3
     add db1e25b468 GROOVY-7141: STC: infer param types for closure map to SAM-type coercion
     add d5a9406e20 GROOVY-6925: SC: disable SC but run STC for class, method or constructor
     add 389bb26d11 GROOVY-7025: cannot refer to non-constant static field in `enum` init
     add 7e3091985f GROOVY-10807: SC: method call type arguments and method reference target
     add ca11c632a4 GROOVY-10814: Bump ivy to 2.5.1
     add 9d0f47a002 GROOVY-7789: STC: apply method call type arguments to `@ClosureParams`
     add 873e1952cf GROOVY-9857: error for implicit `super()` without matching constructor
     add 95ae1e9b48 resolve `record` super class
     add bf405f70bc GROOVY-9541: STC: add `GroovyClassLoader` to `evaluateExpression` params
     add cb8f8f8796 GROOVY-10353: `evaluateExpression` short-circuit for primitives and null
     add baef540e4b Bump com.gradle.enterprise from 3.11.3 to 3.11.4
     add f27cca94a6 GROOVY-10819: `Type.getMetaClass()` should not return `Class` meta-class
     add 9210cfab6a GROOVY-5568, GROOVY-10815: SC: groovy method as property
     add 7bf356afad GROOVY-10820: STC: static methods for `Type.name()` except from `Class`
     add 9d8e09f8b9 typofix (closes #1820)
     add b30eb6fb94 Bump build-info-extractor-gradle from 4.29.2 to 4.29.3
     add cfee952c20 fix `performance:performanceTests` including updating dependencies and remove dependency verification metadata for its dependencies (currently repeated for each Groovy version in the test)
     add b28ff5679d GROOVY-10818: add test case
     add e47055241a GROOVY-7204, GROOVY-8059: step back
     add 47b97fefdc fix test
     add 40a2809031 GROOVY-8668: add property groovysh.disableDocCommand (#1822)
     add 4280f84e06 Bump com.github.ben-manes.versions from 0.43.0 to 0.44.0
     add 0501a6e8b1 GROOVY-10827: Bump asciidoctorj dependencies
     add 1f5c716bba GROOVY-10828: Bump slf4j to 2.0.3 (test and standard install dependency)
     add 7e01ecee58 GROOVY-10829: Bump htmlunit to 2.66.0 (test dependency)
     add 773b9d49b4 GROOVY-10830: Bump jackson-databind to 2.14.0
     add 34a84781b3 GROOVY-10831: Bump hsqldb to 2.7.1 (test dependency)
     add 29e5678733 GROOVY-10833: Bump gson (test dependency) to 2.10
     add 2f7a448374 GROOVY-10832: Bump json-unit (test dependency) to 2.36.0
     add 158a0d5f83 GROOVY-10822: Groovysh DocCommand improvements
     add 04160adbb3 GROOVY-10834: Bump jqwik to 1.7.1 (test dependency)
     add add2a094ce GROOVY-10835: Bump Spotbugs/Spotbugs annotations to 4.7.3 (build dependency)
     add e03f172544 GROOVY-10836: Bump log4j2 version to 2.19.0 (test dependency)
     add 4fa77cfc83 GROOVY-10839: Bump checkstyle to 10.4
     add 3ca6800614 GROOVY-10837: Bump logback-classic to 1.4.4 (test dependency)
     add 1492f604c4 update dependency metadata
     add 9c5bf340b1 `CastExpression`: indicate coercion in `getText()` and `toString()`
     add c51a9f3fe3 improve `getText()` for `ASTNode` and `BytecodeExpression`
     add 03f2a90dd1 minor build refactor
     add c9b02baa79 GROOVY-10841: Bump picocli to 4.7.0
     add a60a242518 minor build refactor
     add d38f6b6c3e minor build refactor
     add d86cfc5605 minor build refactor
     add 71eb6e056f update dependency metadata
     add aadacf753f SC: type reference for new call object expression
     add 2095b9eb3b GROOVY-10845: STC: `enum` constant initialization
     add ef9b58463e GROOVY-10813: `parameterizeSAM`: no type parameters from method context
     add 8a50593c5d GROOVY-10846: STC: use erasure for placeholder with no upper bound
     add 2bf81bbcbf GROOVY-10847: STC: `T t = new C<>()` where `T` extends a type parameter
     add 39153104c3 GROOVY-10797: stubgen: deal with class/method type parameters separately
     add bc0a240bc8 GROOVY-9541: determine retention policy of annotation container
     add d09d7b24ef GROOVY-10848: Bump slf4j to 2.0.4 (test and standard install dependency)
     add 5943684084 GROOVY-10849: Bump logback-classic to 1.4.5 (test dependency)
     add 548189da8d GROOVY-10850: Bump javaparser to 3.24.8
     add 76037cf681 GROOVY-10852: Bump htmlunit to 2.67.0 (test dependency)
     add fa2767c3a3 GROOVY-10853: Bump dnsjava to 3.5.2 (test dependency)
     add db4441075b minor refactor
     add 075068395f GROOVY-10790: `@MapConstructor(noArg=true)` plus `@TupleConstructor`
     add f8d80b2353 GROOVY-10789: no constructor duplication for `@TupleConstructor`
     add b8fd0cd22d GROOVY-10108: `@Immutable(specialNamedArgHandling=false)` for `Map` prop
     add cc09844bae GROOVY-10442: @Immutable GroovyDoc examples use @Canonical instead
     add 6e34323236 GROOVY-10442: @Immutable GroovyDoc examples use @Canonical instead
     add 74147b4b77 GROOVY-10442: @Immutable GroovyDoc examples use @Canonical instead
     add 0d6eb1b70b GROOVY-8219: no trait fields in `@TupleConstructor(includeFields=true)`
     add 8e586cfa53 GROOVY-10854: control `record` generation using `@RecordType` annotation
     add f67392c9b3 fix target
     add 1ecf93436b `CompilerConfiguration#setTargetBytecode` for JDK20+
     add 3d9a265634 GROOVY-10820: STC: static properties for `Type.name` except from `Class`
     add 25bf6e92a0 bump to JDK11 for javadoc links
     add cafdb3c5fa GROOVY-8411: STC: `instanceof`-like flow typing for class literal `case`
     add f348e50481 GROOVY-6429, GROOVY-8412, GROOVY-9931: STC: `!instanceof` flow type
     add 657c8e5395 GROOVY-10813: fix receiver distance, receiver static and extension order
     add 3e13b0aee5 GROOVY-10857: `hasMetaAnnotations` cycle check
     add 903c4faf46 GROOVY-10105: adapt script from other loader context
     add a4dc3faef6 streamline `GroovyStarter` -> `Groovysh` -> user's script
     add 19eca1759d fix for tests
     add 9ab958af12 GROOVY-10813: add test case
     add 798903b2ef GROOVY-10742, GROOVY-10858: STC: return type of method pointer/reference
     add b2db03e67f Bump build-info-extractor-gradle from 4.29.3 to 4.29.4
     add 53ebf7ea41 GROOVY-10858: STC: method pointer/reference selection and reporting
     add c73258ed0c GROOVY-10858: STC: uniform deferred visit of call's functional arguments
     add d037841e09 GROOVY-10772: Possible memory leak, CacheableCallSite retains objects across invocations (thanks to Kyle Moore and Sterling Greene)
     add b180b11557 GROOVY-10772: Possible memory leak, CacheableCallSite retains objects across invocations (additional tweaks)
     add 1cac5bf86e GROOVY-10772: Hold `MethodHandleWrapper` with `SoftReference` in cache
     add 7ea11bbf27 GROOVY-10859: `Type::name` resolves instance method of `Type` or `Class`
     add 277fa1afbb GROOVY-10772: Hold `MethodHandleWrapper` with `SoftReference`
     add 2d0822781f Run `testRemovingEntriesFromMapAfterGC` with `assertScript`
     add 95c35ca6d3 GROOVY-10860: Bump jackson to 2.14.1
     add 3c7d0fe98b Update verification metadata
     add 72cb48a865 GROOVY-10861: bootstrap parameters directly passed
     add 14194be9e3 GROOVY-10862: vmplugin: `MethodNode` non-null default value
     add adfef9b63f Bump com.gradle.enterprise from 3.11.4 to 3.12
     add 8e21bde153 GROOVY-10864: Bump antlr4 to 4.11.1.1
     add 41874b62c8 Update verification metadata
     add 326bd57de3 GROOVY-7992: STC: strong witness overrides type witness for `? super T`
     add 2bf8d3339e GROOVY-10865: Bump antlr4 to 4.11.1.3
     add 047e47e58f Update verification metadata
     add 26277ba44b GROOVY-10866: Bump antlr4 to 4.11.1.4
     add 9655af9f72 Update verification metadata
     add d54ab82fba GROOVY-10867: Bump javaparser to 3.24.9
     add 698deea60a Update verification metadata
     add 6e36fc3e88 GROOVY-9513: Enable indy by default
     add d47ed2d782 Trivial refactoring: refine field name
     add d7fa923bed Compute the max stack size and the max number of local variables automatically
     add 241c694d30 STC: consistent parameter (aka target) type for functional expression
     add 191e4fb9b5 Trivial refactoring: specify the size of list
     add 39a424202c Build with JDK20 ea
     add 6f8c847c02 Bump build-info-extractor-gradle from 4.29.4 to 4.30.0
     add 37f6b472a2 update verification metadata
     add 5ad5b3dc9a GROOVY-10872: Bump slf4j to 2.0.6 (test and standard install dependency)
     add 58fa8eea4f GROOVY-10873: Bump testng to 7.7.0
     add 148270ec1a GROOVY-10874: Bump checkstyle to 10.5.0
     add 2b4a63bc5d update verification metadata
     add 37eacca667 GROOVY-10875: Bump commons-net to 3.9.0 (test dependency)
     add 8e5316b9a5 Enable codecov
     add 130cf88e70 Bump build-info-extractor-gradle from 4.30.0 to 4.30.1
     add cae1f82001 Build on ubuntu-20.04
     add 32f5402993 Ignore ".muse" directory
     add 06079d32ec STC: refactor closure/lambda/pointer/reference generics handling
     add be39bea899 GROOVY-10734, GROOVY-10749: SC: implied first param type
     add 02816f2c93 GROOVY-10807: SC: method target refines expected argument type(s)
     add a9b16f2dc7 GROOVY-10877: Record with ThreadInterruptibleASTTransformation applied fails to run
     add 941cf72b6e GROOVY-10858: STC: check return type of method pointer/reference vs. SAM
     add 6bd5b00275 Set precision of codecov to 4
     add d0da3b5c37 Add more test cases for `Maps`
     add ea6ba7c6fc GROOVY-10869: STC: primitive distance for `boolean`, `char`, etc.
     add dbac220ad9 Check spread calls in advance
     add d214c7bb5a minor refactor
     add 37fb2c2f75 classgen: `StringBuilder` for `assert` with message and general cleanup
     add a260076dd0 GROOVY-10878: classgen: write `assert` using `throw` directly
     add e9c4abc6f1 STC: uniform handling of `onMethodSelection` extension
     add 27275071bf Bump com.gradle.enterprise from 3.12 to 3.12.1
     add 60c90bf9bc GROOVY-10879: Additional DGM collectEntries variants
     add 52dea259bb Set duplicate handling strategy for `:build-logic:jar` task
     add 091dad3739 minor refactor: avoid creating additional list
     add 030ec2a229 Revert "Ignore ".muse" directory"
     add be06189c36 GROOVY-10884: Bump xstream to 1.4.20
     add 7082cb17ac Update verification metadata
     add 8081384d44 Refine test for `DocCommand`
     add 4d4cd3905d Refine test for `DocCommand`
     add a4da7b66b6 minor refactor: typo and formatting
     add 381610a5e1 GROOVY-10882: remove dead code from `assert`
     add 9ab5b5034e Improve robustness of `sendHEADRequest`
     add ff5842c0b0 Refine `sendHEADRequest`
     add 17bb6d6efd Bump build-info-extractor-gradle from 4.30.1 to 4.31.0
     add 5596ca0894 GROOVY-10892: Bump javaparser to 3.24.10
     add 4c7e608e21 GROOVY-10890: STC: redesign resolved type parameter as type witness
     add 1516992472 GROOVY-10889: `@NamedVariant`: check casts for parameter reference
     add dc9ab04970 GROOVY-10887: add test case
     add 3a5569172b GROOVY-10891: We should have variants of findResult/s with no Closure which use Closure.IDENTITY in that case
     add 70f3589563 Bump com.gradle.enterprise from 3.12.1 to 3.12.2
     add 9c0c7ab8ab GROOVY-10895: Bump checkstyle to 10.6.0 (build dependency)
     add 60584c1433 bump binary compatibility baseline
     add 3ef1ec8269 GROOVY-10896: Bump testng to 7.7.1
     add 3713d05592 update dependency metadata
     add 8f80995b4a update dependency metadata
     add b47b0805f1 fix grammar warning in javadoc
     add 5e9f88ba35 bump htmlunit dependency in perf tests
     add 7936e9f0cf use latest versions for performance tests
     add d5f8a1bcdd sync with 4_0_X
     add c8b9afff1f copy transpose DGM primitive array methods to ArrayGroovyMethods
     add b4c76b26d1 copy transpose DGM primitive array methods to ArrayGroovyMethods (oops, missed one file)
     add 0ebf400af2 copy containa DGM primitive array methods to ArrayGroovyMethods
     add b67b500784 copy min/max DGM primitive array methods to ArrayGroovyMethods
     add 29de7e506e visit annotation(s) of multiple-variable declaration
     add bfa455b34b GROOVY-10898: Provide tail/init/head/first/last for primitive arrays
     add e7bd524d0a refactor ArrayGroovyMethods for fail-early null handling and consistency in exception messages
     add 67cdd31977 copy indexed DGM primitive array methods to ArrayGroovyMethods
     add eeaa1d7cf6 improved coverage plus fixed test
     add 74b33e7302 copy swap DGM for primitive arrays plus improved coverage for count plus remove some checkstyle warnings
     add f67007888b copy swap DGM for primitive arrays plus improved coverage for count plus remove some checkstyle warnings (fix typo)
     add aad0dcf238 move static typing checks into a separate test plus improve coverage
     add 9e443e4d44 move static typing checks into a separate test plus improve coverage
     add f3be1d2375 copy size/toList/toSet for primitive arrays from DGM to AGM
     add baf01b706b copy getAt/flatten for primitive arrays from DGM to AGM
     add c60c7e5bca reinstate accidentally deleted file
     add ce82fb9aa0 improve coverage
     add ff4d7d8727 improve coverage
     add 280fcd685c improve coverage
     add e205b5b129 improve coverage (fix typo)
     add 836ad77e5f improve coverage (fix typo)
     add 2b5513a83f improve coverage
     add ee83e1d498 Fix the failing build
     add 64f599e95b improve coverage (take 2)
     add 74747c9557 bump copyright/notice year to 2023
     add 2485cacf22 Fix JMH Benchmarks
     add ec8a6c2df4 improve coverage
     add 0961a69817 add missing AGM min/max variants
     add 1334242e2e Replace `Path#toFile.exists()` with `Files#exists`
     add f8d78e6eb5 GROOVY-10904: run verification on all classes before bytecode generation
     add 0f3836e1b0 mark Closure min variants as Incubating
     add d4fd5c68fa close over local variables
     add a831581caa GROOVY-10897: STC: remove interface equivalent for indirect interface
     add 2926b8cbc2 GROOVY-10902: stubgen: static initializer to prevent constant inlining
     add e29b9288ee GROOVY-10905: Improve matching implicit arg closures to SAM types
     add a3373407ad GROOVY-10722, GROOVY-10840: `null` or array for array-based constructor
     add 89de534b77 simpler ternary bytecode (no tmp var for elvis)
     add d4d3ccf3fd GROOVY-10909: negate `boolean` without branching
     add c0c6fd86e3 Update the link to JDK20
     add 5a5726342a GROOVY-10909: SC: optimize multiple nots surrounding binary expression
     add ae85c50d1e minor items
     add 22db973494 GROOVY-6137, GROOVY-7473, GROOVY-10909: SC: `x in this` is implicit safe
     add c8ba5ba810 GROOVY-10881: FastStringUtils does not work in an OSGi environment
     add 6bab77f695 Minor improvements to 'Differences with Java' documentation page
     add 17c9735dc3 GROOVY-10906: Bump JUnit Jupiter/JUnit Platform to 5.9.2/1.9.2
     add 34776094a9 GROOVY-10907: Bump jqwik to 1.7.2 (test dependency)
     add 5736cf96f2 GROOVY-10908: Bump Ant version to 1.10.13
     add 070d5018dd Minor improvements to 'Differences with Java' documentation page (additional minor tweaks)
     add 79f6c7de06 update dependency metadata
     add d2138ef0ba partial revert of "add missing AGM min/max variants" to have a more complete offering as a PR
     add 99c6e88f5b partial revert of "add missing AGM min/max variants" to have a more complete offering as a PR
     add bb1e84d087 add AGM reverseEach variants
     add b88a331f3a add AGM reverse variants
     add 916a1c5f60 GROOVY-7319: Add primitive array min() and max()
     add 1ce68128e7 GROOVY-7319: Add primitive optimised array min() and max() Inspiration from Yu Kobayashi (https://github.com/groovy/groovy-core/pull/616 from 2015)
     add 164507d062 GROOVY-10916: Provide min/max closure/comparator variants for primitive arrays
     add 07ce4a4156 tidy up tests
     add dc3d73bc5a tidy up tests
     add 7a3a70d75b improve coverage
     add 4da23bafae GROOVY-10881: FastStringUtils does not work in an OSGi environment (additional tweaks)
     add e0e6f8772b GROOVY-10923: Bump com.github.ben-manes.versions from 0.44.0 to 0.45.0 (build dependency)
     add ec789656de GROOVY-10924: Bump com.gradle.enterprise from 3.12.2 to 3.12.3 (build dependency)
     add a6a9872c7f GROOVY-10911: STC: multiple-interface type witness for `? extends Type`
     add 282ba5cd6d GROOVY-10922: STC: forthcoming generated property method stub
     add 69293fb359 GROOVY-10919, GROOVY-10925: read-only object fields in `@ToString` value
     add e18e8923e9 GROOVY-10238, GROOVY-10919: `@TupleConstructor`: preserve field init exp
     add dd416da5ad GROOVY-10594: add test case
     add c2235616c3 GROOVY-10594: `MetaMethodIndex`: declared method overrides synthetic one
     add 8b514748be GROOVY-10926: Bump javaparser to 3.25.0
     add b2b6676fdb GROOVY-10927: Bump jackson to 2.14.2
     add a3f8a2cc18 adjust version since related commit didn't make last release
     add 445713a642 GROOVY-8136: add test case
     add b7750371c7 GROOVY-10928: stubgen: non-constant initializer prevents inlining
     add bb44349fbc GROOVY-10070: prep work
     add 2c40df2827 GROOVY-10070: lookup access for protected method of public class
     add 412d79f98e Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 40d7e5e32d GROOVY-10933: SC: adapt non-void method to `void` target like `Consumer`
     add eb61b270f4 GROOVY-10930: STC: error for invalid constructor reference/pointer
     add 1e2111d154 GROOVY-10929: method closure swallows `IllegalArgumentException`
     add 845810289e Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add fc7a4f875c GROOVY-10918: direct store to local variable or parameter (no temporary)
     add 8858b4964d GROOVY-10929: `catch` fix
     add 9372f23311 GROOVY-10939: STC: static methods for class except from `Class`/`Object`
     add 0cc849962c Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add a817be3dd8 Defer more task configurations
     add bce88b753c GROOVY-10942 Add extension & nameWithoutExtension for File
     add dfb77cda0f GROOVY-10942 Add extension & nameWithoutExtension for Path
     add 22a01ded99 GROOVY-10942 Add getName extension method for Path
     add 62b611e70b GROOVY-10942: minor tweaks
     add 04fa95c135 Add TestCommandLineArgumentProvider
     add 95103625d0 GROOVY-10935: throw missing exception from inner class
     add 85396f8550 GROOVY-10945: Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 3a48e4d9ea GROOVY-10946: Bump com.github.ben-manes.versions from 0.45.0 to 0.46.0
     add e6cd6c64ac GROOVY-10947: Bump gradle/wrapper-validation-action from 1.0.5 to 1.0.6
     add 31d9ec1e51 GROOVY-10948: Bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929
     add 9020ea8129 update dependency metadata
     add e5ca7e630e GROOVY-10937: update `record` component decompile
     add c54228f694 GROOVY-10949: Add `asBoolean` to `File` and `Path`
     add 99af5dfacc GROOVY-10937: check for adding type annotation to non-redirect type node
     add 6dd2e1a44f Bump me.champeau.jmh:jmh-gradle-plugin from 0.6.8 to 0.7.0
     add 0892629a9a Trivial refactoring: Replace `stream().forEach()` with `forEach()`
     add c27927c1e9 refactor adapters
     add ca21423048 Add source dependency on task to fix task cacheability (#1837)
     add 0c0a9aaefe Bump com.gradle.enterprise from 3.12.3 to 3.12.4
     add ba15b8c747 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 8db3702c0b GROOVY-10953: Extend multi-assignment type checking to Range expressions
     add 3dd93b1e06 minor items
     add ee93378e5c GROOVY-10958: Confusing error message from GroovyScriptEngine
     add f699f3a266 GROOVY-10962: non-static isser and static getter
     add ab7c705651 GROOVY-10955: @Builder doesn't work on records
     add 9d920dbc13 Delete verification-metadata.dryrun.xml
     add ecc49edf04 GROOVY-10965: Bump javaparser to 3.25.1
     add 983f2dd34a GROOVY-10966: Bump picocli to 4.7.1
     add d951bed654 GROOVY-10967: Bump json-unit to 2.36.1 (test dependency)
     add 1c5cfd01e6 GROOVY-10968: Bump gson to 2.10.1 (test dependency)
     add f199bf672e update dependency metadata
     add 5beceee6ca GROOVY-10970: Bump log4j2 version to 2.20.0 (test dependency)
     add 46722e7147 bump dependency metadata
     add dedafb5a94 GROOVY-10973: Groovy should provide 'asReversed' and 'reverseEach' methods for NavigableSet
     add d3c9146934 GROOVY-10973: Groovy should provide 'asReversed' and 'reverseEach' methods for NavigableSet
     add 53b1cd68df GROOVY-10976: Broken link in documentation
     add b6aded970f exclude dryrun file from accidentally being committed
     add b92cc2a895 GROOVY-10978: LUB of `Type<T extends Bound>` and `Type<? extends Bound>`
     add 80cc575af1 GROOVY-10270: STC: SAM-type (placeholder) accepts closure
     add 48ce4c88f8 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 8c68420e5e fix typo
     add 55c6edfd81 fix typo
     add 3748eb388f GROOVY-10972: SC: method reference selection
     add b61c6a3489 Revert "GROOVY-10972: SC: method reference selection"
     add 1ae983fca5 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add d8836463f0 GROOVY-10981: try variable as property for field not from enclosing type
     add 7502a4e1c8 GROOVY-10800: The % operator returns unexpected results for negative numbers for BigIntegers
     add 87218c3028 GROOVY-10980: Provide an AST transform to rename operator methods
     add 7f6df8e5b0 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin
     add bab8bed5c9 Bump com.gradle.enterprise from 3.12.4 to 3.12.6
     add dd93695099 GROOVY-10983: Bump asm to 9.5, add JDK21 constant (#1880)
     add dc54541306 GROOVY-10921: Optimised variants for AGM#each
     add 33ce9c4b01 fix javadoc warnings
     add a29ce1ce64 GROOVY-10981: STC: keep legacy preference of field over dynamic property
     add aff6707f81 GROOVY-10987: Bump slf4j to 2.0.7 (test and standard install dependency)
     add 19fa79b1f1 GROOVY-10907: Bump jqwik to 1.7.2 (test dependency)
     add f4952adccf GROOVY-10988: Bump htmlunit to 2.70.0 (test dependency)
     add 886f69d9e4 GROOVY-10989: Bump json-unit to 2.37.0 (test dependency)
     add fea545897d GROOVY-10991: Bump logback-classic to 1.4.6 (test dependency)
     add 72cae72513 bump dependency metadata
     add a4e0d6de9c tweak error message
     add 2ed4a76d75 GROOVY-10921: remove incubating eachBy variants
     add c4ee3ce066 temporarily disable each tests
     add e7e057f4ba GROOVY-11007: STC: property as variable expression keeps temporary types
     add 45a9fbcdef Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 541277b42a GROOVY-11003: array generics handling
     add 74faadd52e GROOVY-11001: SC: proper call site writer for constructor ref in closure
     add c6768a7d57 Trivial refactoring: reuse `ArrayTypeUtils.dimension`
     add 83726a7734 Fix the failing build
     add b05fe056c8 Fix the failing build
     add dd929b4fd8 GROOVY-10994: SC: method reference in parameterized context
     add 7bcd342a36 GROOVY-10930, GROOVY-10971: STC: constructor reference checking
     add 1a1432ecc3 do not write shared `ClassNode` instances
     add 5bcd83e0fd Bump com.gradle.enterprise from 3.12.6 to 3.13
     add cdc57551a7 GROOVY-11011: SC: apply array flow type
     add 473112fddf Add JDK21 build
     add c4a33a8d5d GROOVY-11016: Bump javaparser to 3.25.2
     add 16117a70e3 GROOVY-11015: [GINQ]Leverage the power of Virtual Thread
     add cbcf64e9a2 GROOVY-4097: `castArgumentsToClassArray` vs `convertToTypeArray`
     add d8fe04c05f GROOVY-11017: Bump jarjar to 1.8.2 (build dependency)
     add d69f4ee1e5 GROOVY-11018: Bump picocli to 4.7.2
     add 57d770dda7 GROOVY-10305: Groovy records do not allow creating non-compact constructors with signature matching the record one
     add b07ebb7d75 Add more test cases for tuples
     add b43fb07579 update dependency metadata
     add 1aa62736c7 GROOVY-10996: rollback `inPropertyExpression` and `isTopLevelProperty`
     add 1df378cf83 GROOVY-11019: stubgen: non-`null` dummy value for `final static` string
     add 097397631c GROOVY-11009: STC: `Type::name` static method shadows instance method(s)
     add 61f445cf4b Bump me.champeau.jmh:jmh-gradle-plugin from 0.7.0 to 0.7.1
     add 313f2bf3c0 GROOVY-10972: SC: select from closest matches for method reference
     add 5c5ec97a5e GROOVY-11020: STC: type parameter extends SAM type for target of functor
     add 00c2e3d188 GROOVY-5439, GROOVY-5630, GROOVY-5710: stubgen: no cast return statement
     add 0d11c032af GROOVY-8184, GROOVY-10607: stubgen: class from java source by convention
     add efe514a5e2 GROOVY-10756: STC: upper bound for unresolved placeholder
     add c5a74aef1f Trivial refactoring: simplify code with `replaceAll`
     add bbbff15b86 GROOVY-6144: SC: `o.name` when type implements `GroovyObject` and `Map`
     add 5650495fe8 GROOVY-11023: SC: `InvocationWriter` cannot handle `ExtensionMethodNode`
     add 8346e3406e misc. items; sync with `4_0_X`
     add 7ebae735a9 SC: retain origin type of lambda parameter which includes source offsets
     add 759d892d74 GROOVY-11028: STC: empty list/map literals
     add 1505ae6665 GROOVY-11028: STC: empty list/map literals (pt.2)
     add 8db81e9aff GROOVY-11031: Bump jackson to 2.15.0
     add 6594de742a GROOVY-11033: Bump JUnit Jupiter/JUnit Platform to 5.9.3/1.9.3
     add c6664994aa GROOVY-11032: Bump picocli to 4.7.3
     add b0f879332b update dependency metadata
     add ed4b33c8d5 GROOVY-11034: Bump checkstyle to 10.10.0 (build dependency)
     add 631cb41543 GROOVY-10754: add test case
     add 707ed5a0e8 GROOVY-11029: STC: direct method target for `super.name` and `that.name`
     add dc3ee14961 GROOVY-11020: STC: type parameter extends SAM type for target of functor
     add 86abedb664 GROOVY-10362: add test case
     add 692fae189f GROOVY-11026: STC: apply receiver generics to method reference parameter
     add 942ae9b3b2 GROOVY-10920: SC: `void` method as boolean condition
     add 71f8f1b5ee bump mstor to 1.0.3 (performance test dependency)
     add 1ac1331d77 GROOVY-11038: Bump logback-classic to 1.4.7 (test dependency)
     add f06ef42ac3 update dependency metadata
     add b94ce492a5 GROOVY-11012: STC: propagate interface generics
     add 36ec1712bf GROOVY-11039: DGM "every" for primitive arrays
     add ba1e5010fa GROOVY-11036: `getAllInterfaces()` cycle check
     add ce357be7e4 GROOVY-11024: STC: no type witness `isAssignableTo(ClassNode,ClassNode)`
     add c9bdc6fd0e deprecated attributes
     add aa794aa1c8 GROOVY-11041: Incorrect property handling for records
     add 7b58e57941 GROOVY-11040: Optimisations for bytecode for record generated methods
     add 3cee0b18ec GROOVY-11043: Bump javaparser to 3.25.3
     add 1d2dcf52de update dependency metadata
     add 41b8f4cc2e Bump com.gradle.enterprise from 3.13 to 3.13.1
     add 6177f7cf55 GROOVY-11044: SC: retain implicit-this of property transformed to setter
     add 34e1858423 GROOVY-10915: SC: dynamic dispatch for `!in` if type implements `isCase`
     add 3614b466ab deprecated attributes
     add 7a4b2679c7 Bump com.gradle.enterprise from 3.13.1 to 3.13.2
     add caa0ee9a38 minor refactor
     add e49c4cc759 Update verification metadata
     add 7a11801059 GROOVY-11056: in-closure reference to static import of callable property
     add 62097da611 GROOVY-11063: update `ListHashMap`
     add 8c9e150087 GROOVY-10067, GROOVY-11057: better `parameterizeType` result
     add 9dcfeee753 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 27bc0fd243 GROOVY-11062: Annotation collection isn't properly handling enum annotation attribute values
     add 12512ce320 GROOVY-11062: Annotation collection isn't properly handling enum annotation attribute values (add test case)
     add ce62aff0e6 GROOVY-11060: support spread array elements: `[1, *numbers, n] as int[]`
     add c1b1884f43 moving object array extensions
     add a401af9b0b moving object array extensions
     add 521bc99698 `findLastIndexOf(Object[],Closure)` right-to-left iteration
     add 73c0f12ab3 GROOVY-11071: SC: search interfaces of abstract type for `getAt` methods
     add 622fac800c minor items
     add 859955225b GROOVY-11013, GROOVY-11072: apply type variable of SAM-type to `List<T>`
     add 40231c26be GROOVY-11068: de-reference closure shared variable
     add 7ccc3057cd GROOVY-11053: STC: stricter matching for primitive array-typed parameter
     add f1aef96fed GROOVY-11051: convert closure's return value to the method's return type
     add a0aa62fd00 GROOVY-11075: method closure swallows `Exception`
     add ecf3d8c3da GROOVY-11073: STC: lower array distance penalty for overload selection
     add 1d9f35a448 Bump com.gradle.enterprise from 3.13.2 to 3.13.3
     add 1cc0ce721e fix placement of test case and general tidy up
     add cfc22e46ce GROOVY-11068: closure shared variable inference
     add 8d2fe6889c GROOVY-11079: STC: ignore return metadata on closure re-visit
     add e6264463dd GROOVY-11080: add test case
     add 1e0e8b98bd GROOVY-11083: STC: propagate inferred closure param type
     add 21da76559a Bump com.github.jk1.dependency-license-report from 2.1 to 2.4
     add ffe2d1d2de update dependency metadata
     add f9f9ada779 fix typo
     add b71df4a88a GROOVY-11084: Bump asciidoctorj dependencies (build dependency)
     add 9e23c5f21f GROOVY-11088: stubgen: support `@PackageScope` for classes and fields
     add 548649ad03 GROOVY-11088: stubgen: support `@PackageScope` for constructors/methods
     add ebd86c7107 Bump org.sonarqube from 4.0.0.2929 to 4.2.0.3129
     add 68e16ff561 GROOVY-11076, GROOVY-11089: STC: list spread across closure parameter(s)
     add 97ea854cf0 GROOVY-11079: partial rollback
     add 89b4d70b4d GROOVY-11089: STC: multiple mismatched signatures
     add a397694ed5 GROOVY-5769: NullObject leak
     add 11be479076 update ea url
     add 3d4466d8aa adjust test to account for JEP431 changes
     add 9dc1410454 refactor, regroup and rename tests
     add b72735367c GROOVY-11090: STC: tuple spread across closure parameter(s)
     add 0581a79f3b GROOVY-11090: add test cases
     add 07eb42fda2 adjust parameter type to account for JEP431 changes (SequencedCollection mucks up with method distance for DGM#putAt)
     add 6fa61fac9e adjust test to account for JEP431 changes
     add accab6d376 Bump com.github.ben-manes.versions from 0.46.0 to 0.47.0
     add 84ac62f788 bump gradle to 8.1.1 and apply asciidoc workaround
     add 02edc725ff gradle 8.1.1 adjustment for jacoco plugin
     add 949b21f45e fix broken javadoc links
     add 5e68b06605 sync with `4_0_X`
     add 8e9f1b15ff minor items
     add 15be6d972a GROOVY-11092: STC: coerced closure argument destructuring for list/tuple
     add 73c4f13e6f Bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168
     add cac9179176 GROOVY-11092: STC (MCE): coerced closure argument destructuring for list
     add cba20a0afe GROOVY-11092: STC (MCE): lambda argument destructuring
     add c894dba2b4 minor items
     add b1c58475c6 GROOVY-11095: Bump hsqldb to 2.7.2 (test dependency)
     add 449ed5f8f3 GROOVY-11096: Bump testng to 7.8.0
     add 5a8d8f99f2 GROOVY-11097: Bump JMH to 1.36 (performance test dependency)
     add 2478d7a848 GROOVY-11098: Bump json-unit to 2.38.0 (test dependency)
     add c7d88931fa GROOVY-11099: Bump jackson/jackson-databind to 2.15.2
     add cbdac073c3 GROOVY-11100: Bump picocli to 4.7.4
     add 21b1be162f GROOVY-11102: Bump logback-classic to 1.4.8 (test dependency)
     add d3136d82e6 GROOVY-11101: Bump checkstyle to 10.12.0 (build dependency)
     add 801a9d1f06 update dependency metadata
     add 3aaf19f521 adjust test for new db version
     add f0db504586 GROOVY-8499, GROOVY-11092: STC: `combinations` metadata
     add 29773c8337 declare explicit dependency
     add 0f9af3d7c6 update dependency metadata
     add ceb167a23e GROOVY-11104: same-unit static import of generated property method
     add a475136606 GROOVY-11103: Provide an ascii barchart method
     add 9d06ba5c28 minor items
     add 9f6eade33a Update osgi plugin to avoid deprecated convention usage
     add aac51d868a Bump com.gradle.enterprise from 3.13.3 to 3.13.4
     add b6057e432e update dependency metadata
     add 4bd0b44330 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add b0cf2e5805 Bump com.github.jk1.dependency-license-report from 2.4 to 2.5
     add 5254a12b98 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 92a9e55c0f Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.0.0 to 5.0.1
     add 6cbd89e739 minor refactor for consistency: we use no-arg in most places and used no-args in just a few (mostly in comments and doco but also one error message)
     add 4f67fe3592 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.0.1 to 5.0.2
     add 968bd6db07 GROOVY-11122: SC: load `this` for map-style inner class constructor call
     add 90e5751b53 skip meta-object protocol for (G)String `<=>` (G)String/Character
     add 632d14f37e GROOVY-11119: STC: overloaded setter name for map-style constructor call
     add 3785147d2f GROOVY-8145: static import field must be accessible
     add 344e7aa3d1 GROOVY-11118: Partial JEP 445 compatibility
     add 231d1aee02 update dependency metadata
     add b733e4b957 GROOVY-11118: Partial JEP 445 compatibility (remove unused code)
     add b7c5b06b70 GROOVY-11123: allow EOF terminated Number tokens in JsonLexer
     add 7d736f58d1 fix typo in javadoc comment
     add f239ec89fb Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.0.2 to 5.0.3
     add 5aed61dccc make javadoc url search more robust
     add e16a44ca98 GROOVY-5051, GROOVY-10568: add test case
     add 23d78aaff3 GROOVY-5051, GROOVY-10568: retain static type of `.&` method source
     add b96166acef GROOVY-6146: inspect `Wrapper` argument for variadic parameter
     add 19cf2c9eea GROOVY-11118: Partial JEP 445 compatibility (adjustment to correct behavior for @BaseScript)
     add 8e20d621a3 Revert "GROOVY-11118: Partial JEP 445 compatibility (adjustment to correct behavior for @BaseScript)"
     add b44c850143 GROOVY-11118: Partial JEP 445 compatibility (adjustment to correct behavior for @BaseScript)
     add 32cfd9fc38 GROOVY-3142: `this.@` inside closure
     add 0738ed1049 GROOVY-2433, GROOVY-3073, GROOVY-9987: `this.privateMethod()` in closure
     add 18ab1b75d9 GROOVY-3142, GROOVY-5438, GROOVY-6335: `this.privateProperty` in closure
     add 514a63e8b7 GROOVY-2433, GROOVY-3073, GROOVY-9987: `that.privateMethod()` in closure
     add 439517a6f7 GROOVY-3142, GROOVY-5438, GROOVY-6335: `that.privateProperty` in closure
     add a4eef0748b GROOVY-11128: implicit-`this` call to private method within closure
     add 490eadd35e GROOVY-11128: implicit-`this` read/wrtie private property within closure
     add 57fefccfe7 Bump com.gradle.enterprise from 3.13.4 to 3.14
     add 732a204a64 GROOVY-9523: private `enum` method
     add 44897fe498 GROOVY-11126: indy: safe navigation for final class
     add 37b67dc93e test update
     add 07416cfef9 GROOVY-4232: DGM: `asChecked` for `List`, `Queue`, `Collection`, ...
     add e8082602bc bump version of berkeleydb dependency in performance tests
     add 7256cc824c GROOVY-11131: Bump javaparser to 3.25.4
     add 333821f491 GROOVY-11132: Bump jqwik to 1.7.4 (test dependency)
     add 5d2823ebe3 update dependency metadata
     add 0caecf6354 sync with 4_0_X
     add b40b336dd5 Trivial refactoring: extract constant
     add 0028b8db41 update dependency metadata
     add d465bec90e GROOVY-10931: remove `$getLookup` method
     add 0230648ec7 GROOVY-11133: Capture build scans on ge.apache.org
     add b56ab4f7d2 GROOVY-10931: fix for array and object `clone()`
     add 6230b8199e GROOVY-11134: Bump checkstyle to 10.12.1 (build dependency)
     add b7d2413212 update dependency metadata
     add ba00939e99 Bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0
     add 7f9cc39f5f more memory, see if this fixes Jenkins CI issue
     add b7dba93996 align GE plugin version with ASF hosted GE version
     add 8e7a902b22 remove `jmock` dependency
     add 79dfdd03ea GROOVY-9596, GROOVY-10931: `protected` or package-private field of super
     add bff4797be7 GROOVY-9144: prevent illegal access
     add 7cc983e821 reduce dependency metadata warnings
     add 0f65898457 revert to TXT output as temp workaround for broken HTML reporting: https://github.com/melix/japicmp-gradle-plugin/issues/62
     add a447655c21 GROOVY-10931: prevent illegal access
     add dce378e1e2 GROOVY-10438, GROOVY-10555: accessible properties
     add 934eb4f6ad Include gradle-wrapper.jar
     add 577c98d8e5 Update the URL to JDK21
     add e2d875f339 Update dependency metadata
     add 523c6dc1dc Remove `ThreadLocal` instead of setting to `null` to avoid memory leak
     add f1372d1891 Use charset constant
     add f20715d97c Add the missing `clone` method to `FastArray`
     add bc128f897c Bump com.gradle.common-custom-user-data-gradle-plugin
     add 8771744f07 Trivial refactoring: use `Map.forEach(...)` instead
     add aec4745399 Trivial refactoring: use map instead of switch-case
     add 497ff1c844 Tweak `getElementCode` of vmplugin
     add dadcdffb66 Cache `elementTypeTargetMap`
     add f9835d33f5 `serialVersionUID` field should be `private static final long`
     add 4408be431d introduce interface `MetaMember`
     add 9f64c9df13 GROOVY-10750: compound constant inlining
     add 17f5efb516 use classes from latest groovy version
     add ac7fca9214 GROOVY-10943: Treat multiple _'s as placeholders in multi-assignment statements and closure/lambda parameters
     add 397aedd0e8 GROOVY-11127: Set operator extension methods (#1915)
     add 0a6dbd1960 GROOVY-10964: List.minus() slow for Numbers
     add b9436de382 GROOVY-11139: Bump checkstyle to 10.12.2 (build dependency)
     add 60a188c975 align quote style
     add 2d6c61e5dc add comment to assist with future upgrading
     add e3823c7a12 minor refactor: used moved method not deprecated one
     add bb8eb83be3 GROOVY-11140: Bump Codenarc to 3.3.0-groovy-4.0 (build dependency)
     add 79efc4f71b remove unnecessary semicolon
     add f3e29ad42f align import style
     add 37c30c098f remove codenarc warnings
     add 0b92c5d787 remove codenarc warnings
     add 5b00d23129 remove codenarc warnings
     add 2bdd62331c remove codenarc warnings
     add e0c29fffd8 remove codenarc warnings
     add 3311ee95f5 GROOVY-10855: normalized annotation metadata
     add 06169fd3d9 one map
     add 01707c9d5d Update me.champeau.gradle.japicmp 0.4.2
     add f906f0d64c update dependency metadata
     add c488230d4d something became stricter and projects without Java source files now failing check - make more lenient
     add e2961dce67 GROOVY-10893: `collectEntries`/`collectMany` null return inserts nothing
     add 423a8bda0f GROOVY-11070: SC: safe-index array get and put supports negative numbers
     add 93c899f612 GROOVY-9933: style items
     add 4f41b7942e additional example
     add 69d676c25f sort `a` methods
     add 32f49c3538 GROOVY-11145: add `join()` example
     add 3755f451b2 sort `b` and `c` methods
     add 41d6ef3647 sort `d` and `e` methods
     add 70c17c26af sort `f` and `g` methods
     add e11c1e0152 sort `h` and `i` methods
     add a97cb0659b sort `j` and `l` methods
     add 6335e45d07 sort `m` and `n` methods
     add 7ed4ccc3bf sort `o` and `p` methods
     add 03e13f7f50 sort `r`..`x` methods
     add 4e6238dd3c GROOVY-11145: add `join()` extension
     add 0549704603 remove accidentally added file
     add ceff650447 improve javadoc
     add 35664ddeb4 binary compatibility/serializability fixes
     add 51552c2a32 binary compatibility/serializability fixes
     add 635e25ab48 GROOVY-11147: Bump logback-classic to 1.4.9 (test dependency)
     add 28e0874ef0 GROOVY-11148: Bump JUnit Jupiter/JUnit Platform to 5.10.0/1.10.0
     add 1caa7dc0c7 keep spotbugsSlf4f in sync with latest version we use
     add f04f35c015 GROOVY-11150: Bump JMH to 1.37 (performance test dependency) plus minor refactor
     add e7481d5dcd Bump org.sonarqube from 4.2.1.3168 to 4.3.0.3225
     add e5f2d261c5 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin
     add 10192205c5 GROOVY-11146: Support flattening of Optionals in flatten
     add e95ab29a5b tider jar for jmh
     add b586919e3f GROOVY-11151: Example in the Documentation of the Coercion Operator is Wrong
     add 44fd02c393 GROOVY-11151: Example in the Documentation of the Coercion Operator is Wrong
     add 05a116688d GROOVY-10602: fix dropped parameter detection
     add 5f8c82e9c8 GROOVY-10855: normalized annotation metadata (pt.2)
     add 71d261e110 update dependency metadata
     add 602ddb94c1 make it simpler to output jmh results
     add 4428e75d05 make it simpler to output jmh results
     add a4fb7aaca4 fix typo
     add 4e7cd375ba defer `dynamicType()` usage
     add cd71ce0117 exclude occasional error log files
     add 8f9c007e12 `groovy-contracts`: fix dsld errors and matching
     add 95f36bc52c `groovy-contracts`: refactor attribute replacement
     add 1fc3a5e6f2 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.0.3 to 5.1.0
     add e83822f160 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.1.1 to 5.1.3
     add eb738ea24f minor style issues
     add 4b0f162ecd minor style issues
     add 1ea6927ad9 GROOVY-7024, GROOVY-10985: self property precedence
     add 628625a405 GROOVY-11155: Add DGM variants of count(Iterable|Iterator|Map, Closure) with an initial value
     add c597797982 GROOVY-11157: Provide a GINQ aggregate function shorthand for returning a list of the selected items
     add 17bc993b3e GROOVY-11159: protect class definition from modification via a reference
     add 586ef23836 GROOVY-11160: Bump ivy to 2.5.2
     add adfcbc63a6 GROOVY-11162: Bump Ant version to 1.10.14
     add c6cf00c9f0 update dependency metadata
     add de118a175d GROOVY-8096: resolve script super class
     add 6d84e245fd Refactor assertFalse(equals()) with assertNotEquals
     add 2a8c5fbc61 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.0 to 5.1.2
     add f5bb31c4b6 GROOVY-10756: fix erasure (like `ResolveVisitor#resolveGenericsHeader`)
     add 47867dcbc3 vmplugin: reuse `toAnnotationNode` not lower-level `configureAnnotation`
     add 1a3885aacb GROOVY-10975: STC: method pointer/reference parameter(s) and return type
     add 73ba3ba958 update verification metadata
     add 1124451a8f update dependency metadata
     add dd81c3aed1 fix an AsciiDoc inline code block
     add b7bb0eac7a Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.2 to 5.1.3
     add 6953697ca2 node meta data
     add aa21508888 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.3 to 5.1.4
     add d9961ad83d GROOVY-11164: Mark main/run methods in scripts as @Generated
     add 67e2469e05 minor refactor
     add 6dc5b63a09 GROOVY-10974: add test case
     add 0a3ef030d5 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.4 to 5.1.5
     add a3543ff058 GROOVY-11165: JEP 445 compatibility additional functionality
     add 5c6644bfe3 GROOVY-11165: JEP 445 compatibility additional functionality (document @BaseScript case)
     add 0a97087a44 Bump org.nosphere.apache:creadur-rat-gradle from 0.8.0 to 0.8.1
     add 5c5332bb1d Bump org.sonarqube from 4.3.0.3225 to 4.3.1.3277
     add 444e236fd4 GROOVY-6663: `super` calls and bridge methods
     add 49b53841b0 Bump com.github.ben-manes.versions from 0.47.0 to 0.48.0
     add 90eedda336 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.5 to 5.1.6
     add cef3a2c1d0 GROOVY-8587: remove standard MOP methods from trait helper inner classes
     add d3b40a8565 GROOVY-8587: trait helper `$static_methodMissing`
     add 599a1aca5e Improve method selection for script body in SecureASTCustomizer
     add 6cfa9e4a0a GROOVY-11170: Fix edge cases for SecureASTCustomizer (test cases)
     add c14652b5eb GROOVY-11170: Fix edge cases for SecureASTCustomizer (fix test cases)
     add 0aa78d0a33 GROOVY-8854: write `T.m(p)` as `this.m($static$self,p)` not `$self.m(p)`
     add 59c70832e1 GROOVY-11170: Fix edge cases for SecureASTCustomizer (improve Javadoc)
     add c0d69539f9 GROOVY-11167: JsonOutput should handle Records like POGOs
     add 257e61d98e Bump com.gradle.common-custom-user-data-gradle-plugin
     add 6acf1fd488 Bump actions/checkout from 3 to 4
     add 2bcbef9739 GROOVY-11156: remove illegal magic accessor usage
     add ad97324e50 GROOVY-11171: Bump slf4j to 2.0.9 (test and standard install dependency)
     add 920d42262e GROOVY-11172: Bump jqwik to 1.8.0 (test dependency)
     add c1078840e9 GROOVY-11173: Bump picocli to 4.7.5
     add b295686aa4 GROOVY-11174: Bump logback-classic to 1.4.11 (test dependency)
     add 83958a0cd3 GROOVY-11175: Bump javaparser to 3.24.5
     add 9f8deb80d9 GROOVY-11176: Bump checkstyle to 10.12.3 (build dependency)
     add 8906429ab5 update dependency metadata
     add 976817aa1d update dependency metadata
     add 4ca29fa5bc Move JDK 18 into groovy-build-test-aux matrix
     add 6ab3fa8f7d Use the tap() method instead of with(), as tap() returns the object instead of returning the last expression of the closure like with with(). Without this change, variable p3 actually contained the int 1951
     add 032ed6c508 GROOVY-7213, GROOVY-8859: no trait bridge for private methods
     add b779d30686 GROOVY-11178: JSR 308: ctor call type annotations
     add eee9e7b280 GROOVY-9155: add test case
     add ad2ac49937 GROOVY-9154: add test case
     add aae0d08b0b GROOVY-11179: JSR 308: inline constants and variable scope for type anno
     add 5e501c4498 remove type vars from `JSR308Permitted2`
     add 7f280fe133 parse test only
     add 9e5bc22e66 all except `permits`
     add 1b07e27db4 GROOVY-8145, GROOVY-11104, GROOVY-11180: `@PackageScope` + static import
     add 7250c4cf4a fix typo
     add d9d2a830f5 GROOVY-11168: STC: `@DelegatesTo(type=` type parameter resolution
     add 4a92e68ccd Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.6 to 5.1.8
     add afae0f89af Add Bundle-License to the generated jars
     add d45bb3f255 Bump org.jfrog.buildinfo:build-info-extractor-gradle from 5.1.8 to 5.1.9
     add 1273fe3e7c GROOVY-11183: Add `allThreads` method to `Thread`
     add abbc993ae0 Update link to JDK21
     add 9b4634feb2 Ignore failure for removing large unused packages
     add eccb59edba Update verification metadata
     add 248ed9ce09 GROOVY-11184: JSR308: explicit `this` type annotations
     add 1e8f1e0a60 tweak JDKs
     add 4f83ca8709 revert JDK test
     add 44fa217bbc Bump com.gradle.common-custom-user-data-gradle-plugin
     add 97556eb37b Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 44d286e67e GROOVY-8299: implement interfaces with default methods (initial commit)
     add aa35bdd450 GROOVY-8299: restore trait marker in AstBuilder or traits won't work
     add 3f06e15647 GROOVY-9801: add default methods to stub generation
     add c8d0325356 GROOVY-8299: allow I.super for default methods
     add cb33dc6c8d GROOVY-8299: implement call to interface method using super with static compilation
     add 63d4a1e002 GROOVY-8299: implement dynamic path for default interface methods
     add a3d7c7989d GROOVY-8299: typechecking needs to use receiver to decide on target method being valid
     add 673d73d334 Bump org.sonarqube from 4.3.1.3277 to 4.4.1.3373
     add fcf10504b7 GROOVY-11187: Bump asm to 9.6
     add 02f418f573 update dependency metadata
     add 46e3631daf GROOVY-9801: add test case for stub generation with default method
     add 9576266dca Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.1.3 to 5.1.4
     add e2ff7dbe3f Bump com.github.ben-manes.versions from 0.48.0 to 0.49.0
     add 546a347295 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.1.4 to 5.1.5
     add f52d946c77 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.1.5 to 5.2.0
     add dea85dc61b GROOVY-11195: add test case
     add f75685cf76 GROOVY-11197: Support JDK 22
     add 175c0e6f05 GROOVY-9367: prefer `NullObject` over `Object` for `null` argument
     add f605090b88 GROOVY-6567: `null` closure delegate for `NullObject` method receiver
     add cf18e8850d GROOVY-11196: `tap`/`with`/`identity` propagates `null` not `NullObject`
     add 8e5192d0c7 GROOVY-7861: `asType(String)` for `null` differs from `toString()`
     add 7cc5f9a4e2 GROOVY-3803, GROOVY-4487, GROOVY-8875: `class` or `metaClass` for `null`
     add 4c003bfaa1 Trivial refactoring: remove unnecessary unboxing
     add ea26b2d55f GROOVY-7024, GROOVY-11198: enum outer class property from static context
     add ba86d8f9e7 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.2.0 to 5.2.1
     add 1f8072c628 GROOVY-7994, GROOVY-11198: STC: outer field or property inference
     add c19883af25 GROOVY-11192: STC: mapping between source and target type parameter(s)
     add 77f525dd25 GROOVY-11203: add context to exception
     add 0ec63a55e2 Bump com.gradle.common-custom-user-data-gradle-plugin
     add 745e3cd1f9 GROOVY-11207: constant inlining: static field variable reference
     add 6420420fda GROOVY-11206: add test case
     add 7a240549c0 GROOVY-11189: find common interface(s)
     add a52a3888c9 vmplugin: missing class erorr
     add 5ab745cfd7 fix(XmlUtil): escapeControlCharacters off-by-one bug
     add a2f6aa214c fix(XmlUtil): add control characters in escaping unit test
     add d81ebf7ea4 GROOVY-11210: Bump Commons CLI to 1.6.0
     add dbe4e4622f Revert "GROOVY-11210: Bump Commons CLI to 1.6.0" (needs further work)
     add 4d4684eb93 Bump me.champeau.jmh:jmh-gradle-plugin from 0.7.1 to 0.7.2
     add d6a37882e6 GROOVY-11210: Bump Commons CLI to 1.6.0
     add 0f6185fd64 GROOVY-11014: `LUB(Double,int)` is `Double`
     add ccdd40b2d1 GROOVY-8488: STC: `float` or `double` can accept a `BigDecimal` literal
     add 5949c28866 GROOVY-8029: add test case
     add e64c1eab06 update dependency metadata
     add ac5da1e43c GROOVY-11214: Bump jansi to 2.4.1
     add 1f2c0e2b8f hush sonar gradle plugin warning
     add 49abeaf934 GROOVY-11215: Bump JUnit Jupiter/JUnit Platform to 5.10.1/1.10.1
     add 01ee1935a6 GROOVY-11217: Bump Spotbugs/Spotbugs annotations to 4.8.0 (build dependency)
     add 9eee2efd3c GROOVY-11216: Bump checkstyle to 10.12.4 (build dependency)
     add 98229d4683 GROOVY-11218: Bump jackson/jackson-databind to 2.15.3
     add 190efcc17c GROOVY-11219: Bump javaparser to 3.25.6
     add 042a063d49 GROOVY-11218: Bump jackson/jackson-databind to 2.15.3 (missing place)
     add c88a7499c2 bump commons-net to 3.10.0 (perf tests)
     add 1cf702ef66 GROOVY-11220: Bump jqwik to 1.8.1 (test dependency)
     add 17784c6736 update dependency metadata
     add 331bd41f17 GROOVY-11221: Bump log4j2 version to 2.21.1 (test dependency)
     add 2e084efe49 GROOVY-5893: STC: merge type info for `<T, U extends T, V extends T>`
     add 5edc256f09 minor items
     add 3b1b1cb3f2 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.2.1 to 5.2.3
     add 8b18f4d17c typo
     add 745bbffe3b use constant
     add 8f82676001 Revert "use constant" (accidentally slipped in some unintentional changes)
     add 3d180d1c88 use constant
     add b90b015659 GROOVY-8254: alias comes before locally-defined class
     add c019e84511 GROOVY-8254: check import and top-level type name conflicts
     add b48a51bbc5 GROOVY-11227: Bump antlr to 4.13.1.1
     add 31cb9311c5 Update verification metadata
     add 4480d87aa9 Declare 'AbstractStatementCommand' as 'static'
     add 911841c9eb Trivial refactoring: replace loop with `Collection.removeIf()`
     add 03fdae2a8e Tweak logging for macro
     add 38f0cbe309 Trivial refactoring: simplify code with try-with-resources
     add 2131396b3e Tweak logging for macro further
     add dacceb2e2b GROOVY-11228: Bump antlr to 4.13.1.2
     add f65f25b60a Update verification metadata
     add f9241e026f GROOVY-11226: add test case
     add 0862c57db6 GROOVY-11230: use `LinkedHashMap` for class cache in `ProxyGenerator`
     add 3dfc9e7701 fix typo dor -> for
     add 716bd48e98 Trivial tweak: ensure thread-safe access to `adapterCache`
     add 8e7b94af2b Make `synchronized` block slim
     add 9d0add89a0 GROOVY-11225: `shouldFail` return type
     add e18a92eec6 Revert "Make `synchronized` block slim"
     add 4178cd2214 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add d799621f52 Bump com.github.ben-manes.versions from 0.49.0 to 0.50.0
     add 5e4fe31a92 GROOVY-11224: Reconsider name duplication for groovysh
     add 50f54915e9 GROOVY-11194: Add missing options
     add 7e0471f7ff GROOVY-7934: refine `inject` type vars
     add 63c4682474 GROOVY-11213: array `indexOf` and `lastIndexOf`
     add 3a5a0399cf GROOVY-6260, GROOVY-8064: write-only property exception
     add dc1a9be8fb update dependency metadata
     add 3445381b97 bump dnsjava version (perf test)
     add 9b2cc76021 GROOVY-11232: Bump jqwik to 1.8.2 (test dependency)
     add bf3b41ed09 GROOVY-11233: Bump log4j2 version to 2.22.0 (test dependency)
     add 65956f3aaf GROOVY-11234: Bump Spotbugs/Spotbugs annotations to 4.8.1 (build dependency)
     add 82de5251f6 GROOVY-11235: Bump jackson/jackson-databind to 2.16.0
     add 20874fd5da GROOVY-11236: Bump checkstyle to 10.12.5 (build dependency)
     add 57535f7b3b GROOVY-10060: Support private interface methods
     add 72e08e302d Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.2.3 to 5.2.4
     add 507e4f0886 GROOVY-11184, GROOVY-11239: explicit `this` and default argument(s)
     add 8e0443a364 minor items
     add c7202e0d7d GROOVY-11238: Logical implication operator revisited
     add 9719b243b0 GROOVY-11237: Support static interface methods
     add 40598d3fcc GROOVY-11237: Support static interface methods (additional refinements)
     add 5b8a8c0968 GROOVY-11238: Logical implication operator revisited (additional test case)
     add a242a47d6e update dependency metadata
     add 1e5cc40057 update dependency metadata
     add e55c3151a3 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 5.2.4 to 5.2.5
     add 2f411325e7 GROOVY-11240: Tweak cleanup DFA cache of parser
     add 05f116643a Tweak doc
     add 49a4c1b5fc Bump actions/setup-java from 3 to 4
     add 014076b37e SpotBugs Gradle plugin v6
     add 8e3a004b0c Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 6.0.1 to 6.0.2
     add 06487ead29 Bump com.gradle.common-custom-user-data-gradle-plugin
     add b0bec9a078 Bump com.gradle.enterprise from 3.13 to 3.16
     add 592a7c92fd Back to com.gradle.enterprise 3.15
     add 5ec0d02ac1 GROOVY-11241: STC: type argument inference for `class::instanceMethod`
     add 4a8e0eec27 GROOVY-11237: additional interface modifier checks
     add 67e9eeac91 Trivial refactoring: simplify Stream API call chain
     add 8f43338ca5 GROOVY-11243: Bump antlr to 4.13.1.3
     add c207321c21 Update verification metadata
     add 370b83f314 GROOVY-11200: JsonSlurper should throw exception when parsing invalid String ended with a right curly brace
     add 081873801a GROOVY-11200: JsonSlurper should throw exception when parsing invalid String ended with a right curly brace
     add 6288123937 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 78c5fc6ed4 GROOVY-11245: Bump javaparser to 3.25.7
     add 38418dfc95 GROOVY-11246: Bump Spotbugs/Spotbugs annotations to 4.8.3 (build dependency)
     add 45639a67c3 GROOVY-11249: Bump checkstyle to 10.12.6 (build dependency)
     add d20d3515a6 GROOVY-11247: Bump logback-classic to 1.4.14 (test dependency)
     add 6b9e82fef2 update dependency metadata
     add 689552a375 GROOVY-10936: `~string` is a `java.util.regex.Pattern`
     add 957e88b484 GROOVY-6285, GROOVY-9244: delegate constructor disambiguation
     add 4817d7910e Trivial refactoring: use `Files.readString`
     add a91d0691cb Trivial refactoring: use `Map.computeIfAbsent`
     add d7cd638bb4 Trivial refactoring: use `Charset.defaultCharset`
     add 16c3fe0429 Update verification metadata
     add 652c4af025 GROOVY-11250: `UnionTypeClassNode` super class
     add 76d4a0971f Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 6.0.2 to 6.0.4
     add 6f8314f447 Bump actions/upload-artifact from 3 to 4
     add 9ab12cb747 GROOVY-11252: StringGroovyMethods should have a getCodePoints method
     add 4c10bc8ad4 GROOVY-11253: Identity variants for DGM#countBy
     add 40acb86b04 GROOVY-10998: Not reporting cyclic dependency in function's type parameters
     add 85a62a22ec GROOVY-10998: refactor
     add 9a16ac96d0 GROOVY-11046: defer class header parsing for reference w/o type argument
     add 006df16e5c minor items
     add 338a9aafb3 minor items
     add 56d872b20d GROOVY-11255: DGM#flatten flattens nested structures including arrays but not primitive arrays
     add 28c965885a GROOVY-11046: add test case
     add bd73ba82dc partial cleanup of reflection cache
     add d6514725fe GROOVY-11238: Refine static compilation for `==>`
     add b205ae3cfd Trivial refactoring: declare `TUPLE_TYPES` final
     add c3e832c6f4 GROOVY-11256: STC: check `Iface.super.abstractMethod()`
     add f72ec8ba53 GROOVY-11257: STC: propagate receiver type for property accessor return
     add 278af96536 GROOVY-11238: Add test cases for the precedence of `==>`
     add 87aef4d1dc GROOVY-11238: test short-circuiting of `==>`
     add ce7c8d6db1 tidy imports
     add 8716ecf8be Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 9e659fae58 check seems around the wrong way
     add 68525470e6 Replace `printStackTrace` with logging
     add 31ebe71d84 Tweak doc
     add 4d82ac28b2 Load DGM classes concurrently
     add 4ab2408134 Update verification metadata
     add c8bd55631d GROOVY-11262: Avoid processing duplicated entries within META-INF
     add aa7cb8e022 Specify charset to read resources
     add 80e92ec31a bump year
     add 412f566994 GROOVY-11260: ASTMatcher should support matching a var-arg placeholder
     add 2118aef6c5 add doco for regex type checker
     add ac08eb5b25 Fix error "Cannot assign 'List<LambdaExpression>' to 'List<Expression>'" reported by IntelliJ IDEA
     add 8fb08e8dba GROOVY-10974, GROOVY-10975, GROOVY-11241, GROOVY-11259: STC: connections
     add 705caac969 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 6.0.4 to 6.0.5
     add 448479d369 GROOVY-11265: SC: prevent `lambda.rehydrate($self,$self,$self)` re-write
     add 3e81aeeb1d GROOVY-11265: SC: `LambdaMetafactory` is not an interface
     add 7c1c5143f3 GROOVY-11267: add test case
     add 5dda9ec913 GROOVY-11261: Provide a custom type checker for format strings
     add 5a3cf7c86f GROOVY-11261: Provide a custom type checker for format strings (additional tests)
     add 6149d5aaa2 GROOVY-11138: Bump gradle to 8.5
     add b112038b63 Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 6.0.5 to 6.0.6
     add 05dd5b2631 minor improvement to doco
     add 3cd76364f7 additional doco improvements
     add f9327a684d Generate coverage reports
     add 1034c3ad13 make use of Runtime.version().feature() (#2019)
     add 0035b76ca8 Fix badge for build status
     add fa97cc26e8 minor additions to doco
     add 57b764f493 GROOVY-11269: GroovyClassDoc has empty 'enumConstants'
     add 4e6359526d GROOVY-11269: GroovyClassDoc has empty 'enumConstants' (add test case)
     add dbc74da621 GROOVY-11273: Fail to identify updates on final variables declared in default methods
     add 04547e6906 fix test glitch
     add 26d98b44e9 Bump org.asciidoctor:asciidoctor-gradle-jvm-pdf from 4.0.0 to 4.0.1
     add 4011e02589 Bump org.asciidoctor:asciidoctor-gradle-jvm from 4.0.0 to 4.0.1
     add 43f5630338 GROOVY-11271: ConcurrentCommonCache causes memory leaks
     add 0b24963ede GROOVY-11272: Generate `serialVersionUID` for each closure
     add d4651f391a Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 4b418bfa6b GROOVY-11277: Bump testng to 7.9.0
     add b0c3d1d065 GROOVY-11278: Bump slf4j to 2.0.11 (test and standard install dependency)
     add a4cdfcbf81 GROOVY-11280: Bump javaparser to 3.25.8
     add c83cc3feaa GROOVY-11281: Bump checkstyle to 10.12.7 (build dependency)
     add fb4a441c81 GROOVY-11282: Bump jackson/jackson-databind to 2.16.1
     add a090d3d21f update dependency metadata
     add bf03c081e3 GROOVY-10673, GROOVY-11057, GROOVY-11276: add test cases
     add cb8001dc17 update dependency metadata
     add 5f3c30248d Groovydoc template formatting tweak to actually have intended fallback.
     add 0b46fdd1b3 Added inherited properties summary to properties section
     add 9b71fcf85d GROOVY-9464: GroovyDoc: List inherited properties (add testcase)
     add eabe090728 GROOVY-9464: GroovyDoc: List inherited properties (add missing license headers)
     add 1fe3186a59 GROOVY-11117: module classes starts with script or first top-level class
     add d8726d7e2f GROOVY-9239 pre-work: add support at grammar level
     add 3acb6395a8 GROOVY-11254: SC: describe method via `ClassNode` not `Class`
     add 0afe99a84c GROOVY-11121: closure param count penalty for method overload selection
     add e54e39ecb0 update dependency metadata
     add e57586db98 tweak for Gradle 8.5
     add 77ed2de3d6 GROOVY-11284: Generated size() method on records performs unnecessary boxing
     add 9e151ed0ac GROOVY-11285: Generated toList() and toMap() methods on records perform unnecessary wrapping
     add e2fc02e1af GROOVY-11272: Add a test case for captured variable
     add ed9204dc37 Specify the full class name to distinguish with `java.lang.Thread.Builder`
     add a3810f6b25 Add check for `publishMavenPublicationToLocalFileRepository`
     add 7b7347d807 Use JDK 21 to build and distribute
     add 6b8915fbd1 GROOVY-11293: Add a test
     add 6153dfd34b GROOVY-11293: ensure `isVargsMethod` initialized before return
     add 4a2f9e13fc Bump com.github.ben-manes.versions from 0.50.0 to 0.51.0
     add 2779a11429 GROOVY-11290: STC: merge `instanceof` guard(s)
     add b39bef39b5 GROOVY-11296: DGM: `shuffled` preserves input order
     add 33b4372a5f Bump com.github.spotbugs.snom:spotbugs-gradle-plugin from 6.0.6 to 6.0.7
     add cee537d476 GROOVY-11289: STC: intersection and union types in error messages
     add aaed4471f8 GROOVY-11295: Optimise generated next() and previous() in enums
     add d342d993c0 GROOVY-11295: additional minor refactor
     add 8f668bdb20 GROOVY-11292: Class without sealed parent cannot be non-sealed (#2037)
     add 4477e9ce79 Polish GHA configs
     add 84412c31f1 GROOVY-11297: Fail to identify duplicate constructor declaration
     add 7c5a64b3f2 update dependency metadata
     add 0116d18aad update dependency metadata
     add 9340cad510 typo
     add c8f2eb8705 Use gradle/actions/setup-gradle v3
     add 482a229754 GROOVY-11299: prep work
     add 714e6b628d minor refactor
     add 9991c7b64b GROOVY-11300: Bump asciidoctor gradle plugins to 4.0.2 (build dependency)
     add 5aafcdf1d2 minor refactor
     add 213819b206 Bump com.gradle.enterprise from 3.15 to 3.16.2
     add 376071df5b Migrate deprecated buildDir
     add 191231a832 minor refactor
     add 710ff9e7b4 GROOVY-11299: `getSuperClass()` shouldn't return an interface or a trait
     add 2a6a60b631 GROOVY-11302: retain method call type args in trait
     add f18f92f1b6 GROOVY-7984: add test case
     add 7b2205df0e GROOVY-7984: support `withTraits` and `@SelfType(ClassType)`
     add 40707d6848 Fix badge
     add d5470899c4 Bump Gradle to 8.6
     add 1fd2c9b25e Align with gradle binary version, i.e. 8.6
     add 1386af786f Bump gradle/wrapper-validation-action from 1.1.0 to 2.0.0
     add c5d2bd4e67 GROOVY-11294: Make generated toList() and toMap() methods on records return immutable collections
     add 359ee64eda GROOVY-11306: Provide left/right shift operators for BitSet
     add 2779f77e0a Shorten workflow name
     add 4725c433fe Bump gradle/wrapper-validation-action from 2.0.0 to 2.1.1
     add a43d5d4750 GROOVY-11308: Restore compatibility of Collection#unique
     add fac098f5e1 GROOVY-11308: DefaultGroovyMethods#unique now returns null for empty or 1 element input (minor refactor)
     add 2d8712ceb1 GROOVY-11308: DefaultGroovyMethods#unique now returns null for empty or 1 element input (minor refactor)
     add cf3ea89c20 Bump org.jfrog.buildinfo:build-info-extractor-gradle
     add 721fedc961 fix deadlinks and outdated information
     add 2bd36e5d5a minor doco tweaks
     add b09ba10ba5 GROOVY-11314: JsonOutput Pretty Print always escapes characters
     add cab8bab298 Build and test PR against ea and additional JDKs
     add af415514a2 replacing the custom hashmap implementation in MetaMethodIndex with normal hashmaps
     add 4fbb6f6208 Fix wrong method name for generated code in Slf4j
     add 13a79c5be1 GROOVY-11315: Bump checkstyle to 10.13.0 (build dependency)
     add f62e44c993 GROOVY-11315: Bump checkstyle to 10.13.0 (build dependency)
     add e17149013c GROOVY-11316: Bump Codenarc to 3.4.0-groovy-4.0 (build dependency)
     add cddc4f08db GROOVY-11317: Bump slf4j to 2.0.12 (test and standard install dependency)
     add c04516f54d GROOVY-11318: Bump JUnit Jupiter/JUnit Platform to 5.10.2/1.10.2
     add 18980bf742 GROOVY-11321: Bump log4j2 version to 2.23.0 (test dependency)
     add d3be1c0bcc GROOVY-11322: Bump logback-classic to 1.5.0 (test dependency)
     add a1b721d031 update binary compatibility baseline
     add cebdff8932 update dependency metadata
     add cebd9c3a71 update dependency metadata
     add 9a908b0176 GROOVY-11323: check interfaces for possible public method
     add 6256d24de5 Bump com.gradle.common-custom-user-data-gradle-plugin
     add d8603213b0 update dependency metadata
     add c91a8c4744 GROOVY-10687: JEP 181: nest host and members attributes
     add dff1da5cb6 GROOVY-11301: add test case
     add 9df84b37fe fix for `IncompatibleClassChangeError`
     add 6721ac9460 add version restriction
     add b1032d28d0 GROOVY-11304: SC: scrub lambda generics
     add a38c1e29a3 GROOVY-11324: Bump qdox to 2.1.0
     add 40ce8f0a67 avoid deprecated method
     add 43e76661b9 GROOVY-11313: no access method for reserved-name closure shared variable
     add 094b57b0f7 GROOVY-9396, GROOVY-11313: no access method for shared context variable
     add c5b5f81907 GROOVY-11311: generate `call` method if parameter is annotated
     add 1f4f2a775b GROOVY-11325: `@NamedVariant`: default argument expression transformer
     add 59e99f3450 minor items
     add 6eca3f1a4a Bump com.h3xstream.findsecbugs:findsecbugs-plugin from 1.12.0 to 1.13.0
     add 93768547a0 update dependency metadata
     add d58386b31a fix extends interface verification
     add 90d7101083 Bump com.gradle.common-custom-user-data-gradle-plugin
     add b263e294d6 update dependency metadata
     add 95f3eec761 GROOVY-11328: Groovy 4.0.19 - Unable to start (picocli)
     add 2c72c18bdd update latest jdk22ea url, try jdk23ea
     add 170420afd6 jdk23ea not working yet
     add 7e57187b94 GROOVY-11329: Class using trait and @Immutable and allProperties gives BUG! exception in phase 'canonicalization' NPE
     add ca36503562 GROOVY-11330: Remove experimental AGM minBy/maxBy @Incubating methods now that selection by parameter count is improved
     add 0110c2a844 GROOVY-11333: Bump logback-classic to 1.5.3 (test dependency)
     add a93f7450c1 GROOVY-11332: Bump checkstyle to 10.14.0 (build dependency)
     add 8909164e03 GROOVY-11331: Bump javaparser to 3.25.9
     add 6d0d62a9ca GROOVY-11334: Bump jqwik to 1.8.3 (test dependency)
     add 84e1299e02 update dependency metadata
     add 5e03289d25 GROOVY-11335: STC: loop item type from `UnionTypeClassNode`
     add 1b72bb86ad GROOVY-11270: reduce "foo.bar.Baz" to "f.b.Baz" in long error message
     add 5fbc4fbdb5 GROOVY-11186: iterable, iterator and stream as spread method argument(s)
     add 0cedea342b GROOVY-11336: Bump jackson/jackson-databind to 2.16.2
     add 50f10bcaf9 trivial refactor: fix spotbug warnings
     add bb7d9b13ca GROOVY-11337: Bump asciidoctorj-diagram to 2.3.0
     add 34d9c8e7ca GROOVY-11338: Bump asciidoctorj-pdf to 2.3.14
     add 96230e899c Update dependency metadata
     add f47ded239f minor items
     add c36d165f18 Revert "GROOVY-11337: Bump asciidoctorj-diagram to 2.3.0"
     add aef89451b8 GROOVY-11337: Bump asciidoctorj-diagram to 2.3.0
     add a58dc4b0ee GROOVY-11337: Bump asciidoctorj-diagram to 2.3.0 (changes needed for hidden stereotype)
     add 5c344ee4f3 fix: typo
     add 79c5501977 Bump com.github.jk1.dependency-license-report from 2.5 to 2.6
     add 4a252f49fe update dependency metadata
     add 8a7eabee40 trivial formatting
     add 60b7bbe9c1 Test on JDK 22
     add d82ae1715e GROOVY-11341: select non-bridge method from super class
     add 24d3032a4a Fix groovy-build-test
     add 251c1faf98 Fix groovy-build-test
     add 706a657396 Bump gradle/wrapper-validation-action from 2.1.1 to 2.1.2
     add 203249f3ad GROOVY-11343: Bump asm to 9.7
     add 3af6283651 GROOVY-11344: Bump jackson/jackson-databind to 2.17.0
     add 7ae0e6bd52 GROOVY-11345: Bump jqwik to 1.8.4 (test dependency)
     add 6b3b23de85 GROOVY-11346: Bump checkstyle to 10.14.2 (build dependency)
     add 9d2130452f update dependency metadata
     add 61568fc0c0 GROOVY-11347: Support JDK 23
     add c45e580860 GROOVY-11347: Add JDK23 build
     add 412e6e717a GROOVY-11347: Fix failing test for JDK 23
     add ff2e6f3c44 GROOVY-11348: Bump gradle to 8.7 (build)
     add 8306065572 GROOVY-11349: Bump asciidoctorj pdf to 2.3.15
     add 9a7074435b GROOVY-11350: Bump log4j2 version to 2.23.1 (test dependency)
     add 62776a3b57 update dependency metadata
     add 463066f826 remove legacy references
     add 40b012ce9b GROOVY-11351: Add zip and columns extension methods
     add f57162c14f GROOVY-11342: SQL enhancement to allow metadata access for execute
     add bf9aa9ea65 Bump org.sonarqube from 4.4.1.3373 to 5.0.0.4638
     add baeb2a608a GROOVY-11354: Bump javaparser to 3.25.10
     add f6689a2328 Update dependency metadata
     add ee5d4ec824 Bump com.gradle.common-custom-user-data-gradle-plugin from 1.13 to 2
     add d65761e936 GROOVY-11319: STC: `super.x` shouldn't consider private methods
     add 99aa8bdb4e minor items
     add 7aac9fdda1 update dependency metadata
     add eaf6f0aedf GROOVY-11355: Bump checkstyle to 10.15.0 (build dependency)
     add 3cda4beb0f unused imports
     add 716fea1529 fix deprecated method usage
     add 35b515402e fix deprecated method usage
     add 666e73a3e6 fix typo
     add 6cd477b315 GROOVY-11356: STC: unlink variable expression from an inaccessible field
     add 9f4ed4ca58 update link in doco
     add 4b1fde86aa GROOVY-11356: STC: unlink variable expression from inaccessible property
     add 2776818b9b GROOVY-11358: STC: cannot access private field of abstract class outside
     add 42bd277dd9 Bump gradle/wrapper-validation-action from 2 to 3
     add 681ed1a949 Use gradle/actions/wrapper-validation@v3
     add a166a99fa6 Bump com.github.jk1.dependency-license-report from 2.6 to 2.7
     add 5af95dbe89 Bump com.gradle.common-custom-user-data-gradle-plugin from 2 to 2.0.1
     add fdf3a2b572 Bump com.gradle.enterprise from 3.16.2 to 3.17.2
     add 3eb4e2842b swap to develocity plugin
     add 84265fa43d GROOVY-11361: Bump Commons CLI to 1.7.0
     add d10f8d8984 update dependency metadata
     add aca2957d11 GROOVY-11361: Bump Commons CLI to 1.7.0 (fix test)
     add 19832006c3 swap to develocity plugin cont'd
     add af7aeaa7ef swap to develocity plugin cont'd
     add 627a093f93 swap to develocity plugin cont'd
     add 0ccad8ff96 deprecated build usage
     add 42dd0c0745 deprecated build usage
     add 59e4ad810b update dependency metadata
     add 3454c59c48 swap to develocity plugin cont'd
     add 10064a524e swap to develocity plugin cont'd
     add fe03dea478 swap to develocity plugin cont'd
     add 5f87cc3afa update dependency metadata
     add 0b303ea036 revert: deprecated build usage (needs further work)
     add 2989653924 Try to support CodeQL analysis (#2079)
     add 5bd57e9713 GROOVY-11362: classgen: catch parameter is `Exception` for `catch (e) {`
     add 0f443141c6 deprecated build usage
     add d98796e41b GROOVY-11352: `this` or `super` ctor call: outer static method arguments
     add b4f5f2677f GROOVY-11352: non-indy: `this` in special ctor call
     add d4b4cc6425 GROOVY-11359: SC: add bug error for invocation of `makeCallSite`
     add f17ddec7fd GROOVY-11363: SC: support `primitiveValue::boxedClassMethod`
     add e064be1903 GROOVY-11360: STC: add warning for field hidden by dynamic property
     add ccec2c7236 GROOVY-11357: limit access to package-private methods, similar to fields
     add 3e22ae91ea GROOVY-11357: limit access to package-private methods, similar to fields
     new 953acc1596 GROOVY-8283: field hides getter of super class (not interface)
     new fb192a57b2 GROOVY-8283: field hides setter of super class (not interface)

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0d07a0c8f7)
            \
             N -- N -- N   refs/heads/GROOVY-8283 (fb192a57b2)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../gradle-wrapper-validation.yml => .editorconfig |    20 +-
 .gitattributes                                     |     4 +
 .github/dependabot.yml                             |    21 +
 .github/workflows/codeql-analysis.yml              |    77 +
 .github/workflows/gradle-wrapper-validation.yml    |    19 +-
 .github/workflows/grails-joint-validation.yml      |    16 +-
 ...build-test-ea.yml => groovy-build-coverage.yml} |    31 +-
 .github/workflows/groovy-build-dist.yml            |    30 +-
 .github/workflows/groovy-build-test.yml            |    64 +-
 ...{groovy-build-test.yml => groovy-rat-check.yml} |    22 +-
 .github/workflows/micronaut-joint-validation.yml   |    14 +-
 .gitignore                                         |     5 +
 CONTRIBUTING.md                                    |     4 +-
 NOTICE                                             |     2 +-
 README.adoc                                        |    20 +-
 benchmark/bench.groovy                             |     4 +-
 bootstrap/build.gradle                             |     3 +-
 {buildSrc => build-logic}/build.gradle             |    19 +-
 .../src/main/groovy/Services.groovy                |     0
 .../org.apache.groovy-aggregating-project.gradle   |     0
 .../src/main/groovy/org.apache.groovy-all.gradle   |    17 +
 .../groovy/org.apache.groovy-artifactory.gradle    |     0
 .../groovy/org.apache.groovy-asciidoctor.gradle    |    45 +-
 ...rg.apache.groovy-bad-practices-detection.gradle |     4 +-
 .../src/main/groovy/org.apache.groovy-base.gradle  |    54 +-
 .../main/groovy/org.apache.groovy-common.gradle    |    11 +-
 .../src/main/groovy/org.apache.groovy-core.gradle  |    12 +-
 .../groovy/org.apache.groovy-distribution.gradle   |    12 +-
 .../groovy/org.apache.groovy-doc-aggregator.gradle |    10 +-
 .../groovy/org.apache.groovy-documented.gradle     |    12 +-
 .../main/groovy/org.apache.groovy-internal.gradle  |     2 +-
 .../org.apache.groovy-jacoco-aggregation.gradle    |     5 +-
 .../main/groovy/org.apache.groovy-library.gradle   |     6 +-
 .../groovy/org.apache.groovy-performance.gradle    |    23 +-
 .../main/groovy/org.apache.groovy-platform.gradle  |     0
 .../org.apache.groovy-publish-validation.gradle    |     0
 .../org.apache.groovy-published-library.gradle     |    10 +-
 .../groovy/org.apache.groovy-stresstest.gradle     |     0
 .../main/groovy/org.apache.groovy-tested.gradle    |    45 +-
 .../groovy/gradle/CheckstyleHtmlReport.groovy      |     9 +-
 .../ConcurrentExecutionControlBuildService.groovy  |     0
 .../org/apache/groovy/gradle/CoreExtension.groovy  |     0
 .../org/apache/groovy/gradle/DgmConverter.groovy   |     0
 .../groovy/gradle/DistributionExtension.groovy     |     0
 .../groovy/gradle/DocAggregationExtension.groovy   |     0
 .../groovy/org/apache/groovy/gradle/DocGDK.groovy  |     0
 .../groovy/gradle/GroovyLibraryExtension.groovy    |    18 +-
 .../org/apache/groovy/gradle/JarJarTask.groovy     |    16 +-
 .../groovy/gradle/PerformanceTestSummary.groovy    |     0
 .../groovy/gradle/PerformanceTestsExtension.groovy |    58 +-
 .../groovy/gradle/ReleaseInfoGenerator.groovy      |     2 +-
 .../groovy/gradle/SharedConfiguration.groovy       |    38 +-
 .../org/apache/groovy/gradle/Versions.groovy       |     2 +-
 .../gradle/WriteExtensionDescriptorTask.groovy     |     0
 build.gradle                                       |   127 +-
 .../gradle-wrapper-validation.yml => codecov.yml   |    31 +-
 gradle.properties                                  |    13 +-
 gradle/build-scans.gradle                          |    49 +-
 gradle/eclipse.gradle                              |     6 +-
 gradle/idea.gradle                                 |     4 +-
 gradle/licenses.gradle                             |    48 +-
 gradle/verification-metadata.xml                   |  1196 +-
 gradle/wrapper/gradle-wrapper.jar                  |   Bin 59203 -> 61574 bytes
 gradle/wrapper/gradle-wrapper.properties           |     3 +-
 gradlew                                            |   269 +-
 gradlew.bat                                        |    15 +-
 notices/NOTICE-BASE                                |     2 +-
 notices/NOTICE-BINZIP                              |     2 +-
 notices/NOTICE-GROOID                              |     2 +-
 notices/NOTICE-GROOIDJARJAR                        |     2 +-
 notices/NOTICE-JARJAR                              |     2 +-
 notices/NOTICE-SDK                                 |     2 +-
 settings.gradle                                    |    33 +-
 src/antlr/GroovyLexer.g4                           |    32 +-
 src/antlr/GroovyParser.g4                          |    18 +-
 .../groovy/groovy/cli/CliBuilderException.groovy   |     2 +-
 .../groovy/cli/internal/CliBuilderInternal.groovy  |     2 +-
 src/main/groovy/groovy/grape/GrapeIvy.groovy       |    49 +-
 .../groovy/groovy/transform/AutoExternalize.groovy |    12 +-
 src/main/groovy/groovy/transform/Canonical.groovy  |    11 +-
 .../groovy/groovy/transform/CompileDynamic.groovy  |    12 +-
 .../groovy/transform/ConditionalInterrupt.groovy   |     5 +-
 src/main/groovy/groovy/transform/Immutable.groovy  |    10 +-
 .../groovy/transform/ImmutableProperties.groovy    |     5 +-
 src/main/groovy/groovy/transform/RecordType.groovy |    11 +-
 .../groovy/groovy/transform/ThreadInterrupt.groovy |     2 +-
 .../groovy/groovy/transform/TimedInterrupt.groovy  |     3 +-
 src/main/groovy/groovy/util/FileTreeBuilder.groovy |    44 +-
 .../groovy/classgen/genMathModification.groovy     |     6 +-
 .../org/codehaus/groovy/tools/GrapeMain.groovy     |     4 +-
 .../ThreadInterruptibleASTTransformation.groovy    |    64 +-
 .../TimedInterruptibleASTTransformation.groovy     |    79 +-
 .../org/codehaus/groovy/util/StringUtil.groovy     |    49 +-
 src/main/java/groovy/beans/Bindable.java           |     3 +-
 src/main/java/groovy/beans/Vetoable.java           |     3 +-
 src/main/java/groovy/cli/Option.java               |     4 +-
 .../groovy/grape/GrabAnnotationTransformation.java |     2 +-
 src/main/java/groovy/inspect/Inspector.java        |     3 +-
 src/main/java/groovy/lang/Binding.java             |     2 +-
 src/main/java/groovy/lang/Category.java            |     3 +-
 src/main/java/groovy/lang/Closure.java             |   228 +-
 .../java/groovy/lang/ClosureInvokingMethod.java    |    14 +-
 src/main/java/groovy/lang/Delegate.java            |     3 +-
 src/main/java/groovy/lang/DelegatesTo.java         |    52 +-
 src/main/java/groovy/lang/ExpandoMetaClass.java    |    25 +-
 src/main/java/groovy/lang/GString.java             |     2 +-
 src/main/java/groovy/lang/Grab.java                |     2 +-
 src/main/java/groovy/lang/Grapes.java              |     4 +
 src/main/java/groovy/lang/GroovyClassLoader.java   |   884 +-
 src/main/java/groovy/lang/GroovyShell.java         |    83 +-
 src/main/java/groovy/lang/Lazy.java                |     5 +-
 src/main/java/groovy/lang/MapWithDefault.java      |     4 +-
 src/main/java/groovy/lang/MetaBeanProperty.java    |     4 +-
 src/main/java/groovy/lang/MetaClass.java           |    10 +-
 src/main/java/groovy/lang/MetaClassImpl.java       |   915 +-
 src/main/java/groovy/lang/MetaClassRegistry.java   |    30 +-
 .../groovy/lang/MetaClassRegistryChangeEvent.java  |     2 +-
 .../lang/MetaClassRegistryChangeEventListener.java |     2 +-
 src/main/java/groovy/lang/MetaMember.java          |    64 +
 src/main/java/groovy/lang/MetaMethod.java          |   155 +-
 src/main/java/groovy/lang/MetaObjectProtocol.java  |     4 +-
 src/main/java/groovy/lang/MetaProperty.java        |    17 +-
 .../java/groovy/lang/MissingMethodException.java   |     4 +-
 .../java/groovy/lang/MissingPropertyException.java |    49 +-
 src/main/java/groovy/lang/Mixin.java               |    11 +-
 src/main/java/groovy/lang/Newify.java              |     3 +-
 .../groovy/lang/ReadOnlyPropertyException.java     |     6 +-
 src/main/java/groovy/lang/Singleton.java           |     5 +-
 src/main/java/groovy/lang/Writable.java            |    14 +-
 .../java/groovy/transform/AnnotationCollector.java |   203 +-
 src/main/java/groovy/transform/AutoClone.java      |     7 +-
 src/main/java/groovy/transform/AutoFinal.java      |     5 +-
 src/main/java/groovy/transform/AutoImplement.java  |     5 +-
 src/main/java/groovy/transform/BaseScript.java     |     3 +-
 src/main/java/groovy/transform/CompileStatic.java  |     8 +-
 .../java/groovy/transform/EqualsAndHashCode.java   |    17 +-
 .../java/groovy/transform/ExternalizeMethods.java  |     7 +-
 .../java/groovy/transform/ExternalizeVerifier.java |     5 +-
 src/main/java/groovy/transform/Field.java          |     5 +-
 src/main/java/groovy/transform/Final.java          |     3 +-
 src/main/java/groovy/transform/ImmutableBase.java  |     5 +-
 .../java/groovy/transform/ImmutableOptions.java    |     5 +-
 .../java/groovy/transform/IndexedProperty.java     |     5 +-
 .../java/groovy/transform/InheritConstructors.java |     9 +-
 src/main/java/groovy/transform/KnownImmutable.java |     5 +-
 src/main/java/groovy/transform/MapConstructor.java |     5 +-
 src/main/java/groovy/transform/Memoized.java       |    37 +-
 src/main/java/groovy/transform/NamedVariant.java   |     2 -
 src/main/java/groovy/transform/NonSealed.java      |     7 +-
 src/main/java/groovy/transform/NullCheck.java      |     3 +-
 src/main/java/groovy/transform/OperatorRename.java |    65 +
 src/main/java/groovy/transform/PackageScope.java   |     5 +-
 .../java/groovy/transform/PropertyOptions.java     |     5 +-
 src/main/java/groovy/transform/RecordBase.java     |     5 +-
 src/main/java/groovy/transform/RecordOptions.java  |     5 +-
 src/main/java/groovy/transform/Sealed.java         |     7 +-
 src/main/java/groovy/transform/SealedOptions.java  |     7 +-
 src/main/java/groovy/transform/SelfType.java       |     2 +-
 src/main/java/groovy/transform/Sortable.java       |     4 +-
 src/main/java/groovy/transform/SourceURI.java      |     3 +-
 src/main/java/groovy/transform/Synchronized.java   |     7 +-
 src/main/java/groovy/transform/TailRecursive.java  |     2 +-
 src/main/java/groovy/transform/ToString.java       |    14 +-
 src/main/java/groovy/transform/Trait.java          |     5 +-
 .../java/groovy/transform/TupleConstructor.java    |     5 +-
 src/main/java/groovy/transform/TypeChecked.java    |    12 +-
 .../java/groovy/transform/VisibilityOptions.java   |     3 +-
 src/main/java/groovy/transform/WithReadLock.java   |    11 +-
 src/main/java/groovy/transform/WithWriteLock.java  |     5 +-
 .../java/groovy/transform/builder/Builder.java     |     2 +-
 .../transform/builder/InitializerStrategy.java     |   106 +-
 .../groovy/transform/builder/SimpleStrategy.java   |    11 +-
 .../transform/options/DefaultPropertyHandler.java  |     4 +-
 .../options/ImmutablePropertyHandler.java          |    27 +-
 .../options/LegacyHashMapPropertyHandler.java      |     2 +-
 .../java/groovy/transform/stc/ClosureParams.java   |     2 +
 src/main/java/groovy/transform/stc/POJO.java       |     5 +-
 .../groovy/transform/stc/PickAnyArgumentHint.java  |     2 +-
 src/main/java/groovy/ui/GroovyMain.java            |     2 +-
 src/main/java/groovy/util/CharsetToolkit.java      |    24 +-
 src/main/java/groovy/util/ConfigObject.java        |     2 +-
 .../java/groovy/util/FactoryBuilderSupport.java    |    16 +-
 src/main/java/groovy/util/GroovyCollections.java   |   118 +-
 src/main/java/groovy/util/GroovyScriptEngine.java  |     8 +-
 src/main/java/groovy/util/Node.java                |     2 +-
 .../java/groovy/util/PermutationGenerator.java     |     4 +-
 src/main/java/groovy/util/ProxyGenerator.java      |    87 +-
 .../groovy/util/function/DoubleComparator.java     |    22 +-
 .../java/groovy/util/function/IntComparator.java   |    22 +-
 .../java/groovy/util/function/LongComparator.java  |    22 +-
 src/main/java/groovy/util/function/package.html    |    29 +
 src/main/java/groovy/util/logging/Commons.java     |     9 +-
 src/main/java/groovy/util/logging/Log.java         |     9 +-
 src/main/java/groovy/util/logging/Log4j.java       |     9 +-
 src/main/java/groovy/util/logging/Log4j2.java      |     9 +-
 src/main/java/groovy/util/logging/PlatformLog.java |     7 +-
 src/main/java/groovy/util/logging/Slf4j.java       |    11 +-
 .../apache/groovy/ast/tools/ClassNodeUtils.java    |   216 +-
 .../apache/groovy/ast/tools/ExpressionUtils.java   |    26 +-
 .../groovy/ast/tools/ImmutablePropertyUtils.java   |    89 +-
 .../apache/groovy/ast/tools/MethodNodeUtils.java   |    68 +-
 .../internal/metaclass/MetaClassConstant.java      |     2 +-
 .../org/apache/groovy/lang/GroovyObjectHelper.java |   150 -
 .../apache/groovy/lang/annotation/Incubating.java  |    11 +-
 .../apache/groovy/parser/antlr4/AstBuilder.java    |   864 +-
 .../antlr4/internal/atnmanager/AtnManager.java     |    81 +-
 .../internal/atnmanager/LexerAtnManager.java       |     6 +-
 .../internal/atnmanager/ParserAtnManager.java      |     6 +-
 .../apache/groovy/plugin/GroovyRunnerRegistry.java |     2 +-
 .../java/org/apache/groovy/util/BeanUtils.java     |    37 +-
 .../java/org/apache/groovy/util/SystemUtil.java    |     2 +-
 .../groovy/util/concurrent/LazyInitializable.java  |     2 +-
 .../ConcurrentLinkedHashMap.java                   |    18 +-
 .../concurrentlinkedhashmap/LinkedDeque.java       |     2 +-
 .../concurrentlinkedhashmap/Weighers.java          |     8 +-
 .../java/org/codehaus/groovy/GroovyBugError.java   |     2 +-
 src/main/java/org/codehaus/groovy/ast/ASTNode.java |    22 +-
 .../org/codehaus/groovy/ast/AnnotatedNode.java     |     6 +-
 .../java/org/codehaus/groovy/ast/ClassHelper.java  |     4 +-
 .../java/org/codehaus/groovy/ast/ClassNode.java    |  1762 +-
 .../codehaus/groovy/ast/CodeVisitorSupport.java    |    18 +-
 .../java/org/codehaus/groovy/ast/CompileUnit.java  |     2 +-
 .../codehaus/groovy/ast/EnumConstantClassNode.java |     2 +-
 .../java/org/codehaus/groovy/ast/GenericsType.java |     8 +
 .../java/org/codehaus/groovy/ast/ImportNode.java   |    34 +-
 .../org/codehaus/groovy/ast/InnerClassNode.java    |    28 +-
 .../groovy/ast/InterfaceHelperClassNode.java       |     8 +-
 .../java/org/codehaus/groovy/ast/MethodNode.java   |     7 +-
 .../java/org/codehaus/groovy/ast/ModuleNode.java   |   231 +-
 .../codehaus/groovy/ast/NodeMetaDataHandler.java   |    58 +-
 .../java/org/codehaus/groovy/ast/Parameter.java    |    43 +-
 .../org/codehaus/groovy/ast/VariableScope.java     |     2 +-
 .../groovy/ast/decompiled/AsmDecompiler.java       |     2 +-
 .../ast/decompiled/ClassSignatureParser.java       |    17 +-
 .../groovy/ast/decompiled/DecompiledClassNode.java |     2 +-
 .../ast/decompiled/MemberSignatureParser.java      |    13 +-
 .../groovy/ast/decompiled/TypeSignatureParser.java |    10 +-
 .../groovy/ast/expr/BitwiseNegationExpression.java |    33 +-
 .../groovy/ast/expr/BooleanExpression.java         |    15 +-
 .../codehaus/groovy/ast/expr/CastExpression.java   |     7 +-
 .../groovy/ast/expr/ElvisOperatorExpression.java   |    41 +-
 .../org/codehaus/groovy/ast/expr/Expression.java   |    66 +-
 .../codehaus/groovy/ast/expr/FieldExpression.java  |     3 +-
 .../groovy/ast/expr/GStringExpression.java         |     4 +-
 .../codehaus/groovy/ast/expr/NotExpression.java    |    20 +-
 .../groovy/ast/expr/PostfixExpression.java         |    49 +-
 .../codehaus/groovy/ast/expr/PrefixExpression.java |    49 +-
 .../codehaus/groovy/ast/expr/SpreadExpression.java |    24 +-
 .../groovy/ast/expr/SpreadMapExpression.java       |    25 +-
 .../groovy/ast/expr/TernaryExpression.java         |    72 +-
 .../groovy/ast/expr/UnaryMinusExpression.java      |    32 +-
 .../groovy/ast/expr/UnaryPlusExpression.java       |    34 +-
 .../groovy/ast/expr/VariableExpression.java        |     4 +-
 .../codehaus/groovy/ast/stmt/BlockStatement.java   |    66 +-
 .../org/codehaus/groovy/ast/stmt/IfStatement.java  |    48 +-
 .../groovy/ast/stmt/TryCatchStatement.java         |    88 +-
 .../org/codehaus/groovy/ast/tools/BeanUtils.java   |     8 +-
 .../codehaus/groovy/ast/tools/GeneralUtils.java    |   104 +-
 .../codehaus/groovy/ast/tools/GenericsUtils.java   |   336 +-
 .../codehaus/groovy/ast/tools/ParameterUtils.java  |     6 +
 .../groovy/ast/tools/PropertyNodeUtils.java        |     4 +-
 .../groovy/ast/tools/WideningCategories.java       |   256 +-
 .../groovy/classgen/AnnotationVisitor.java         |    10 +-
 .../groovy/classgen/AsmClassGenerator.java         |   314 +-
 .../groovy/classgen/BytecodeExpression.java        |     5 +
 .../groovy/classgen/ClassCompletionVerifier.java   |    96 +-
 .../groovy/classgen/DummyClassGenerator.java       |     2 +-
 .../groovy/classgen/EnumCompletionVisitor.java     |    98 +-
 .../org/codehaus/groovy/classgen/EnumVisitor.java  |   239 +-
 .../codehaus/groovy/classgen/ExtendedVerifier.java |   257 +-
 .../groovy/classgen/FinalVariableAnalyzer.java     |     2 +-
 .../classgen/InnerClassCompletionVisitor.java      |   107 +-
 .../groovy/classgen/InnerClassVisitor.java         |    22 +-
 .../groovy/classgen/VariableScopeVisitor.java      |   146 +-
 .../org/codehaus/groovy/classgen/Verifier.java     |   313 +-
 .../groovy/classgen/asm/AssertionWriter.java       |   263 +-
 .../classgen/asm/BinaryExpressionHelper.java       |   329 +-
 .../asm/BinaryExpressionMultiTypeDispatcher.java   |    92 +-
 .../classgen/asm/BinaryIntExpressionHelper.java    |    16 +-
 .../classgen/asm/BinaryLongExpressionHelper.java   |     6 +-
 .../groovy/classgen/asm/BytecodeDumper.java        |     2 +-
 .../groovy/classgen/asm/BytecodeHelper.java        |    83 +-
 .../groovy/classgen/asm/BytecodeVariable.java      |    65 +-
 .../groovy/classgen/asm/CallSiteWriter.java        |     6 +-
 .../groovy/classgen/asm/ClosureWriter.java         |   177 +-
 .../codehaus/groovy/classgen/asm/CompileStack.java |    36 +-
 .../groovy/classgen/asm/InvocationWriter.java      |    96 +-
 .../asm/MethodPointerExpressionWriter.java         |     9 +
 .../codehaus/groovy/classgen/asm/MopWriter.java    |     2 +-
 .../classgen/asm/OptimizingStatementWriter.java    |     6 +-
 .../groovy/classgen/asm/StatementWriter.java       |    56 +-
 .../groovy/classgen/asm/WriterController.java      |    10 +-
 .../classgen/asm/WriterControllerFactory.java      |     3 +-
 .../classgen/asm/indy/IndyCallSiteWriter.java      |    23 +-
 .../classgen/asm/indy/InvokeDynamicWriter.java     |    45 +-
 .../asm/sc/AbstractFunctionalInterfaceWriter.java  |   164 +-
 .../asm/sc/StaticCompilationMopWriter.java         |     7 +-
 .../classgen/asm/sc/StaticInvocationWriter.java    |    45 +-
 ...icTypesBinaryExpressionMultiTypeDispatcher.java |   115 +-
 .../classgen/asm/sc/StaticTypesCallSiteWriter.java |   225 +-
 .../classgen/asm/sc/StaticTypesLambdaWriter.java   |    81 +-
 ...StaticTypesMethodReferenceExpressionWriter.java |   209 +-
 .../asm/sc/StaticTypesWriterController.java        |    51 +-
 .../codehaus/groovy/control/ClassNodeResolver.java |    17 +-
 .../codehaus/groovy/control/CompilationUnit.java   |    43 +-
 .../org/codehaus/groovy/control/CompilePhase.java  |     4 +-
 .../groovy/control/CompilerConfiguration.java      |   102 +-
 .../groovy/control/ConfigurationException.java     |     2 +-
 .../codehaus/groovy/control/ErrorCollector.java    |     2 +-
 .../codehaus/groovy/control/GenericsVisitor.java   |    10 +-
 .../groovy/control/InstanceOfVerifier.java         |     2 +-
 .../groovy/control/PlaceholderVisitor.java         |    96 +
 .../codehaus/groovy/control/ProcessingUnit.java    |     5 +-
 .../codehaus/groovy/control/ResolveVisitor.java    |   349 +-
 .../groovy/control/SourceExtensionHandler.java     |     9 +-
 .../org/codehaus/groovy/control/SourceUnit.java    |    29 +-
 .../groovy/control/StaticImportVisitor.java        |   114 +-
 .../codehaus/groovy/control/StaticVerifier.java    |     2 +-
 .../control/customizers/ImportCustomizer.java      |     2 +-
 .../control/customizers/SecureASTCustomizer.java   |   110 +-
 .../builder/ImportCustomizerFactory.java           |     1 +
 .../customizers/builder/PostCompletionFactory.java |     2 +-
 .../groovy/control/io/AbstractReaderSource.java    |     4 +-
 .../groovy/control/io/InputStreamReaderSource.java |     2 +-
 .../org/codehaus/groovy/control/io/NullWriter.java |     2 +-
 .../codehaus/groovy/control/io/ReaderSource.java   |     2 +-
 .../codehaus/groovy/control/messages/Message.java  |    41 +-
 .../groovy/control/messages/SimpleMessage.java     |    30 +-
 .../groovy/control/messages/WarningMessage.java    |    38 +-
 .../groovy/reflection/AccessPermissionChecker.java |    13 +-
 .../codehaus/groovy/reflection/CachedClass.java    |   158 +-
 .../groovy/reflection/CachedConstructor.java       |    43 +-
 .../codehaus/groovy/reflection/CachedField.java    |    71 +-
 .../codehaus/groovy/reflection/CachedMethod.java   |    15 +-
 .../org/codehaus/groovy/reflection/ClassInfo.java  |     4 +-
 .../reflection/ClassLoaderForClassArtifacts.java   |     7 -
 .../groovy/reflection/GeneratedMetaMethod.java     |    36 +-
 .../groovy/reflection/MixinInMetaClass.java        |    18 +-
 .../codehaus/groovy/reflection/ParameterTypes.java |   255 +-
 .../groovy/reflection/ReflectionCache.java         |    67 -
 .../groovy/reflection/ReflectionUtils.java         |    49 +-
 .../codehaus/groovy/reflection/SunClassLoader.java |   125 -
 .../reflection/stdclasses/CachedSAMClass.java      |   152 +-
 .../reflection/stdclasses/StringCachedClass.java   |     3 +-
 .../reflection/v7/GroovyClassValueJava7.java       |     2 +-
 .../groovy/runtime/ArrayGroovyMethods.java         |  9007 +++++++
 .../org/codehaus/groovy/runtime/ArrayUtil.java     |    24 +
 .../groovy/runtime/BytecodeInterface8.java         |   267 +-
 .../codehaus/groovy/runtime/ConversionHandler.java |     2 +-
 .../codehaus/groovy/runtime/ConvertedClosure.java  |    33 +-
 .../codehaus/groovy/runtime/CurriedClosure.java    |   128 +-
 .../groovy/runtime/DefaultGroovyMethods.java       | 26780 +++++++++----------
 .../runtime/DefaultGroovyMethodsSupport.java       |   235 +-
 .../groovy/runtime/DefaultGroovyStaticMethods.java |    25 +
 .../groovy/runtime/EncodingGroovyMethods.java      |     8 +-
 .../org/codehaus/groovy/runtime/FormatHelper.java  |    50 +-
 .../org/codehaus/groovy/runtime/GStringImpl.java   |     2 +-
 .../groovy/runtime/GroovyCategorySupport.java      |     4 +-
 .../codehaus/groovy/runtime/HandleMetaClass.java   |     4 +-
 .../codehaus/groovy/runtime/IOGroovyMethods.java   |     2 +-
 .../org/codehaus/groovy/runtime/InvokerHelper.java |    77 +-
 .../codehaus/groovy/runtime/MetaClassHelper.java   |   130 +-
 .../org/codehaus/groovy/runtime/MethodClosure.java |    55 +-
 .../org/codehaus/groovy/runtime/MethodKey.java     |     6 +-
 .../codehaus/groovy/runtime/MethodRankHelper.java  |   406 +-
 .../org/codehaus/groovy/runtime/NullObject.java    |   165 +-
 .../groovy/runtime/ProxyGeneratorAdapter.java      |   118 +-
 .../groovy/runtime/ResourceGroovyMethods.java      |    67 +-
 .../groovy/runtime/ScriptBytecodeAdapter.java      |   437 +-
 .../groovy/runtime/StringGroovyMethods.java        |   104 +-
 .../groovy/runtime/callsite/CallSiteArray.java     |     2 +-
 .../groovy/runtime/callsite/CallSiteGenerator.java |     2 +-
 .../callsite/ConstructorMetaMethodSite.java        |     6 +-
 .../groovy/runtime/callsite/ConstructorSite.java   |     2 +-
 .../runtime/callsite/GroovySunClassLoader.java     |    81 -
 .../runtime/callsite/MetaClassConstructorSite.java |     2 +-
 .../groovy/runtime/callsite/MetaClassSite.java     |     2 +-
 .../callsite/PlainObjectMetaMethodSite.java        |     2 +-
 .../runtime/callsite/PogoMetaMethodSite.java       |     2 +-
 .../groovy/runtime/callsite/PojoMetaClassSite.java |    33 +-
 .../runtime/callsite/PojoMetaMethodSite.java       |    14 +-
 .../runtime/callsite/StaticMetaClassSite.java      |     2 +-
 .../runtime/callsite/StaticMetaMethodSite.java     |    14 +-
 .../runtime/dgmimpl/NumberNumberMetaMethod.java    |     6 +-
 .../dgmimpl/arrays/ArrayGetAtMetaMethod.java       |     3 +-
 .../runtime/dgmimpl/arrays/ArrayMetaMethod.java    |     4 +-
 .../dgmimpl/arrays/ArrayPutAtMetaMethod.java       |    10 +
 .../arrays/BooleanArrayGetAtMetaMethod.java        |     4 +-
 .../arrays/BooleanArrayPutAtMetaMethod.java        |    10 +-
 .../dgmimpl/arrays/ByteArrayGetAtMetaMethod.java   |     4 +-
 .../dgmimpl/arrays/ByteArrayPutAtMetaMethod.java   |    10 +-
 .../arrays/CharacterArrayGetAtMetaMethod.java      |     4 +-
 .../arrays/CharacterArrayPutAtMetaMethod.java      |    10 +-
 .../dgmimpl/arrays/DoubleArrayGetAtMetaMethod.java |     4 +-
 .../dgmimpl/arrays/DoubleArrayPutAtMetaMethod.java |    10 +-
 .../dgmimpl/arrays/FloatArrayGetAtMetaMethod.java  |     4 +-
 .../dgmimpl/arrays/FloatArrayPutAtMetaMethod.java  |    10 +-
 .../arrays/IntegerArrayGetAtMetaMethod.java        |     4 +-
 .../arrays/IntegerArrayPutAtMetaMethod.java        |    10 +-
 .../dgmimpl/arrays/LongArrayGetAtMetaMethod.java   |     4 +-
 .../dgmimpl/arrays/LongArrayPutAtMetaMethod.java   |    10 +-
 .../dgmimpl/arrays/ObjectArrayGetAtMetaMethod.java |     6 +-
 .../dgmimpl/arrays/ObjectArrayPutAtMetaMethod.java |    68 +-
 .../dgmimpl/arrays/ShortArrayGetAtMetaMethod.java  |     4 +-
 .../dgmimpl/arrays/ShortArrayPutAtMetaMethod.java  |    10 +-
 .../groovy/runtime/m12n/ExtensionModule.java       |     2 +-
 .../runtime/m12n/ExtensionModuleScanner.java       |     6 +-
 .../groovy/runtime/memoize/CommonCache.java        |    22 +-
 .../runtime/memoize/ConcurrentCommonCache.java     |     4 +-
 .../runtime/memoize/ConcurrentSoftCache.java       |     4 +-
 .../groovy/runtime/memoize/EvictableCache.java     |     2 +-
 .../groovy/runtime/memoize/StampedCommonCache.java |     4 +-
 .../groovy/runtime/metaclass/ClosureMetaClass.java |   322 +-
 .../runtime/metaclass/ClosureMetaMethod.java       |    59 +-
 .../runtime/metaclass/ConcurrentReaderHashMap.java |   134 +-
 .../runtime/metaclass/DefaultMetaClassInfo.java    |    86 +-
 .../runtime/metaclass/MetaClassRegistryImpl.java   |    74 +-
 .../groovy/runtime/metaclass/MetaMethodIndex.java  |   442 +-
 .../groovy/runtime/metaclass/MethodHelper.java     |    38 -
 .../runtime/metaclass/MultipleSetterProperty.java  |     2 +-
 .../runtime/metaclass/NewInstanceMetaMethod.java   |     2 +-
 .../runtime/metaclass/TransformMetaMethod.java     |     4 +-
 .../runtime/typehandling/BigDecimalMath.java       |    19 +-
 .../runtime/typehandling/BigIntegerMath.java       |    27 +-
 .../typehandling/DefaultTypeTransformation.java    |    44 +-
 .../runtime/typehandling/FloatingPointMath.java    |    13 +-
 .../groovy/runtime/typehandling/IntegerMath.java   |    29 +-
 .../groovy/runtime/typehandling/LongMath.java      |    31 +-
 .../groovy/runtime/typehandling/NumberMath.java    |    15 +-
 .../typehandling/NumberMathModificationInfo.java   |   210 +-
 .../java/org/codehaus/groovy/syntax/CSTNode.java   |     2 +-
 .../java/org/codehaus/groovy/syntax/Numbers.java   |     2 +-
 .../java/org/codehaus/groovy/syntax/TokenUtil.java |     1 +
 .../java/org/codehaus/groovy/syntax/Types.java     |    18 +-
 .../codehaus/groovy/tools/FileSystemCompiler.java  |    38 +-
 .../org/codehaus/groovy/tools/GroovyStarter.java   |    48 +-
 .../codehaus/groovy/tools/LoaderConfiguration.java |     3 +-
 .../java/org/codehaus/groovy/tools/RootLoader.java |    94 +-
 .../org/codehaus/groovy/tools/StringHelper.java    |    14 +-
 .../tools/javac/JavaAwareCompilationUnit.java      |    37 +-
 .../tools/javac/JavaAwareResolveVisitor.java       |     5 +-
 .../groovy/tools/javac/JavaStubGenerator.java      |   688 +-
 .../groovy/tools/javac/RawJavaFileObject.java      |     2 +-
 .../groovy/tools/shell/util/MessageSource.java     |     2 +-
 .../ASTTransformationCollectorCodeVisitor.java     |     4 +-
 .../groovy/transform/ASTTransformationVisitor.java |    24 +-
 .../transform/AbstractASTTransformation.java       |     4 +-
 .../transform/AnnotationCollectorTransform.java    |    13 +-
 .../transform/BaseScriptASTTransformation.java     |    36 +-
 .../groovy/transform/BuilderASTTransformation.java |    47 +-
 .../EqualsAndHashCodeASTTransformation.java        |    46 +-
 .../transform/ImmutableASTTransformation.java      |    48 +-
 .../InheritConstructorsASTTransformation.java      |     2 +-
 .../transform/MapConstructorASTTransformation.java |   150 +-
 .../transform/MemoizedASTTransformation.java       |    21 +-
 .../transform/NamedVariantASTTransformation.java   |    84 +-
 .../transform/OperatorRenameASTTransformation.java |   210 +
 .../transform/PackageScopeASTTransformation.java   |     5 +-
 .../transform/RecordTypeASTTransformation.java     |   220 +-
 .../groovy/transform/SealedASTTransformation.java  |     7 +-
 .../SealedCompletionASTTransformation.java         |     1 -
 .../transform/ToStringASTTransformation.java       |    24 +-
 .../TupleConstructorASTTransformation.java         |   234 +-
 .../transform/sc/StaticCompilationVisitor.java     |   450 +-
 .../transformers/BinaryExpressionTransformer.java  |    16 +-
 .../transformers/BooleanExpressionTransformer.java |    23 +-
 .../transformers/ConstructorCallTransformer.java   |    87 +-
 .../MethodCallExpressionTransformer.java           |    74 +-
 .../PropertyExpressionTransformer.java             |    25 +-
 .../StaticMethodCallExpressionTransformer.java     |    38 +-
 .../stc/AbstractTypeCheckingExtension.java         |    39 +-
 .../stc/DefaultTypeCheckingExtension.java          |    20 +-
 .../groovy/transform/stc/ExtensionMethodCache.java |     2 +-
 .../stc/GroovyTypeCheckingExtensionSupport.java    |   183 +-
 .../transform/stc/PropertyLookupVisitor.java       |    60 -
 .../groovy/transform/stc/SecondPassExpression.java |     2 +-
 .../transform/stc/SharedVariableCollector.java     |     9 +-
 .../transform/stc/StaticTypeCheckingSupport.java   |   648 +-
 .../transform/stc/StaticTypeCheckingVisitor.java   |  2528 +-
 .../groovy/transform/stc/StaticTypesMarker.java    |    59 +-
 .../transform/stc/TraitTypeCheckingExtension.java  |   119 +-
 .../groovy/transform/stc/TypeCheckingContext.java  |    22 +-
 .../groovy/transform/stc/UnionTypeClassNode.java   |   133 +-
 .../ReturnStatementToIterationConverter.java       |     2 +-
 .../transform/trait/SuperCallTraitTransformer.java |     4 +-
 .../transform/trait/TraitASTTransformation.java    |   287 +-
 .../groovy/transform/trait/TraitComposer.java      |   108 +-
 .../transform/trait/TraitReceiverTransformer.java  |    83 +-
 .../codehaus/groovy/transform/trait/Traits.java    |    24 +-
 .../org/codehaus/groovy/util/ArrayIterable.java    |     4 +-
 .../org/codehaus/groovy/util/ArrayIterator.java    |    18 +-
 .../codehaus/groovy/util/BooleanArrayIterator.java |    16 +-
 .../codehaus/groovy/util/ByteArrayIterator.java    |    16 +-
 .../codehaus/groovy/util/CharArrayIterator.java    |    16 +-
 .../codehaus/groovy/util/CharSequenceReader.java   |     4 +-
 .../codehaus/groovy/util/DoubleArrayIterable.java  |     4 +-
 .../codehaus/groovy/util/DoubleArrayIterator.java  |    16 +-
 ...r.java => DoubleDoubleArrayColumnIterator.java} |    36 +-
 .../java/org/codehaus/groovy/util/FastArray.java   |    14 +-
 .../codehaus/groovy/util/FloatArrayIterator.java   |    16 +-
 ...tor.java => FloatFloatArrayColumnIterator.java} |    36 +-
 .../org/codehaus/groovy/util/IntArrayIterable.java |     4 +-
 .../org/codehaus/groovy/util/IntArrayIterator.java |    16 +-
 ...terator.java => IntIntArrayColumnIterator.java} |    36 +-
 .../java/org/codehaus/groovy/util/ListHashMap.java |   223 +-
 .../codehaus/groovy/util/LongArrayIterable.java    |     4 +-
 .../codehaus/groovy/util/LongArrayIterator.java    |    16 +-
 ...rator.java => LongLongArrayColumnIterator.java} |    36 +-
 .../codehaus/groovy/util/ManagedLinkedList.java    |     2 +-
 .../codehaus/groovy/util/ShortArrayIterator.java   |    16 +-
 .../org/codehaus/groovy/vmplugin/VMPlugin.java     |    21 +-
 .../codehaus/groovy/vmplugin/VMPluginFactory.java  |    62 +-
 .../org/codehaus/groovy/vmplugin/v16/Java16.java   |    80 +-
 .../codehaus/groovy/vmplugin/v7/IndyInterface.java |     8 +-
 .../groovy/vmplugin/v8/CacheableCallSite.java      |    52 +-
 .../v8/IndyGuardsFiltersAndSignatures.java         |    16 +-
 .../codehaus/groovy/vmplugin/v8/IndyInterface.java |   129 +-
 .../org/codehaus/groovy/vmplugin/v8/IndyMath.java  |    18 +-
 .../org/codehaus/groovy/vmplugin/v8/Java8.java     |   340 +-
 .../org/codehaus/groovy/vmplugin/v8/Selector.java  |   425 +-
 .../groovy/vmplugin/v8/TypeTransformers.java       |     8 +-
 .../org/codehaus/groovy/vmplugin/v9/Java9.java     |   218 +-
 .../_design-pattern-chain-of-responsibility.adoc   |    17 +-
 src/spec/doc/_design-pattern-command.adoc          |     2 +
 src/spec/doc/_design-pattern-composite.adoc        |     4 +-
 src/spec/doc/_design-pattern-monoid.adoc           |     3 +-
 src/spec/doc/_design-pattern-observer.adoc         |     1 +
 src/spec/doc/_design-pattern-singleton.adoc        |     4 +-
 src/spec/doc/_design-pattern-strategy.adoc         |     1 +
 src/spec/doc/_design-pattern-template-method.adoc  |     1 +
 src/spec/doc/_records.adoc                         |     2 +-
 src/spec/doc/_traits.adoc                          |     4 +-
 src/spec/doc/_type-checking-extensions.adoc        |    69 +-
 src/spec/doc/_working-with-arrays.adoc             |    65 +
 src/spec/doc/_working-with-io.adoc                 |     2 +-
 src/spec/doc/assets/css/style.css                  |     4 +-
 src/spec/doc/core-closures.adoc                    |     8 +-
 src/spec/doc/core-differences-java.adoc            |   141 +-
 src/spec/doc/core-domain-specific-languages.adoc   |    18 +-
 src/spec/doc/core-gdk.adoc                         |     2 +
 src/spec/doc/core-getting-started.adoc             |     4 +-
 src/spec/doc/core-metaprogramming.adoc             |    35 +-
 src/spec/doc/core-object-orientation.adoc          |    52 +-
 src/spec/doc/core-operators.adoc                   |    21 +-
 src/spec/doc/core-program-structure.adoc           |   162 +-
 src/spec/doc/core-semantics.adoc                   |    26 +-
 src/spec/doc/core-syntax.adoc                      |     8 +-
 src/spec/doc/core-testing-guide.adoc               |    31 +-
 src/spec/doc/design-patterns-in-groovy.adoc        |     2 +-
 src/spec/doc/grape.adoc                            |     6 +-
 src/spec/doc/guide-integrating.adoc                |     4 +-
 src/spec/doc/performance-guide.adoc                |     4 +-
 src/spec/doc/style-guide.adoc                      |     6 +-
 src/spec/doc/tools-groovyc.adoc                    |     6 +-
 src/spec/doc/tools-ide.adoc                        |     2 +-
 src/spec/test-resources/aftervisitclass.groovy     |     2 -
 src/spec/test-resources/beforevisitclass.groovy    |     2 -
 .../test-resources/incompatiblereturntype.groovy}  |     8 +-
 src/spec/test-resources/selfcheck.groovy           |     1 -
 src/spec/test-resources/unresolvedattribute.groovy |     6 +-
 src/spec/test-resources/unresolvedproperty.groovy  |     8 +-
 src/spec/test-resources/unresolvedvariable.groovy  |     6 +-
 src/spec/test/BaseScriptSpecTest.groovy            |    16 +-
 src/spec/test/ClassDesignASTTransformsTest.groovy  |     2 +-
 src/spec/test/ClassTest.groovy                     |    42 +-
 .../test/CodeGenerationASTTransformsTest.groovy    |     2 +-
 src/spec/test/CoercionTest.groovy                  |    33 +-
 src/spec/test/CustomizersTest.groovy               |     2 +-
 src/spec/test/DesignPatternsTest.groovy            |     2 +-
 src/spec/test/DifferencesFromJavaTest.groovy       |    18 +-
 src/spec/test/OperatorsTest.groovy                 |    18 +-
 src/spec/test/PackageTest.groovy                   |    39 +-
 src/spec/test/ScriptsAndClassesSpecTest.groovy     |    53 +
 src/spec/test/TraitsSpecificationTest.groovy       |     8 +-
 src/spec/test/builder/FileTreeBuilderTest.groovy   |    13 +-
 .../test/builder/ObjectGraphBuilderTest.groovy     |     2 +-
 src/spec/test/gdk/WorkingWithArraysTest.groovy     |    94 +
 .../test/testingguide/MockingExampleTests.groovy   |     2 +-
 .../typing/TypeCheckingExtensionSpecTest.groovy    |   342 +-
 src/spec/test/typing/TypeCheckingTest.groovy       |    46 +-
 src/tck/test/gls/ch03/s03/UnicodeEscapes2.groovy   |     2 +-
 .../org.codehaus.groovy.runtime.ExtensionModule    |     2 +-
 src/test-resources/bugs/GROOVY-8228.groovy         |    61 +-
 src/test-resources/core/MethodReference_01x.groovy |     8 +
 .../groovy/bugs/groovyA196/Main.groovy}            |    10 +-
 .../groovyA196/Service.groovy}                     |    10 +-
 .../groovy/bugs/groovyA196/ServiceType.groovy}     |     9 +-
 .../transform/stc/FinishTestExtension.groovy       |     2 +-
 .../stc/IncompatibleAssignmentTestExtension.groovy |     4 +-
 .../stc/IncompatibleReturnTypeTestExtension.groovy |     6 +-
 .../groovy/transform/stc/SetupTestExtension.groovy |     2 +-
 src/test/gls/annotations/AnnotationTest.groovy     |   208 +-
 .../classes/methods/RepetitiveMethodTest.groovy    |    10 +
 src/test/gls/enums/EnumTest.groovy                 |   225 +-
 src/test/gls/generics/GenericsBytecodeTest.groovy  |     8 +-
 src/test/gls/innerClass/InnerClassTest.groovy      |   114 +-
 .../invocation/ConstructorDelegationTest.groovy    |   214 +-
 src/test/gls/invocation/CovariantReturnTest.groovy |   508 +-
 src/test/gls/invocation/DefaultParamTest.groovy    |     2 +-
 src/test/gls/invocation/MethodSelectionTest.groovy |    13 -
 .../MultipleAssignmentDeclarationTest.groovy       |    55 +-
 .../gls/statements/MultipleAssignmentTest.groovy   |    13 +-
 .../gls/syntax/OldClosureSyntaxRemovalTest.groovy  |     4 +-
 src/test/gls/syntax/UnderscoreInNumbersTest.groovy |     2 +-
 .../groovy/AbstractClassAndInterfaceTest.groovy    |   149 +-
 src/test/groovy/BitSetTest.groovy                  |    18 +
 src/test/groovy/CastTest.groovy                    |     2 +-
 src/test/groovy/CategoryTest.groovy                |    26 +-
 src/test/groovy/ClosureCurryTest.groovy            |    48 +-
 src/test/groovy/ClosureJavaIntegrationTest.java    |     2 +-
 src/test/groovy/ClosureMethodCallTest.groovy       |    88 +-
 src/test/groovy/ClosureMethodTest.groovy           |     6 +-
 src/test/groovy/ClosureTest.groovy                 |   338 +-
 .../groovy/ClosureUsingOuterVariablesTest.groovy   |    22 +-
 src/test/groovy/GStringTest.groovy                 |     6 +-
 .../groovy/GroovyCharSequenceMethodsTest.groovy    |     9 +
 src/test/groovy/GroovyMethodsTest.groovy           |   211 +-
 src/test/groovy/HexTest.groovy                     |     2 +-
 src/test/groovy/IllegalAccessTests.groovy          |   247 +-
 src/test/groovy/ImportTest.groovy                  |   117 +-
 src/test/groovy/InterfaceTest.groovy               |    57 +
 src/test/groovy/ListTest.groovy                    |    18 +-
 src/test/groovy/ModuloTest.groovy                  |    29 +-
 src/test/groovy/OverrideTest.groovy                |    99 +-
 src/test/groovy/PropertyTest.groovy                |     4 +-
 src/test/groovy/SpreadArgTest.groovy               |   117 +
 src/test/groovy/SpreadDotTest.groovy               |    99 +-
 src/test/groovy/StaticImportTest.groovy            |   196 +-
 src/test/groovy/ThisAndSuperTest.groovy            |    93 +-
 src/test/groovy/UniqueOnCollectionTest.groovy      |    18 +
 src/test/groovy/VArgsTest.groovy                   |   446 +-
 src/test/groovy/VarargsMethodTest.groovy           |   150 +-
 src/test/groovy/beans/BindableTransformTest.groovy |   358 +-
 src/test/groovy/bugs/CustomMetaClassTest.groovy    |     6 +-
 src/test/groovy/bugs/DefVariableBug.groovy         |     2 +-
 .../bugs/DirectMethodCallWithVargsTest.groovy      |    33 +-
 src/test/groovy/bugs/G4410JavaStringProducer.java  |    27 -
 src/test/groovy/bugs/Groovy10034.groovy            |     2 +-
 .../bugs/{Groovy9770.groovy => Groovy10305.groovy} |    37 +-
 src/test/groovy/bugs/Groovy10461.groovy            |     2 +-
 src/test/groovy/bugs/Groovy10770.groovy            |   152 +
 .../bugs/{Groovy8816.groovy => Groovy10920.groovy} |    18 +-
 src/test/groovy/bugs/Groovy10962.groovy            |    79 +
 .../{ImportTest.groovy => bugs/Groovy10998.groovy} |    40 +-
 src/test/groovy/bugs/Groovy11046.groovy            |    50 +
 .../bugs/{Groovy9515.groovy => Groovy11062.groovy} |    38 +-
 .../{Groovy8059Bug.groovy => Groovy11126.groovy}   |    51 +-
 .../{Groovy7797Bug.groovy => Groovy11196.groovy}   |    30 +-
 ...rnaryOperatorTest.groovy => Groovy11203.groovy} |    16 +-
 src/test/groovy/bugs/Groovy11250.groovy            |   132 +
 .../bugs/{Groovy7987.groovy => Groovy11265.groovy} |    28 +-
 src/test/groovy/bugs/Groovy11272.groovy            |   135 +
 src/test/groovy/bugs/Groovy11292.groovy            |   100 +
 .../bugs/{Groovy9770.groovy => Groovy11293.groovy} |    36 +-
 .../bugs/{Groovy7987.groovy => Groovy11362.groovy} |    29 +-
 src/test/groovy/bugs/Groovy3749Bug.groovy          |    77 +-
 src/test/groovy/bugs/Groovy3873Bug.groovy          |     3 +-
 src/test/groovy/bugs/Groovy3904.groovy             |    30 +-
 src/test/groovy/bugs/Groovy4097.groovy             |    71 +
 .../{Groovy4243Bug.groovy => Groovy4243.groovy}    |    27 +-
 src/test/groovy/bugs/Groovy4410Bug.groovy          |    65 -
 src/test/groovy/bugs/Groovy4480Bug.groovy          |     4 +-
 src/test/groovy/bugs/Groovy6260.groovy             |    74 +
 .../{Groovy8339Bug.groovy => Groovy6567.groovy}    |    21 +-
 src/test/groovy/bugs/Groovy7165.groovy             |     4 +-
 .../{Groovy7204Bug.groovy => Groovy7204.groovy}    |   109 +-
 .../{Groovy7584Bug.groovy => Groovy7584.groovy}    |    41 +-
 src/test/groovy/bugs/Groovy7994Bug.groovy          |    71 -
 src/test/groovy/bugs/Groovy8026Bug.groovy          |     2 +-
 src/test/groovy/bugs/Groovy8060Bug.groovy          |     1 -
 .../bugs/{Groovy9103.groovy => Groovy8090.groovy}  |    56 +-
 src/test/groovy/bugs/Groovy8090Bug.groovy          |    69 -
 src/test/groovy/bugs/Groovy8127Bug.groovy          |    53 -
 src/test/groovy/bugs/Groovy8283.groovy             |    82 +-
 src/test/groovy/bugs/Groovy8444.groovy             |     8 +-
 src/test/groovy/bugs/Groovy8609Bug.groovy          |   171 +-
 src/test/groovy/bugs/Groovy8629Bug.groovy          |     5 +-
 src/test/groovy/bugs/Groovy8678.groovy             |    14 +-
 src/test/groovy/bugs/Groovy8764.groovy             |    10 +-
 src/test/groovy/bugs/Groovy9007.groovy             |    11 +-
 src/test/groovy/bugs/Groovy9244.groovy             |     5 +-
 src/test/groovy/bugs/Groovy9292.groovy             |   438 +-
 src/test/groovy/bugs/Groovy9293.groovy             |   320 +-
 .../{Groovy7797Bug.groovy => Groovy9367.groovy}    |    29 +-
 src/test/groovy/bugs/Groovy9413.groovy             |    34 +-
 src/test/groovy/bugs/MethodClosureTest.groovy      |   118 +-
 .../groovy/bugs/SynchronizedBytecodeBug.groovy     |     2 +-
 src/test/groovy/bugs/groovy9081/Groovy9081.groovy  |    95 -
 .../groovy9081/somepkg/ProtectedConstructor.java   |    25 -
 src/test/groovy/execute/ExecuteTest.groovy         |     7 +-
 .../generated/AutoExternalizeGeneratedTest.groovy  |    49 +-
 .../groovy/generated/CanonicalGeneratedTest.groovy |    79 +-
 .../groovy/generated/ClosureGeneratedTest.groovy   |    30 +-
 src/test/groovy/grape/GrapeClassLoaderTest.groovy  |   145 +-
 src/test/groovy/grape/GrapeIvyTest.groovy          |    72 +-
 src/test/groovy/inspect/InspectorTest.java         |   283 +-
 .../groovy/lang/BaseScriptCustomBodyMethod.java    |    35 -
 src/test/groovy/lang/ClassReloadingTest.groovy     |     4 +-
 .../DefaultInterfaceMethodsTest.groovy}            |    53 +-
 src/test/groovy/lang/DerivedScript.java            |    34 -
 src/test/groovy/lang/DummyGString.java             |     2 +-
 src/test/groovy/lang/ExpandoMetaClassTest.groovy   |     4 +-
 src/test/groovy/lang/GStringTest.java              |     4 +-
 src/test/groovy/lang/GroovyClassLoaderTest.groovy  |   231 +-
 src/test/groovy/lang/GroovyShellTest.java          |   173 +-
 src/test/groovy/lang/IntRangeTest.groovy           |    12 +
 src/test/groovy/lang/MetaClassRegistryTest.groovy  |     2 +-
 src/test/groovy/lang/NumberRangeTestCase.java      |    46 +-
 src/test/groovy/lang/ObjectRangeTest.java          |     4 +-
 src/test/groovy/lang/ScriptTest.java               |     5 +-
 src/test/groovy/lang/TupleFactoryMethodTest.groovy |   178 +
 .../mock/interceptor/StubCallSequenceTest.groovy   |     4 +-
 .../groovy/operator/BigDecimalOperatorsTest.groovy |    35 +-
 .../operator/BigIntegerOperationsTest.groovy       |    38 +
 ...tionTest.groovy => DoubleOperationsTest.groovy} |    86 +-
 .../groovy/operator/ImplicationOperatorTest.groovy |    90 +
 .../groovy/operator/IntegerOperatorsTest.groovy    |    16 +
 .../groovy/operator/TernaryOperatorsTest.groovy    |    43 +-
 src/test/groovy/script/RuntimeResolveTests.groovy  |     5 +
 .../transform/AnnotationCollectorLegacyTest.groovy |   302 +-
 .../transform/AnnotationCollectorTest.groovy       |   301 +-
 src/test/groovy/transform/ReadWriteLockTest.groovy |     2 +-
 .../groovy/transform/ThreadInterruptTest.groovy    |    70 +-
 .../groovy/transform/TimedInterruptTest.groovy     |    11 +-
 .../stc/AnonymousInnerClassSTCTest.groovy          |   136 +-
 .../stc/ArraysAndCollectionsSTCTest.groovy         |   321 +-
 src/test/groovy/transform/stc/BugsSTCTest.groovy   |   527 +-
 .../groovy/transform/stc/CategoriesSTCTest.groovy  |     7 +-
 .../stc/ClosureParamTypeInferenceSTCTest.groovy    |  2312 +-
 .../stc/ClosureParamTypeResolverSTCTest.groovy     |    43 -
 .../groovy/transform/stc/ClosuresSTCTest.groovy    |   597 +-
 .../groovy/transform/stc/CoercionSTCTest.groovy    |   450 +-
 .../transform/stc/ConstructorsSTCTest.groovy       |    77 +-
 .../stc/DefaultGroovyMethodsSTCTest.groovy         |   163 +-
 .../groovy/transform/stc/DelegatesToSTCTest.groovy |   508 +-
 .../stc/FieldsAndPropertiesSTCTest.groovy          |   497 +-
 .../groovy/transform/stc/GenericsSTCTest.groovy    |   747 +-
 src/test/groovy/transform/stc/Groovy8247Bug.groovy |    36 -
 src/test/groovy/transform/stc/LambdaTest.groovy    |   533 +-
 src/test/groovy/transform/stc/LoopsSTCTest.groovy  |    53 +-
 .../groovy/transform/stc/MethodCallsSTCTest.groovy |   667 +-
 .../transform/stc/MethodReferenceTest.groovy       |   952 +-
 src/test/groovy/transform/stc/MiscSTCTest.groovy   |    55 +-
 .../groovy/transform/stc/STCAssignmentTest.groovy  |   297 +-
 .../transform/stc/STCExtensionMethodsTest.groovy   |   186 +-
 .../transform/stc/STCnAryExpressionTest.groovy     |    65 +-
 .../transform/stc/TernaryOperatorSTCTest.groovy    |    61 +-
 .../stc/TypeCheckingExtensionsTest.groovy          |   193 +-
 .../transform/stc/TypeInferenceSTCTest.groovy      |   484 +-
 src/test/groovy/txn/TransactionBuilder.java        |     2 +-
 src/test/groovy/ui/GroovyMainTest.groovy           |    32 +-
 src/test/groovy/util/DelegatingScriptTest.groovy   |    57 +-
 .../groovy/util/FactoryBuilderSupportTest.groovy   |    16 +-
 src/test/groovy/util/FileTreeBuilderTest.groovy    |    85 +-
 src/test/groovy/util/GroovyCollectionsTest.groovy  |    42 +-
 src/test/groovy/util/GroovyScriptEngineTest.groovy |    22 +-
 src/test/groovy/util/ProxyTest.groovy              |    12 +-
 src/test/groovy/util/logging/CommonsTest.groovy    |     8 +-
 .../groovy/lang/GroovyObjectHelperTest.groovy      |    54 -
 .../antlr4/util/ASTComparatorCategory.groovy       |     9 +-
 .../groovy/parser/antlr4/util/AstDumper.groovy     |   291 +-
 .../org/apache/groovy/util/BeanUtilsTest.groovy    |    55 +-
 src/test/org/apache/groovy/util/MapsTest.groovy    |   546 +
 src/test/org/apache/groovy/util/MapsTest.java      |    49 -
 .../ManagedIdentityConcurrentMapTest.groovy        |    65 +-
 .../org/codehaus/groovy/ast/ClassNodeTest.java     |   100 +-
 .../org/codehaus/groovy/ast/LineColumnCheck.txt    |    14 +-
 .../org/codehaus/groovy/ast/MethodNodeTest.groovy  |    19 +-
 .../groovy/ast/decompiled/AsmDecompilerTest.groovy |   224 +-
 .../ast/decompiled/AsmDecompilerTestData.java      |    28 +-
 .../IncrementalRecompilationWithStubsTest.groovy   |    41 +-
 .../groovy/ast/stmt/ExpressionStatementTest.groovy |    20 +-
 ...StatementTest.groovy => IfStatementTest.groovy} |    33 +-
 .../groovy/ast/stmt/ThrowStatementTest.groovy      |    23 +-
 .../groovy/ast/tools/GenericsUtilsTest.groovy      |   211 +-
 .../groovy/ast/tools/WideningCategoriesTest.groovy |    71 +-
 .../benchmarks/vm5/b2394/ScriptLauncher.java       |     2 +-
 .../classgen/ClassCompletionVerifierTest.java      |   248 +-
 .../groovy/classgen/DumpingClassLoader.java        |     2 +-
 .../classgen/FinalVariableAnalyzerTest.groovy      |    16 +-
 .../groovy/classgen/GenericsGenTest.groovy         |     3 +-
 .../codehaus/groovy/classgen/InterfaceTest.groovy  |   111 +-
 .../org/codehaus/groovy/classgen/RecordTest.groovy |   593 +-
 .../codehaus/groovy/classgen/VerifierTest.groovy   |    72 -
 .../classgen/asm/AbstractBytecodeTestCase.groovy   |    20 +-
 .../ClosureWriterGeneratedAnnotationTest.groovy    |    59 +-
 .../groovy/classgen/asm/NestHostTests.groovy       |   108 +
 .../groovy/classgen/asm/TypeAnnotationsTest.groovy |   412 +-
 .../sc/AnonymousInnerClassStaticCompileTest.groovy |     7 +-
 .../ArraysAndCollectionsStaticCompileTest.groovy   |    18 +-
 .../classgen/asm/sc/BugsStaticCompileTest.groovy   |   710 +-
 ...osureParamTypeInferenceStaticCompileTest.groovy |     4 +-
 .../sc/FieldsAndPropertiesStaticCompileTest.groovy |    30 +-
 .../asm/sc/GenericsStaticCompileTest.groovy        |     6 +
 .../asm/sc/MixedModeStaticCompilationTest.groovy   |   409 +-
 .../sc/NaryExpressionTestStaticCompileTest.groovy  |    13 +
 .../classgen/asm/sc/StaticCompilationTest.groovy   |   100 +-
 .../asm/sc/StaticCompilationTestSupport.groovy     |     2 +
 ...ticCompileClosureGeneratedAnnotationTest.groovy |    37 +-
 ...ovy => TernaryOperatorStaticCompileTest.groovy} |     6 +-
 .../classgen/asm/sc/bugs/Groovy11359.groovy}       |    29 +-
 .../groovy/classgen/asm/sc/bugs/Groovy7242.groovy  |   182 -
 .../groovy/classgen/asm/sc/bugs/Groovy7300.groovy  |     9 +-
 .../classgen/asm/sc/bugs/Groovy7322Bug.groovy      |    64 -
 .../classgen/asm/sc/bugs/Groovy7325Bug.groovy      |    41 +-
 .../sc/vm6/MethodCallsStaticCompilationTest.groovy |    25 -
 .../groovy/control/CompilationUnitTest.java        |    44 -
 .../groovy/control/CompilerConfigurationTest.java  |    24 +-
 .../customizers/ImportCustomizerTest.groovy        |    10 +-
 .../customizers/SecureASTCustomizerTest.groovy     |   140 +-
 .../groovy/reflection/CachedMethodTest.groovy      |    21 +-
 .../codehaus/groovy/reflection/SecurityTest.java   |     2 -
 .../reflection/utils/ReflectionUtilsTest.groovy    |     4 +-
 .../groovy/runtime/AppendableDgmMethodsTest.groovy |     4 +-
 .../runtime/ArrayGroovyMethodsSTCTest.groovy       |   322 +
 .../groovy/runtime/ArrayGroovyMethodsTest.groovy   |   105 +
 .../runtime/CustomBooleanCoercionTest.groovy       |     6 +-
 .../groovy/runtime/DefaultGroovyMethodsTest.groovy |    22 +-
 .../runtime/DefaultGroovyStaticMethodsTest.groovy  |     4 +
 ...onversionMapTest.java => FormatHelperTest.java} |    41 +-
 .../groovy/runtime/InterfaceConversionMapTest.java |    16 +-
 .../codehaus/groovy/runtime/InvokeMethodTest.java  |    26 +-
 .../groovy/runtime/JdkDynamicProxyTest.java        |     8 +-
 .../groovy/runtime/MetaClassHelperTest.java        |    13 +-
 .../groovy/runtime/MethodRankHelperTest.java       |     4 +-
 .../codehaus/groovy/runtime/NullObjectTest.groovy  |   291 +-
 .../runtime/ResourceGroovyMethodsTest.groovy       |    50 +-
 .../groovy/runtime/StringGroovyMethodsTest.java    |   214 +-
 .../m12n/ExtensionModuleHelperForTests.groovy      |     8 +-
 .../groovy/runtime/memoize/CommonCacheTest.java    |     4 +-
 .../runtime/memoize/ConcurrentCommonCacheTest.java |     2 +-
 .../runtime/memoize/StampedCommonCacheTest.java    |     2 +-
 .../runtime/methoddispatching/vm8/FooThree.java    |     2 +-
 .../runtime/methoddispatching/vm8/FooTwo.java      |     2 +-
 .../StaticMethodOverloadCompileStaticTest.groovy   |    19 +-
 ...otationMemberValuesResolutionV1StubsTest.groovy |    16 +-
 ...otationMemberValuesResolutionV2StubsTest.groovy |    14 +-
 ...otationMemberValuesResolutionV3StubsTest.groovy |    14 +-
 ...otationMemberValuesResolutionV4StubsTest.groovy |    12 +-
 ...toImplementWithJointCompilationStubTest.groovy} |    32 +-
 .../CircularLanguageReferenceTest.groovy           |     8 +-
 ...alueReturnTypeShouldUseGenericsStubsTest.groovy |     7 +-
 .../groovy/tools/stubgenerator/Groovy10571.groovy  |     7 -
 .../groovy/tools/stubgenerator/Groovy10607.groovy  |     4 +-
 .../{Groovy10607.groovy => Groovy10797.groovy}     |    25 +-
 .../{Groovy10607.groovy => Groovy10902.groovy}     |    31 +-
 .../{Groovy10607.groovy => Groovy10928.groovy}     |    33 +-
 .../{Groovy10607.groovy => Groovy11019.groovy}     |    32 +-
 .../{Groovy10607.groovy => Groovy11088.groovy}     |    23 +-
 .../{Groovy10607.groovy => Groovy11088pt2.groovy}  |    26 +-
 .../{Groovy10607.groovy => Groovy11088pt3.groovy}  |    24 +-
 .../{Groovy10607.groovy => Groovy11088pt4.groovy}  |    24 +-
 .../{Groovy10607.groovy => Groovy11088pt5.groovy}  |    28 +-
 .../{Groovy10607.groovy => Groovy11226.groovy}     |    32 +-
 .../groovy/tools/stubgenerator/Groovy7306.groovy   |     2 +-
 .../groovy/tools/stubgenerator/Groovy7366.groovy   |    16 +-
 .../tools/stubgenerator/Groovy7366pt2.groovy       |    14 +-
 .../groovy/tools/stubgenerator/Groovy7966.groovy   |     2 +-
 .../{Groovy10607.groovy => Groovy8184.groovy}      |    32 +-
 .../groovy/tools/stubgenerator/Groovy9462.groovy   |     2 +-
 .../stubgenerator/InnerAnnotationStubTest.groovy   |    30 +-
 ...y => InterfaceWithDefaultMethodStubTest.groovy} |    27 +-
 ...=> InterfaceWithPrimitiveFieldsStubTest.groovy} |    29 +-
 .../groovy/tools/stubgenerator/QDoxCategory.groovy |    18 +-
 .../groovy/tools/stubgenerator/StubTestCase.groovy |    41 +-
 .../TraitAbstractGetterStubTest.groovy             |    43 +-
 .../stubgenerator/TraitPropertiesStubTest.groovy   |     7 +-
 ...stForGenericReturnValueOfMethodStubsTest.groovy |    57 +-
 .../groovy/transform/BuilderTransformTest.groovy   |    24 +
 .../CanonicalComponentsTransformTest.groovy        |    48 +-
 .../groovy/transform/DelegateTransformTest.groovy  |    11 +-
 .../transform/GeneratedAnnotationTest.groovy       |   217 +-
 .../groovy/transform/ImmutableTransformTest.groovy |   554 +-
 .../InheritConstructorsTransformTest.groovy        |     2 +-
 .../transform/NamedVariantTransformTest.groovy     |   140 +-
 .../transform/OperatorRenameTransformTest.groovy   |    82 +
 .../transform/TupleConstructorTransformTest.groovy |   458 +-
 .../packageScope/DifferentPackageTest.groovy       |   304 +-
 .../groovy/transform/traitx/Groovy7213Bug.groovy   |    40 -
 .../groovy/transform/traitx/Groovy7214Bug.groovy   |    42 -
 .../groovy/transform/traitx/Groovy7255Bug.groovy   |    40 -
 .../traitx/TraitASTTransformationTest.groovy       |  1539 +-
 .../traitx/TraitWithClosureOrLambda.groovy         |   413 +
 .../codehaus/groovy/util/ListHashMapTest.groovy    |   261 +-
 .../groovy/gls/CompilableTestSupport.groovy        |    27 +-
 .../org/codehaus/groovy/classgen/TestSupport.java  |     8 +-
 subprojects/binary-compatibility/build.gradle      |    16 +-
 subprojects/groovy-all/build.gradle                |     4 +-
 subprojects/groovy-ant/build.gradle                |     6 +-
 .../src/main/java/groovy/ant/AntBuilder.java       |     8 +-
 .../main/java/org/codehaus/groovy/ant/Groovy.java  |     2 +-
 .../main/java/org/codehaus/groovy/ant/Groovyc.java |    21 +-
 .../org/codehaus/groovy/ant/RootLoaderRef.java     |     2 +-
 .../org/codehaus/groovy/ant/UberCompileTask.java   |     4 +-
 .../java/org/codehaus/groovy/ant/VerifyClass.java  |     2 +-
 subprojects/groovy-astbuilder/build.gradle         |     2 +-
 .../builder/AstBuilderFromSpecificationTest.groovy |     2 +-
 subprojects/groovy-binary/build.gradle             |    14 +-
 subprojects/groovy-binary/src/spec/doc/index.adoc  |     8 +-
 subprojects/groovy-cli-commons/build.gradle        |     4 +-
 .../groovy/groovy/cli/commons/CliBuilder.groovy    |     6 +-
 .../groovy/cli/commons/CliBuilderTest.groovy       |    10 +-
 subprojects/groovy-cli-picocli/build.gradle        |     4 +-
 .../groovy/groovy/cli/picocli/CliBuilder.groovy    |     2 +-
 subprojects/groovy-console/NOTICE                  |     2 +-
 subprojects/groovy-console/build.gradle            |     8 +-
 .../groovy/groovy/console/ui/AstBrowser.groovy     |     1 +
 .../console/ui/AstNodeToScriptAdapter.groovy       |   196 +-
 .../console/ui/ButtonOrDefaultRenderer.groovy      |     2 +
 .../groovy/console/ui/ButtonOrTextEditor.groovy    |     2 +
 .../console/ui/CellValueToolTipJTable.groovy       |     4 +-
 .../main/groovy/groovy/console/ui/Console.groovy   |    24 +-
 .../groovy/groovy/console/ui/ConsoleActions.groovy |     4 +-
 .../groovy/console/ui/ConsoleTextEditor.java       |     1 +
 .../groovy/console/ui/text/AutoIndentAction.groovy |    14 +-
 .../ui/text/StructuredSyntaxDocumentFilter.java    |     2 +-
 .../groovy/groovy/console/ui/text/TextEditor.java  |     3 +-
 .../src/spec/doc/groovy-console.adoc               |     4 +-
 .../console/ui/AstNodeToScriptAdapterTest.groovy   |   498 +-
 .../console/ui/ScriptToTreeNodeAdapterTest.groovy  |     2 +-
 subprojects/groovy-contracts/build.gradle          |     4 +-
 .../apache/groovy/contracts/ViolationTracker.java  |     2 +-
 .../contracts/ast/visitor/ASTNodeMetaData.java     |     2 +-
 .../ast/visitor/AnnotationClosureVisitor.java      |   117 +-
 .../AnnotationContractParameterVisitor.java        |     5 +-
 .../ast/visitor/AnnotationProcessorVisitor.java    |   154 +-
 .../groovy/contracts/ast/visitor/BaseVisitor.java  |    51 +-
 .../classgen/asm/ContractClosureWriter.java        |    49 +-
 .../groovy/contracts/common/spi/Lifecycle.java     |     4 +-
 .../groovy/contracts/generation/BaseGenerator.java |    95 +-
 .../generation/ClassInvariantGenerator.java        |    32 +-
 .../groovy/contracts/util/AnnotationUtils.java     |    30 +-
 .../util/LifecycleImplementationLoader.java        |     3 +-
 .../main/resources/dsld/contract_transform.dsld    |    86 +
 .../src/main/resources/dsld/org.gcontracts.dsld    |    53 -
 .../src/spec/doc/contracts-userguide.adoc          |    35 +-
 .../src/spec/test/ContractsTest.groovy             |    30 +-
 .../contracts/spock/SpockIntegrationTests.groovy   |    23 +-
 .../post/OldVariablePostconditionTests.groovy      |    73 +-
 .../contracts/util/AnnotationUtilsTests.groovy     |    66 +-
 subprojects/groovy-datetime/build.gradle           |     7 +-
 .../datetime/extensions/DateTimeExtensions.java    |    50 +-
 .../groovy/DateTimeJavadocAssertionTest.groovy     |    22 +-
 subprojects/groovy-dateutil/build.gradle           |     2 +-
 .../dateutil/extensions/DateUtilExtensions.java    |    46 +-
 .../extensions/DateUtilExtensionsTest.java         |    12 +
 subprojects/groovy-docgenerator/build.gradle       |     4 +-
 .../apache/groovy/docgenerator/DocGenerator.groovy |   131 +-
 subprojects/groovy-ginq/build.gradle               |     8 +-
 .../apache/groovy/ginq/dsl/GinqAstOptimizer.groovy |    13 +-
 .../dsl/expression/AbstractGinqExpression.java     |     2 +-
 .../groovy/ginq/dsl/expression/JoinExpression.java |     3 +-
 .../ginq/provider/collection/GinqAstWalker.groovy  |   276 +-
 .../provider/collection/runtime/NamedTuple.groovy  |    21 +-
 .../provider/collection/runtime/Queryable.java     |    13 +-
 .../collection/runtime/QueryableCollection.java    |     8 +
 .../collection/runtime/QueryableHelper.groovy      |    31 +-
 .../groovy-ginq/src/spec/doc/ginq-userguide.adoc   |    17 +-
 .../test/org/apache/groovy/ginq/GinqTest.groovy    |   157 +-
 subprojects/groovy-groovydoc/build.gradle          |     8 +-
 .../org/apache/groovy/antlr/GroovydocVisitor.java  |    15 +-
 .../org/codehaus/groovy/groovydoc/GroovyType.java  |     6 +-
 .../groovy/tools/groovydoc/SimpleGroovyDoc.java    |     4 +-
 .../tools/groovydoc/antlr4/GroovyDocParser.java    |     2 +-
 .../gstringTemplates/classLevel/classDocName.html  |    87 +-
 .../groovy/tools/groovydoc/GroovyDocToolTest.java  |    74 +-
 .../groovydoc/testfiles/DeprecatedClass.groovy     |     2 +
 .../groovydoc/testfiles/DeprecatedField.groovy     |     6 +-
 .../{DeprecatedClass.groovy => props/Child.groovy} |     9 +-
 .../GrandParent.groovy}                            |     9 +-
 .../tools/groovydoc/testfiles/props/Parent.groovy  |     8 +-
 subprojects/groovy-groovysh/build.gradle           |     8 +-
 .../org/apache/groovy/groovysh/Groovysh.groovy     |   206 +-
 .../groovy/groovysh/InteractiveShellRunner.groovy  |    93 +-
 .../org/apache/groovy/groovysh/Interpreter.groovy  |    73 +-
 .../groovy/org/apache/groovy/groovysh/Main.groovy  |    17 +-
 .../groovy/groovysh/commands/DocCommand.groovy     |    97 +-
 .../groovy/groovysh/commands/HistoryCommand.groovy |     9 +-
 .../groovy/groovysh/commands/ImportCommand.groovy  |    51 +-
 .../groovysh/util/DefaultCommandsRegistrar.groovy  |    54 +-
 .../groovysh/util/SecurityManagerUtil.groovy       |    11 +-
 .../groovy/groovysh/commands/DocCommand.properties |     2 +-
 .../groovy-groovysh/src/spec/doc/groovysh.adoc     |    67 +-
 .../groovy/groovysh/CompleterTestSupport.groovy    |    37 +-
 .../apache/groovy/groovysh/ErrorDisplayTest.groovy |    48 +-
 .../groovy/groovysh/ImportCompleterTest.groovy     |     5 +-
 .../apache/groovy/groovysh/ShellRunnerTest.groovy  |    94 +-
 .../groovy/groovysh/ShellRunnerTestSupport.groovy  |    34 +-
 .../groovy/groovysh/commands/DocCommandTest.groovy |    25 +-
 .../completion/GroovySyntaxCompleterTest.groovy    |   351 +-
 .../completion/ImportsSyntaxCompleterTest.groovy   |     2 +-
 subprojects/groovy-jmx/build.gradle                |     4 +-
 .../groovy/jmx/builder/JmxMetaMapBuilder.groovy    |     2 +-
 .../src/main/java/groovy/jmx/GroovyMBean.java      |     4 +-
 subprojects/groovy-jmx/src/spec/doc/jmx.adoc       |    16 +-
 subprojects/groovy-json/build.gradle               |    10 +-
 .../src/main/java/groovy/json/JsonBuilder.java     |     4 +-
 .../src/main/java/groovy/json/JsonGenerator.java   |     2 +-
 .../src/main/java/groovy/json/JsonLexer.java       |     5 +-
 .../src/main/java/groovy/json/JsonOutput.java      |    26 +-
 .../src/main/java/groovy/json/JsonParserType.java  |     2 +-
 .../src/main/java/groovy/json/JsonToken.java       |     4 +-
 .../java/groovy/json/StreamingJsonBuilder.java     |     2 +-
 .../org/apache/groovy/json/internal/CharBuf.java   |     2 +-
 .../org/apache/groovy/json/internal/Dates.java     |     9 +-
 .../groovy/json/internal/JsonParserCharArray.java  |    16 +-
 .../apache/groovy/json/internal/LazyValueMap.java  |     2 +-
 .../groovy-json/src/spec/doc/json-userguide.adoc   |     2 +-
 .../test/groovy/groovy/json/JsonBuilderTest.groovy |     4 +-
 .../test/groovy/groovy/json/JsonLexerTest.groovy   |     8 +-
 .../test/groovy/groovy/json/JsonOutputTest.groovy  |    39 +
 .../test/groovy/groovy/json/JsonSlurperTest.groovy |    19 +
 .../groovy/json/StreamingJsonBuilderTest.groovy    |     4 +-
 subprojects/groovy-jsr223/build.gradle             |     2 +-
 .../groovy/jsr223/GroovyScriptEngineFactory.java   |     2 +-
 .../src/spec/doc/_integrating-jsr223.adoc          |     2 +-
 subprojects/groovy-macro-library/build.gradle      |     4 +-
 .../org/apache/groovy/macrolib/MacroLibTest.groovy |   108 +-
 subprojects/groovy-macro/build.gradle              |     2 +-
 .../groovy/macro/matcher/ASTMatcher.groovy         |    11 +-
 .../macro/matcher/MatchingConstraints.groovy       |     1 +
 .../internal/MatchingConstraintsBuilder.groovy     |     7 +
 .../transform/MacroCallTransformingVisitor.java    |     2 +-
 .../macro/transform/MacroClassTransformation.java  |    14 +-
 .../org/codehaus/groovy/macro/MacroTest.groovy     |     2 +-
 .../groovy/macro/matcher/ASTMatcherTest.groovy     |   194 +-
 subprojects/groovy-nio/build.gradle                |     4 +-
 .../groovy/nio/extensions/NioExtensions.java       |    81 +-
 .../groovy/nio/extensions/NioExtensionsTest.groovy |   194 +-
 subprojects/groovy-servlet/build.gradle            |     9 +-
 .../java/groovy/servlet/AbstractHttpServlet.java   |     4 +-
 .../main/java/groovy/servlet/GroovyServlet.java    |     2 +-
 .../main/java/groovy/servlet/ServletBinding.java   |     2 +-
 .../src/spec/doc/servlet-userguide.adoc            |     4 +-
 .../groovy/servlet/ServletBindingTest.groovy       |     4 +-
 .../java/groovy/servlet/GroovyServletTest.java     |    35 -
 subprojects/groovy-sql/build.gradle                |     6 +-
 .../java/groovy/sql/BatchingStatementWrapper.java  |     4 +-
 .../src/main/java/groovy/sql/DataSet.java          |     3 +-
 .../java/groovy/sql/GroovyResultSetExtension.java  |     2 +-
 .../groovy-sql/src/main/java/groovy/sql/Sql.java   |   285 +-
 .../groovy-sql/src/spec/test/SqlTest.groovy        |     6 +-
 .../test/groovy/groovy/sql/SqlCompleteTest.groovy  |    13 +
 subprojects/groovy-swing/build.gradle              |     4 +-
 .../groovy/swing/impl/ClosureCellEditor.groovy     |     2 +
 .../main/java/groovy/swing/table/TableSorter.java  |     2 +-
 .../groovy/swing/extensions/SwingExtensions.java   |    11 +-
 .../groovy-swing/src/spec/doc/_swing-builder.adoc  |     6 +-
 .../groovy/swing/beans/BindableSwingTest.groovy    |    42 +-
 .../groovy/swing/beans/VetoableSwingTest.groovy    |    31 +-
 subprojects/groovy-templates/build.gradle          |     4 +-
 .../groovy/text/StreamingTemplateEngine.java       |    12 +-
 .../groovy/groovy/text/markup/BaseTemplate.java    |     8 +-
 .../groovy/text/markup/MarkupTemplateEngine.java   |    46 +-
 .../MarkupTemplateTypeCheckingExtension.groovy     |    27 +-
 .../groovy/groovy/text/markup/TagLibAdapter.groovy |    16 +-
 .../groovy/text/markup/TemplateASTTransformer.java |     1 +
 .../groovy/text/markup/TemplateResolver.java       |     2 +-
 .../groovy/text/MarkupTemplateEngineTest.groovy    |   248 +-
 .../StreamingTemplateEngineSpecification.groovy    |     5 +-
 .../groovy/text/StreamingTemplateEngineTest.groovy |   990 +-
 subprojects/groovy-test-junit5/build.gradle        |     5 +-
 .../junit5/plugin/GroovyJUnitRunnerHelper.groovy   |     1 +
 .../src/test/groovy/JQwikTest.groovy               |    48 +-
 subprojects/groovy-test/build.gradle               |     2 +-
 .../groovy/groovy/mock/interceptor/package.html    |     4 +-
 .../src/main/java/groovy/test/GroovyAssert.java    |   346 +-
 .../NotYetImplementedASTTransformation.java        |    36 +-
 .../groovy/groovy/test/GroovyAssertTest.groovy     |    48 +-
 .../groovy/groovy/test/GroovyTestCaseTest.groovy   |    11 +-
 subprojects/groovy-testng/build.gradle             |     7 +-
 subprojects/groovy-toml/build.gradle               |     6 +-
 subprojects/groovy-typecheckers/build.gradle       |     7 +-
 .../groovy/groovy/typecheckers/FormatMethod.groovy |    31 +-
 .../groovy/typecheckers/FormatStringChecker.groovy |   285 +
 .../groovy/groovy/typecheckers/RegexChecker.groovy |    12 +-
 .../groovy/typecheckers/CheckingVisitor.groovy     |    11 +-
 .../src/spec/doc/typecheckers.adoc                 |   370 +
 .../src/spec/test/FormatStringCheckerTest.groovy   |   162 +
 .../src/spec/test/RegexCheckerTest.groovy          |   142 +
 .../typecheckers/FormatStringCheckerTest.groovy    |   328 +
 .../groovy/typecheckers/RegexCheckerTest.groovy    |     2 +-
 subprojects/groovy-xml/build.gradle                |     4 +-
 .../src/main/groovy/groovy/xml/Entity.groovy       |   268 +-
 .../src/main/groovy/groovy/xml/StaxBuilder.groovy  |     6 +-
 .../groovy/groovy/xml/StreamingDOMBuilder.groovy   |    27 +-
 .../groovy/xml/StreamingMarkupBuilder.groovy       |    72 +-
 .../groovy/groovy/xml/StreamingSAXBuilder.groovy   |    17 +-
 .../main/groovy/groovy/xml/XmlParserFactory.groovy |     2 +-
 .../groovy/groovy/xml/XmlSlurperFactory.groovy     |     2 +-
 .../AbstractStreamingBuilder.groovy                |    10 +-
 .../src/main/java/groovy/xml/XmlParser.java        |     4 +-
 .../src/main/java/groovy/xml/XmlUtil.java          |    20 +-
 .../java/groovy/xml/slurpersupport/Attribute.java  |     2 +-
 .../groovy/xml/slurpersupport/GPathResult.java     |     4 +-
 .../groovy-xml/src/spec/doc/xml-userguide.adoc     |    30 +-
 .../src/test/groovy/groovy/xml/XmlUtilTest.groovy  |     4 +-
 subprojects/groovy-yaml/build.gradle               |     6 +-
 subprojects/performance/build.gradle               |    10 +-
 subprojects/performance/src/files/pleac01.groovy   |   597 +
 subprojects/performance/src/files/pleac02.groovy   |   364 +
 subprojects/performance/src/files/pleac03.groovy   |   373 +
 subprojects/performance/src/files/pleac04.groovy   |   448 +
 .../performance/src/files/pleac05_06.groovy        |  1808 ++
 .../performance/src/files/pleac07_10.groovy        |  2318 ++
 .../performance/src/files/pleac11_15.groovy        |  3006 +++
 .../performance/src/files/pleac16_20.groovy        |  2276 ++
 .../groovy/perf/CompilerPerformanceTest.java       |    26 +-
 subprojects/stress/README.adoc                     |     2 +-
 subprojects/stress/build.gradle                    |     2 +-
 .../reflection/ClassInfoDeadlockStressTest.java    |     2 +-
 .../util/ManagedConcurrentMapStressTest.java       |     2 +-
 .../util/ManagedConcurrentValueMapStressTest.java  |     2 +-
 subprojects/tests-preview/build.gradle             |     2 +-
 versions.properties                                |    57 +-
 1115 files changed, 75920 insertions(+), 44938 deletions(-)
 copy .github/workflows/gradle-wrapper-validation.yml => .editorconfig (72%)
 create mode 100644 .gitattributes
 create mode 100644 .github/workflows/codeql-analysis.yml
 rename .github/workflows/{groovy-build-test-ea.yml => groovy-build-coverage.yml} (51%)
 copy .github/workflows/{groovy-build-test.yml => groovy-rat-check.yml} (72%)
 rename {buildSrc => build-logic}/build.gradle (73%)
 rename {buildSrc => build-logic}/src/main/groovy/Services.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-aggregating-project.gradle (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-all.gradle (79%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-artifactory.gradle (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-asciidoctor.gradle (80%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-bad-practices-detection.gradle (98%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-base.gradle (87%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-common.gradle (89%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-core.gradle (95%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-distribution.gradle (94%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-doc-aggregator.gradle (92%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-documented.gradle (91%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-internal.gradle (96%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-jacoco-aggregation.gradle (96%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-library.gradle (93%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-performance.gradle (80%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-platform.gradle (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-publish-validation.gradle (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-published-library.gradle (99%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-stresstest.gradle (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org.apache.groovy-tested.gradle (75%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/CheckstyleHtmlReport.groovy (94%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/ConcurrentExecutionControlBuildService.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/CoreExtension.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/DgmConverter.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/DistributionExtension.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/DocAggregationExtension.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/DocGDK.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/GroovyLibraryExtension.groovy (92%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/JarJarTask.groovy (96%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/PerformanceTestSummary.groovy (100%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/PerformanceTestsExtension.groovy (54%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/ReleaseInfoGenerator.groovy (99%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/SharedConfiguration.groovy (85%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/Versions.groovy (97%)
 rename {buildSrc => build-logic}/src/main/groovy/org/apache/groovy/gradle/WriteExtensionDescriptorTask.groovy (100%)
 copy .github/workflows/gradle-wrapper-validation.yml => codecov.yml (67%)
 create mode 100644 src/main/java/groovy/lang/MetaMember.java
 create mode 100644 src/main/java/groovy/transform/OperatorRename.java
 copy subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DeprecatedField.groovy => src/main/java/groovy/util/function/DoubleComparator.java (65%)
 copy subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DeprecatedField.groovy => src/main/java/groovy/util/function/IntComparator.java (66%)
 copy subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/DeprecatedField.groovy => src/main/java/groovy/util/function/LongComparator.java (65%)
 create mode 100644 src/main/java/groovy/util/function/package.html
 delete mode 100644 src/main/java/org/apache/groovy/lang/GroovyObjectHelper.java
 create mode 100644 src/main/java/org/codehaus/groovy/control/PlaceholderVisitor.java
 delete mode 100644 src/main/java/org/codehaus/groovy/reflection/SunClassLoader.java
 create mode 100644 src/main/java/org/codehaus/groovy/runtime/ArrayGroovyMethods.java
 delete mode 100644 src/main/java/org/codehaus/groovy/runtime/callsite/GroovySunClassLoader.java
 delete mode 100644 src/main/java/org/codehaus/groovy/runtime/metaclass/MethodHelper.java
 create mode 100644 src/main/java/org/codehaus/groovy/transform/OperatorRenameASTTransformation.java
 delete mode 100644 src/main/java/org/codehaus/groovy/transform/stc/PropertyLookupVisitor.java
 copy src/main/java/org/codehaus/groovy/util/{CharArrayIterator.java => DoubleDoubleArrayColumnIterator.java} (56%)
 copy src/main/java/org/codehaus/groovy/util/{CharArrayIterator.java => FloatFloatArrayColumnIterator.java} (56%)
 copy src/main/java/org/codehaus/groovy/util/{DoubleArrayIterator.java => IntIntArrayColumnIterator.java} (57%)
 copy src/main/java/org/codehaus/groovy/util/{DoubleArrayIterator.java => LongLongArrayColumnIterator.java} (56%)
 create mode 100644 src/spec/doc/_working-with-arrays.adoc
 copy src/{test-resources/groovy/transform/stc/IncompatibleReturnTypeTestExtension.groovy => spec/test-resources/incompatiblereturntype.groovy} (89%)
 create mode 100644 src/spec/test/gdk/WorkingWithArraysTest.groovy
 copy src/{test/groovy/bugs/G4410Producer2.java => test-resources/groovy/bugs/groovyA196/Main.groovy} (88%)
 copy src/test-resources/groovy/{transform/stc/IncompatibleReturnTypeTestExtension.groovy => bugs/groovyA196/Service.groovy} (86%)
 rename src/{test/groovy/bugs/G4410Producer1.java => test-resources/groovy/bugs/groovyA196/ServiceType.groovy} (87%)
 create mode 100644 src/test/groovy/SpreadArgTest.groovy
 delete mode 100644 src/test/groovy/bugs/G4410JavaStringProducer.java
 copy src/test/groovy/bugs/{Groovy9770.groovy => Groovy10305.groovy} (62%)
 create mode 100644 src/test/groovy/bugs/Groovy10770.groovy
 rename src/test/groovy/bugs/{Groovy8816.groovy => Groovy10920.groovy} (72%)
 create mode 100644 src/test/groovy/bugs/Groovy10962.groovy
 copy src/test/groovy/{ImportTest.groovy => bugs/Groovy10998.groovy} (57%)
 create mode 100644 src/test/groovy/bugs/Groovy11046.groovy
 rename src/test/groovy/bugs/{Groovy9515.groovy => Groovy11062.groovy} (56%)
 rename src/test/groovy/bugs/{Groovy8059Bug.groovy => Groovy11126.groovy} (56%)
 copy src/test/groovy/bugs/{Groovy7797Bug.groovy => Groovy11196.groovy} (69%)
 rename src/test/groovy/bugs/{TernaryOperatorTest.groovy => Groovy11203.groovy} (74%)
 create mode 100644 src/test/groovy/bugs/Groovy11250.groovy
 copy src/test/groovy/bugs/{Groovy7987.groovy => Groovy11265.groovy} (60%)
 create mode 100644 src/test/groovy/bugs/Groovy11272.groovy
 create mode 100644 src/test/groovy/bugs/Groovy11292.groovy
 rename src/test/groovy/bugs/{Groovy9770.groovy => Groovy11293.groovy} (59%)
 rename src/test/groovy/bugs/{Groovy7987.groovy => Groovy11362.groovy} (66%)
 create mode 100644 src/test/groovy/bugs/Groovy4097.groovy
 rename src/test/groovy/bugs/{Groovy4243Bug.groovy => Groovy4243.groovy} (76%)
 delete mode 100644 src/test/groovy/bugs/Groovy4410Bug.groovy
 create mode 100644 src/test/groovy/bugs/Groovy6260.groovy
 rename src/test/groovy/bugs/{Groovy8339Bug.groovy => Groovy6567.groovy} (70%)
 rename src/test/groovy/bugs/{Groovy7204Bug.groovy => Groovy7204.groovy} (88%)
 rename src/test/groovy/bugs/{Groovy7584Bug.groovy => Groovy7584.groovy} (63%)
 delete mode 100644 src/test/groovy/bugs/Groovy7994Bug.groovy
 copy src/test/groovy/bugs/{Groovy9103.groovy => Groovy8090.groovy} (51%)
 delete mode 100644 src/test/groovy/bugs/Groovy8090Bug.groovy
 delete mode 100644 src/test/groovy/bugs/Groovy8127Bug.groovy
 rename src/test/groovy/bugs/{Groovy7797Bug.groovy => Groovy9367.groovy} (69%)
 delete mode 100644 src/test/groovy/bugs/groovy9081/Groovy9081.groovy
 delete mode 100644 src/test/groovy/bugs/groovy9081/somepkg/ProtectedConstructor.java
 delete mode 100644 src/test/groovy/lang/BaseScriptCustomBodyMethod.java
 rename src/test/groovy/{bugs/Groovy9103.groovy => lang/DefaultInterfaceMethodsTest.groovy} (56%)
 delete mode 100644 src/test/groovy/lang/DerivedScript.java
 create mode 100644 src/test/groovy/lang/TupleFactoryMethodTest.groovy
 rename src/test/groovy/operator/{DoubleOperationTest.groovy => DoubleOperationsTest.groovy} (58%)
 create mode 100644 src/test/groovy/operator/ImplicationOperatorTest.groovy
 delete mode 100644 src/test/groovy/transform/stc/ClosureParamTypeResolverSTCTest.groovy
 delete mode 100644 src/test/groovy/transform/stc/Groovy8247Bug.groovy
 delete mode 100644 src/test/org/apache/groovy/lang/GroovyObjectHelperTest.groovy
 create mode 100644 src/test/org/apache/groovy/util/MapsTest.groovy
 delete mode 100644 src/test/org/apache/groovy/util/MapsTest.java
 copy src/test/org/codehaus/groovy/ast/stmt/{ThrowStatementTest.groovy => IfStatementTest.groovy} (56%)
 delete mode 100644 src/test/org/codehaus/groovy/classgen/VerifierTest.groovy
 create mode 100644 src/test/org/codehaus/groovy/classgen/asm/NestHostTests.groovy
 copy src/test/org/codehaus/groovy/classgen/asm/sc/{GenericsStaticCompileTest.groovy => TernaryOperatorStaticCompileTest.groovy} (79%)
 rename src/test/{groovy/transform/stc/vm6/MethodCallsSTCTest.groovy => org/codehaus/groovy/classgen/asm/sc/bugs/Groovy11359.groovy} (51%)
 delete mode 100644 src/test/org/codehaus/groovy/classgen/asm/sc/bugs/Groovy7242.groovy
 delete mode 100644 src/test/org/codehaus/groovy/classgen/asm/sc/bugs/Groovy7322Bug.groovy
 delete mode 100644 src/test/org/codehaus/groovy/classgen/asm/sc/vm6/MethodCallsStaticCompilationTest.groovy
 delete mode 100644 src/test/org/codehaus/groovy/control/CompilationUnitTest.java
 create mode 100644 src/test/org/codehaus/groovy/runtime/ArrayGroovyMethodsSTCTest.groovy
 create mode 100644 src/test/org/codehaus/groovy/runtime/ArrayGroovyMethodsTest.groovy
 copy src/test/org/codehaus/groovy/runtime/{InterfaceConversionMapTest.java => FormatHelperTest.java} (51%)
 rename src/test/org/codehaus/groovy/tools/stubgenerator/{AutoImplementWithJointCompilation.groovy => AutoImplementWithJointCompilationStubTest.groovy} (64%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy10797.groovy} (71%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy10902.groovy} (64%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy10928.groovy} (57%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11019.groovy} (61%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11088.groovy} (71%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11088pt2.groovy} (69%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11088pt3.groovy} (72%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11088pt4.groovy} (71%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11088pt5.groovy} (67%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy11226.groovy} (64%)
 copy src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10607.groovy => Groovy8184.groovy} (63%)
 rename src/test/org/codehaus/groovy/tools/stubgenerator/{Groovy10290.groovy => InterfaceWithDefaultMethodStubTest.groovy} (59%)
 rename src/test/org/codehaus/groovy/tools/stubgenerator/{InterfaceWithPrimitiveFieldsTest.groovy => InterfaceWithPrimitiveFieldsStubTest.groovy} (60%)
 create mode 100644 src/test/org/codehaus/groovy/transform/OperatorRenameTransformTest.groovy
 delete mode 100644 src/test/org/codehaus/groovy/transform/traitx/Groovy7213Bug.groovy
 delete mode 100644 src/test/org/codehaus/groovy/transform/traitx/Groovy7214Bug.groovy
 delete mode 100644 src/test/org/codehaus/groovy/transform/traitx/Groovy7255Bug.groovy
 create mode 100644 src/test/org/codehaus/groovy/transform/traitx/TraitWithClosureOrLambda.groovy
 create mode 100644 subprojects/groovy-contracts/src/main/resources/dsld/contract_transform.dsld
 delete mode 100644 subprojects/groovy-contracts/src/main/resources/dsld/org.gcontracts.dsld
 copy src/main/java/groovy/transform/stc/POJO.java => subprojects/groovy-datetime/src/test/groovy/DateTimeJavadocAssertionTest.groovy (64%)
 copy subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/{DeprecatedClass.groovy => props/Child.groovy} (88%)
 copy subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/{DeprecatedClass.groovy => props/GrandParent.groovy} (88%)
 rename src/test/groovy/bugs/G4410Producer2.java => subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/props/Parent.groovy (88%)
 delete mode 100644 subprojects/groovy-servlet/src/test/java/groovy/servlet/GroovyServletTest.java
 copy src/main/groovy/groovy/transform/ImmutableProperties.groovy => subprojects/groovy-typecheckers/src/main/groovy/groovy/typecheckers/FormatMethod.groovy (51%)
 create mode 100644 subprojects/groovy-typecheckers/src/main/groovy/groovy/typecheckers/FormatStringChecker.groovy
 create mode 100644 subprojects/groovy-typecheckers/src/spec/doc/typecheckers.adoc
 create mode 100644 subprojects/groovy-typecheckers/src/spec/test/FormatStringCheckerTest.groovy
 create mode 100644 subprojects/groovy-typecheckers/src/spec/test/RegexCheckerTest.groovy
 create mode 100644 subprojects/groovy-typecheckers/src/test/groovy/groovy/typecheckers/FormatStringCheckerTest.groovy
 create mode 100644 subprojects/performance/src/files/pleac01.groovy
 create mode 100644 subprojects/performance/src/files/pleac02.groovy
 create mode 100644 subprojects/performance/src/files/pleac03.groovy
 create mode 100644 subprojects/performance/src/files/pleac04.groovy
 create mode 100644 subprojects/performance/src/files/pleac05_06.groovy
 create mode 100644 subprojects/performance/src/files/pleac07_10.groovy
 create mode 100644 subprojects/performance/src/files/pleac11_15.groovy
 create mode 100644 subprojects/performance/src/files/pleac16_20.groovy


(groovy) 02/02: GROOVY-8283: field hides setter of super class (not interface)

Posted by em...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY-8283
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit fb192a57b248c654c48dcbe808c2aeed9ce6906b
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Sat Apr 27 15:00:26 2024 -0500

    GROOVY-8283: field hides setter of super class (not interface)
---
 src/main/java/groovy/lang/MetaClassImpl.java |  8 ++--
 src/test/groovy/bugs/Groovy8283.groovy       | 72 ++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+), 4 deletions(-)

diff --git a/src/main/java/groovy/lang/MetaClassImpl.java b/src/main/java/groovy/lang/MetaClassImpl.java
index 0ff27734a1..f21bb1a088 100644
--- a/src/main/java/groovy/lang/MetaClassImpl.java
+++ b/src/main/java/groovy/lang/MetaClassImpl.java
@@ -2747,7 +2747,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
                 Object proxy = Proxy.newProxyInstance(
                         theClass.getClassLoader(),
                         new Class[]{method.getParameterTypes()[0].getTheClass()},
-                        new ConvertedClosure((Closure) newValue, name));
+                        new ConvertedClosure((Closure<?>) newValue, name));
                 arguments = new Object[]{proxy};
                 newValue = proxy;
             } else {
@@ -2758,7 +2758,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         //----------------------------------------------------------------------
         // field
         //----------------------------------------------------------------------
-        if (method == null && field != null) {
+        if (field != null && (method == null || isVisibleProperty(field, method, sender))) {
             boolean mapInstance = (isMap && !isStatic);
             if (field.isFinal()) {
                 if (mapInstance) { // GROOVY-8065
@@ -2806,9 +2806,9 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
             return;
         }
 
-        //------------------------------------------------------------------
+        //----------------------------------------------------------------------
         // java.util.Map put method
-        //------------------------------------------------------------------
+        //----------------------------------------------------------------------
         if (isMap && !isStatic) {
             ((Map) object).put(name, newValue);
             return;
diff --git a/src/test/groovy/bugs/Groovy8283.groovy b/src/test/groovy/bugs/Groovy8283.groovy
index 96956770ad..ec99829e2d 100644
--- a/src/test/groovy/bugs/Groovy8283.groovy
+++ b/src/test/groovy/bugs/Groovy8283.groovy
@@ -57,4 +57,76 @@ final class Groovy8283 {
             assert new E().foo.class == A // not the field from this perspective
         '''
     }
+
+    @Test
+    void testWriteFieldPropertyShadowing() {
+        def shell = new GroovyShell()
+        shell.parse '''package p
+            class A {}
+            class B {}
+            class C {
+                boolean setter
+                protected A foo = new A()
+                A getFooA() { return this.@foo }
+                void setFoo(A a) { setter = true; this.@foo = a }
+            }
+            class D extends C {
+                protected B foo = new B() // hides A#foo; should hide A#setFoo in subclasses
+                B getFooB() { return this.@foo }
+            }
+        '''
+        assertScript shell, '''import p.*
+            class E extends D {
+                void test1() {
+                    foo = null
+                    assert !setter
+                    assert fooA != null
+                    assert fooB == null
+                }
+                void test2() {
+                    this.foo = null
+                    assert !setter
+                    assert fooA != null
+                    assert fooB == null
+                }
+                void test3() {
+                    this.@foo = null
+                    assert !setter
+                    assert fooA != null
+                    assert fooB == null
+                }
+                void test4() {
+                    this.setFoo(null)
+                    assert setter
+                    assert fooA == null
+                    assert fooB != null
+                }
+                void test5() {
+                    def that = new E()
+                    that.foo = null
+                    assert !that.setter
+                    assert that.fooA != null
+                    assert that.fooB == null
+
+                    that = new E()
+                    that.@foo = null
+                    assert !that.setter
+                    assert that.fooA != null
+                    assert that.fooB == null
+
+                    that = new E()
+                    that.setFoo(null)
+                    assert that.setter
+                    assert that.fooA == null
+                    assert that.fooB != null
+                }
+            }
+
+            new E().test1()
+            new E().test2()
+            new E().test3()
+            new E().test4()
+            new E().test5()
+        '''
+    }
 }


(groovy) 01/02: GROOVY-8283: field hides getter of super class (not interface)

Posted by em...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY-8283
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 953acc1596e0688817f566a855d4693bd8eb0c09
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Fri Aug 19 11:54:51 2022 -0500

    GROOVY-8283: field hides getter of super class (not interface)
---
 src/main/java/groovy/lang/MetaClassImpl.java | 45 ++++++++++++++-------
 src/test/groovy/bugs/Groovy8283.groovy       | 60 ++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+), 15 deletions(-)

diff --git a/src/main/java/groovy/lang/MetaClassImpl.java b/src/main/java/groovy/lang/MetaClassImpl.java
index 71e89ac635..0ff27734a1 100644
--- a/src/main/java/groovy/lang/MetaClassImpl.java
+++ b/src/main/java/groovy/lang/MetaClassImpl.java
@@ -1822,18 +1822,18 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         //----------------------------------------------------------------------
         Tuple2<MetaMethod, MetaProperty> methodAndProperty = createMetaMethodAndMetaProperty(sender, sender, name, useSuper, isStatic);
         MetaMethod method = methodAndProperty.getV1();
+        MetaProperty prop = methodAndProperty.getV2();
 
-        if (method == null || isSpecialProperty(name)) {
+        if (method == null || isSpecialProperty(name) || isVisibleProperty(prop, method, sender)) {
             //------------------------------------------------------------------
             // public field
             //------------------------------------------------------------------
-            MetaProperty mp = methodAndProperty.getV2();
-            if (mp != null && mp.isPublic()) {
+            if (prop != null && prop.isPublic()) {
                 try {
-                    return mp.getProperty(object);
+                    return prop.getProperty(object);
                 } catch (GroovyRuntimeException e) {
                     // can't access the field directly but there may be a getter
-                    mp = null;
+                    prop = null;
                 }
             }
 
@@ -1847,9 +1847,9 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
             //------------------------------------------------------------------
             // non-public field
             //------------------------------------------------------------------
-            if (mp != null) {
+            if (prop != null) {
                 try {
-                    return mp.getProperty(object);
+                    return prop.getProperty(object);
                 } catch (GroovyRuntimeException e) {
                 }
             }
@@ -1937,19 +1937,19 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         //----------------------------------------------------------------------
         Tuple2<MetaMethod, MetaProperty> methodAndProperty = createMetaMethodAndMetaProperty(sender, theClass, name, useSuper, isStatic);
         MetaMethod method = methodAndProperty.getV1();
+        MetaProperty prop = methodAndProperty.getV2();
 
-        if (method == null || isSpecialProperty(name)) {
+        if (method == null || isSpecialProperty(name) || isVisibleProperty(prop, method, sender)) {
             //------------------------------------------------------------------
             // public field
             //------------------------------------------------------------------
-            MetaProperty mp = methodAndProperty.getV2();
-            if (mp != null && mp.isPublic()) {
-                return mp;
+            if (prop != null && prop.isPublic()) {
+                return prop;
             }
 
-            //----------------------------------------------------------------------
+            //------------------------------------------------------------------
             // java.util.Map get method
-            //----------------------------------------------------------------------
+            //------------------------------------------------------------------
             if (isMap && !isStatic) {
                 return new MetaProperty(name, Object.class) {
                     @Override
@@ -1967,8 +1967,8 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
             //------------------------------------------------------------------
             // non-public field
             //------------------------------------------------------------------
-            if (mp != null) {
-                return mp;
+            if (prop != null) {
+                return prop;
             }
         }
 
@@ -2086,6 +2086,21 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         return "class".equals(name) || (isMap && ("empty".equals(name) || "metaClass".equals(name)));
     }
 
+    private boolean isVisibleProperty(final MetaProperty field, final MetaMethod method, final Class<?> sender) {
+        if (!(field instanceof CachedField)) return false;
+
+        if (field.isPrivate()) return false;
+
+        Class<?> owner = ((CachedField) field).getDeclaringClass();
+        // ensure access originates within the type hierarchy of the field owner
+        if (owner.equals(sender) || !owner.isAssignableFrom(sender)) return false;
+
+        if (!field.isPublic() && !field.isProtected() && !inSamePackage(owner, sender)) return false;
+
+        // GROOVY-8283: non-private field that hides class access method
+        return !owner.isAssignableFrom(method.getDeclaringClass().getTheClass()) && !method.getDeclaringClass().isInterface();
+    }
+
     private Tuple2<MetaMethod, MetaProperty> createMetaMethodAndMetaProperty(final Class senderForMP, final Class senderForCMG, final String name, final boolean useSuper, final boolean isStatic) {
         MetaMethod method = null;
         MetaProperty mp = getMetaProperty(senderForMP, name, useSuper, isStatic);
diff --git a/src/test/groovy/bugs/Groovy8283.groovy b/src/test/groovy/bugs/Groovy8283.groovy
new file mode 100644
index 0000000000..96956770ad
--- /dev/null
+++ b/src/test/groovy/bugs/Groovy8283.groovy
@@ -0,0 +1,60 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.bugs
+
+import org.junit.Test
+
+import static groovy.test.GroovyAssert.assertScript
+
+final class Groovy8283 {
+
+    @Test
+    void testReadFieldPropertyShadowing() {
+        def shell = new GroovyShell()
+        shell.parse '''package p
+            class A {}
+            class B {}
+            class C {
+                protected A foo = new A()
+                A getFoo() { return foo }
+            }
+            class D extends C {
+                protected B foo = new B() // hides A#foo; should hide A#getFoo in subclasses
+            }
+        '''
+        assertScript shell, '''import p.*
+            class E extends D {
+                void test() {
+                    assert foo.class == B
+                    assert this.foo.class == B
+                    assert this.@foo.class == B
+                    assert this.getFoo().getClass() == A
+
+                    def that = new E()
+                    assert that.foo.class == B
+                    assert that.@foo.class == B
+                    assert that.getFoo().getClass() == A
+                }
+            }
+
+            new E().test()
+            assert new E().foo.class == A // not the field from this perspective
+        '''
+    }
+}