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
+ '''
+ }
+}