This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a change to branch danielsun/indy-callsite
in repository https://gitbox.apache.org/repos/asf/groovy.git.
discard d74bc2f GROOVY-9513: Ensure enabling indy by default
add ba9e78b GROOVY-9382, GROOVY-10133: prefer isName() over getName() for
boolean
add 52586f8 GROOVY-10154: Bump asm to 9.2
add 5524137 GROOVY-10155: Add JDK18 constant
add 9b90016 GROOVY-10160: Highlight source code in the AST browser smartly
add 1907fea GROOVY-10159: Compilation failure: ClassCastException (closes
#1604)
add e7bf14f GROOVY-10159: minor tweak for the test
add 3e0c3e7 Tweak `hash` for the hash join of GINQ
add ae92f9a Tweak the initial capacity of singleton bucket
add d865108 GROOVY-7867: collection conversion: attach exception of
constructor as suppressed exception
add b4298c7 GROOVY-9272: Support switch expression
add 5c14853 GROOVY-10171: Bump slf4j to 1.7.31
add 6a9f77a GROOVY-10172: Bump Spotbugs version to 4.3.0
add 88aa33b GROOVY-10173: Bump checkstyle to 8.44
add 04024b0 GROOVY-10170: Bump JUnit Jupiter/JUnit Platform to 5.7.2/1.7.2
add 738231c GROOVY-10167: Bump jackson version to 2.12.4
add 6930c23 GROOVY-10168: Bump json-unit version to 2.27.0
add 96616ac GROOVY-10169: Bump Ant version to 1.10.11 (incorporates
CVE-2021-36373 and CVE-2021-36374)
add b1108b0 update dependency metadata
add 45ae82b GROOVY-10175: Bump Codenarc to 2.1.0
add 685114b GROOVY-10174: Bump gson to 2.8.7
add bfb37f1 update dependency metadata
add a027190 GROOVY-10164: make RootLoader(ClassLoader) public
add 5372011 GROOVY-9272: Tweak switch expression
add e60f28c Conceal the non-standard aggregate function `agg` of GINQ
add 68e274b Add `serialVersionUID`
add 92d6fff Trivial refactoring: remove unused constructor
add 427ff45 Tweak parallel querying of GINQ
add e3eddaf Tweak `shutdown` of GINQ
add e7150d6 Tweak parallel querying of GINQ further
add f70f119 Mark `QueryableHelper` as internal
add aba530e Tweak GINQ user guide
add 5263a17 Tweak thread pool for GINQ
add b8131c4 Support `distinct` in GINQ
add e2611fc Add a test for `distinct`
add 6d999a7 Add tests for `distinct`
add e958e31 GROOVY-9272: Switch expression (additional documentation)
add 586defa Trivial refactoring: remove unused code
add 0556bba Minor tweak: Eliminate redundant extracting in hash-join
add 902493d Revert "Conceal the non-standard aggregate function `agg` of
GINQ"
add b3e522d Add `agg` window function for GINQ
add 18445d4 Tweak parallel querying of GINQ
add 2f8d9e0 Add reserved keywords of GINQ
add 5d781cd Add reserved keywords of GINQ
add 02efab0 Add reserved keywords of GINQ
add ebf559c Tweak hash-join of GINQ
add 546cdd6 Tweak hash-join of GINQ further
add 10d02a8 Add more tests for GINQ
add 7bca43a GROOVY-10179: STC: for-in collection type: consider
instanceof flow-type
add 6d6d99c trivial refactor
add 39a3c74 GROOVY-10180: STC: method lookup: try instanceof type(s)
before declared
add 9bf3f55 Minor tweak: extract variable for switch-expression to
deconstruct
add a353850 GROOVY-9272: Tweak switch expression(basic support for JEP
406)
add 27328b8 GROOVY-9272: Tweak switch expression when STC enabled
add f81eb5b Add 1 more test for switch-expression
add d7bd362 Minor refactoring for switch-expression
add 8424d3a GROOVY-9272: Switch expression (refine additional
documentation)
add fb502bd Revert groovy deconstruction for switch-expression
add dc020e0 Tweak printing switch statement
add db888a0 tweak printing try-catch-finally statement
add 4a4ce4f tweak printing property expression
add 88f9b2a tweak printing binary expression
add 5a34d13 tweak printing lambda expression
add 145345e tweak printing cast expression
add ef8f3bd tweak printing unary expression
add 922f347 tweak printing binary expression
add 4988329 tweak printing expressions
add 4312685 Support macro method `GQL` with options
add c7e9df4 Trivial refactoring for GINQ macro methods
add 53db604 Support GINQ methods
add b45d0e7 Add license header
add 12e23c8 Tweak GINQ methods and add 1 more test
add b7b26ee Tweak GINQ user guide
add 828b554 Trivial refactoring for GINQ transformation
add f82e15e Add 1 more test for GINQ
add aef68f0 Tweak GINQ transformation
add e11bd61 Tweak GINQ user guide
add bb594bb Fix typo
add 2941596 Tweak coercing GINQ result
add d36c54a GROOVY-10182: Bump jansi to 2.3.4
add 631a182 GROOVY-10181: Groovy 3 AST for annotated fields reports wrong
lastLineNumber if field not initialized
add 8d1a38b Trivial refactoring for `PositionConfigureUtils.configureAST`
add f06f1a8 Trivial tweak: adjust the initial capacity of join expression
list
add 0dc7ffe Reset flags even if exception is thrown when run GINQ
add 8a14769 tidy up error message
add 69c398c Fix the failing build
add 6983e2e Minor refactoring for `GinqASTTransformation`
add ee68af5 Tweak `GinqASTTransformation` to align with GINQ macro
methods(`GQ` and `GQL`)
add 7fc99d6 Add 1 more test for GINQ
add 7442bc8 Avoid nested parallel querying which results in deadlock
sometimes
add 2bf936a Support creating hash-table concurrently
add f9010d0 minor refactor: make test more resilient
add f6b31db Tweak verbatim text of `GStringExpression`
add 23f7623 Add a test for verbatim text of `GStringExpression`
add a9541b2 Add `offset` to keyword list of GINQ
add 20b87e9 Add 1 more test for GINQ
add 9e78800 Update JDK version to build
add 5fd04e3 GROOVY-10148: Groovy should support sealed classes (GEP-13)
add 5f90966 GROOVY-10121: @AnnotationCollector does not work with JUnit 5
add 1dc57a8 Change retention policy of `GQ` annotation
add 225a49e Support Java17
add f6b49fa Trivial refactoring: remove redundant initializer
add 90bea6c Trivial refactoring: extract constant
add 7349f79 Trivial refactoring: make field `final`
add 9bb74fa Trivial refactoring: extract `Sealed` type constant
add 4c7b0dc Trivial refactoring: extract `Override` type constant
add 2123572 Trivial refactoring: extract `Deprecated` type constant
add e534e47 GROOVY-10188: Different treatment of property expressions in
closures from 2.4 to 2.5
add 50b1dc0 Trivial refactoring: inline method call
add 7244faf Tweak the initialization of permitted subclasses
add 14fc1b0 Tweak the test for permitted subclasses
add 5cc7304 Fix the failing build
add 4ff2f85 Update the ignored packages in the call stack
add 3dcce32 GROOVY-10148: Groovy should support sealed classes (tweak
error message and additional test cases)
add 4248678 GROOVY-10193: Support sealed type grammar
add 53c5681 GROOVY-10148: Groovy should support sealed classes
(additional edge cases)
add b69fafd GROOVY-10193: Support sealed type grammar (minor tweaks)
add e322cbf GROOVY-10189: File.withWriter and Path.withWriter are
inconsistent
add a5c9e73 Trivial tweak for DGM `collate`
add 981e6b9 GROOVY-10197: namedArgs.containsKey(propertyName) isn't
implicit-this
add b4b2134 Rewrite Groovy source code in core to Java(tailrec) (closes
#1612)
add 18c9ab9 GROOVY-10191: catch LinkageError during static inline
add fd367dd GROOVY-10199: ASTTest: evaluate with compliation unit's
transform loader
add 50bb5f9 GROOVY-10195: Groovy should have a @Final AST transform
add c2e6865 Trivial refactoring: simplify the initializer of field
add b657dfa Enable STC for `ASTTransformationCustomizer` and
`ASTTransformationCustomizerFactory`
add 7800156 groovy-eclipse patches and updates
add d654773 Tweak `GroovyObjectHelperTest`
add 2dcb3d8 GROOVY-10196: add test case
add 03b130d GROOVY-10200: do not retain static for outer member checking
of variable (closes #1613)
add 73c3e0f Format code
add c7445cd Trivial tweak: set the initial capacity of statement lists
add 278f27d Trivial refactoring: output bytecode with simple API
add d8e1a80 Add openjdk18 build to Travis CI
add 52c9ae9 formatting: remove trailing whitespace on ends of lines of
source files
add 963186c formatting: remove trailing whitespace on ends of lines of
source files (benchmark files)
add 7a09218 formatting: remove trailing whitespace on ends of lines of
source files (fix test)
add 5e030c4 remove unused import
add 57809b8 GROOVY-10202: Bump Gradle to 6.9.1
add 3b39322 GROOVY-10159: Compilation failure: ClassCastException (only
simplify the simple cases at compile time)
add 7762a9f GROOVY-10203: Bump xstream to 1.4.18
add 7adf933 Update verification metadata
add d58eba2 GROOVY-10204: Bump javaparser to 3.23.0
add 336a619 GROOVY-10205: Bump jackson version to 2.12.5
add 803a372 GROOVY-10206: Bump Spotbugs version to 4.4.0
add 8a0a391 update dep verification metadata
add be40582 Add option `groovy.antlr4.sll.threshold` for better parsing
performance
add e4a14c7 Allow disabling SLL mode by setting
`groovy.antlr4.sll.threshold` to `0`
add 166df38 Trivial tweak for parrot parser
add c9fe58c Trivial tweak: simplify type casting
add a6f60a4 fix snapshot url
add 75acd5a Trivial tweak: avoid redundant access permission checking
add aeba9f8 Add the doco for tuning performance of parrot parser
add 7768639 add perf guide to single page doco
add 6178149 Tweak doco
add a1a441d Tweak doco
add 564f5c7 Tweak doco
add 8752c06 Tweak lexer frame: show token count in the token stream label
add d423fdb Tweak lexer frame: use monospaced font
add 8236334 Trivial tweak for `JavaAwareCompilationUnit`: use `Set` to
keep java sources
add 66596d2 Trivial refactoring for
`JavaStubCompilationUnit.hasAcceptedFileExtension`
add 2314e5e Tweak build script to ensure
`GeneratedMetaMethod.DgmMethodRecord.loadDgmInfo` could find "dgminfo" file
add 0cdaf2b GROOVY-10210: Provide XML factory helper factory classes to
assist with porting
add 69cde35 GROOVY-10211: Bump Codenarc to 2.2.0 (albeit not working for
Groovy 4)
add 01c2c0a GROOVY-9632: Java 8 Type Param Annotation Not Generated in
Byte Code (additional refactoring to reduce potential impact of earlier changes)
add 2502cda GROOVY-9632: Java 8 Type Param Annotation Not Generated in
Byte Code (add test)
add bcd2680 GROOVY-9632: Java 8 Type Param Annotation Not Generated in
Byte Code (add test)
add d9d664c groovyc ant task missing from single page doco
new d43bc68 GROOVY-9513: Ensure enabling indy by default
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 (d74bc2f)
\
N -- N -- N refs/heads/danielsun/indy-callsite (d43bc68)
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 1 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:
.gitignore | 1 +
.travis.yml | 4 +
CONTRIBUTING.md | 2 +-
DOAP.rdf | 8 +-
README.adoc | 4 +-
benchmark/bench.groovy | 6 +-
benchmark/bench/ackermann.java | 2 +-
benchmark/bench/fannkuch.groovy | 8 +-
benchmark/bench/fannkuch.java | 24 +-
benchmark/bench/fasta.java | 6 +-
benchmark/bench/harmonic.java | 6 +-
benchmark/bench/magicsquares.java | 24 +-
benchmark/bench/meteor.java | 130 ++--
benchmark/bench/moments.java | 4 +-
benchmark/bench/pidigits.java | 32 +-
benchmark/bench/process.java | 8 +-
benchmark/bench/regexdna.groovy | 2 +-
benchmark/bench/regexdna.java | 16 +-
benchmark/bench/revcomp.groovy | 2 +-
benchmark/bench/sumcol.java | 2 +-
benchmark/bench/wordfreq.java | 4 +-
...rg.apache.groovy-bad-practices-detection.gradle | 2 +-
.../src/main/groovy/org.apache.groovy-core.gradle | 2 +-
.../groovy/org.apache.groovy-stresstest.gradle | 1 -
.../gradle/WriteExtensionDescriptorTask.groovy | 2 -
config/codenarc/codenarc.groovy | 66 +-
gradle.properties | 2 +-
gradle/build-scans.gradle | 12 +-
gradle/verification-metadata.xml | 77 ++-
gradle/wrapper/gradle-wrapper.properties | 2 +-
security/groovy.policy | 8 +-
src/antlr/GroovyLexer.g4 | 6 +
src/antlr/GroovyParser.g4 | 41 +-
src/bin/java2groovy.bat | 4 +-
src/bin/startGroovy | 4 +-
src/main/groovy/groovy/beans/ListenerList.groovy | 4 +-
.../beans/ListenerListASTTransformation.groovy | 4 +-
src/main/groovy/groovy/transform/Canonical.groovy | 8 +-
src/main/groovy/groovy/transform/Immutable.groovy | 2 +
.../codehaus/groovy/ast/builder/AstBuilder.groovy | 13 +-
.../ast/builder/AstSpecificationCompiler.groovy | 1 -
.../customizers/ASTTransformationCustomizer.groovy | 7 +-
.../ASTTransformationCustomizerFactory.groovy | 13 +-
.../groovy/tools/ast/TransformTestHelper.groovy | 2 +-
.../groovy/transform/ASTTestTransformation.groovy | 3 +-
.../groovy/transform/tailrec/AstHelper.groovy | 75 --
.../transform/tailrec/CollectRecursiveCalls.groovy | 60 --
.../transform/tailrec/HasRecursiveCalls.groovy | 61 --
.../transform/tailrec/InWhileLoopWrapper.groovy | 83 ---
.../transform/tailrec/RecursivenessTester.groovy | 101 ---
.../ReturnStatementToIterationConverter.groovy | 147 ----
.../transform/tailrec/StatementReplacer.groovy | 106 ---
.../tailrec/TailRecursiveASTTransformation.groovy | 263 -------
.../tailrec/VariableAccessReplacer.groovy | 69 --
.../tailrec/VariableExpressionReplacer.groovy | 163 -----
.../tailrec/VariableExpressionTransformer.groovy | 46 --
src/main/java/groovy/beans/Bindable.java | 34 +-
src/main/java/groovy/beans/Vetoable.java | 34 +-
.../java/groovy/lang/BenchmarkInterceptor.java | 16 +-
src/main/java/groovy/lang/Binding.java | 6 +-
src/main/java/groovy/lang/ClosureException.java | 2 +-
src/main/java/groovy/lang/GroovySystem.java | 10 +-
.../lang/IllegalPropertyAccessException.java | 6 +-
src/main/java/groovy/lang/MetaClass.java | 6 +-
src/main/java/groovy/lang/MetaClassImpl.java | 83 ++-
src/main/java/groovy/lang/MetaClassRegistry.java | 16 +-
.../lang/MetaClassRegistryChangeEventListener.java | 2 +-
src/main/java/groovy/lang/MetaMethod.java | 8 +-
src/main/java/groovy/lang/MetaObjectProtocol.java | 5 +-
src/main/java/groovy/lang/MetaProperty.java | 13 +-
.../java/groovy/lang/MissingClassException.java | 2 +-
.../java/groovy/lang/MissingFieldException.java | 1 -
src/main/java/groovy/lang/MutableMetaClass.java | 2 +-
src/main/java/groovy/lang/PropertyValue.java | 1 -
.../groovy/lang/ReadOnlyPropertyException.java | 1 -
src/main/java/groovy/lang/SpreadMap.java | 2 +-
src/main/java/groovy/lang/Tuple10.java | 1 -
src/main/java/groovy/lang/Tuple11.java | 1 -
src/main/java/groovy/lang/Tuple12.java | 2 -
src/main/java/groovy/lang/Tuple13.java | 2 -
src/main/java/groovy/lang/Tuple14.java | 1 -
src/main/java/groovy/lang/Tuple15.java | 1 -
src/main/java/groovy/lang/Tuple16.java | 1 -
src/main/java/groovy/lang/Writable.java | 2 +-
src/main/java/groovy/namespace/QName.java | 2 +-
src/main/java/groovy/time/Duration.java | 20 +-
.../groovy/time/TimeDatumDependentDuration.java | 12 +-
src/main/java/groovy/time/TimeDuration.java | 16 +-
src/main/java/groovy/time/package.html | 4 +-
.../java/groovy/transform/AnnotationCollector.java | 34 +-
src/main/java/groovy/transform/BaseScript.java | 4 +-
src/main/java/groovy/transform/Final.java | 71 ++
.../java/groovy/transform/InheritConstructors.java | 2 +-
src/main/java/groovy/transform/Memoized.java | 4 +-
.../main/java/groovy/transform/NonSealed.java | 19 +-
.../main/java/groovy/transform/Sealed.java | 25 +-
src/main/java/groovy/transform/Synchronized.java | 4 +-
.../groovy/transform/TailRecursive.java} | 26 +-
src/main/java/groovy/transform/ToString.java | 10 +-
src/main/java/groovy/transform/WithWriteLock.java | 6 +-
.../groovy/transform/stc/MapEntryOrKeyValue.java | 6 +-
src/main/java/groovy/ui/GroovySocketServer.java | 28 +-
src/main/java/groovy/util/Eval.java | 22 +-
.../java/groovy/util/FactoryBuilderSupport.java | 2 +-
src/main/java/groovy/util/NodeBuilder.java | 2 +-
src/main/java/groovy/util/ObjectGraphBuilder.java | 2 +-
src/main/java/groovy/util/Proxy.java | 2 +-
.../java/org/apache/groovy/antlr/LexerFrame.java | 14 +-
.../apache/groovy/ast/tools/ExpressionUtils.java | 10 +-
.../apache/groovy/parser/antlr4/AstBuilder.java | 513 ++++++++++++--
.../groovy/parser/antlr4/SemanticPredicates.java | 3 +-
.../antlr4/TryWithResourcesASTTransformation.java | 1 -
.../antlr4/internal/DescriptiveErrorStrategy.java | 1 -
.../antlr4/internal/atnmanager/AtnManager.java | 1 -
.../internal/atnmanager/LexerAtnManager.java | 2 +-
.../parser/antlr4/util/PositionConfigureUtils.java | 3 +-
.../concurrentlinkedhashmap/LinkedDeque.java | 1 -
.../codehaus/groovy/GroovyExceptionInterface.java | 2 +-
.../java/org/codehaus/groovy/antlr/EnumHelper.java | 6 +-
.../groovy/ast/ClassCodeVisitorSupport.java | 10 +-
.../java/org/codehaus/groovy/ast/ClassHelper.java | 31 +-
.../java/org/codehaus/groovy/ast/ClassNode.java | 51 +-
.../org/codehaus/groovy/ast/DynamicVariable.java | 2 +-
.../groovy/ast/GroovyCodeVisitorAdapter.java | 1 +
.../org/codehaus/groovy/ast/InnerClassNode.java | 6 +-
.../groovy/ast/InterfaceHelperClassNode.java | 6 +-
.../java/org/codehaus/groovy/ast/MixinNode.java | 2 +-
.../java/org/codehaus/groovy/ast/ModifierNode.java | 4 +
.../java/org/codehaus/groovy/ast/Variable.java | 12 +-
.../groovy/ast/decompiled/AsmDecompiler.java | 5 +
.../ast/decompiled/ClassSignatureParser.java | 6 +
.../codehaus/groovy/ast/decompiled/ClassStub.java | 1 +
.../groovy/ast/decompiled/DecompiledClassNode.java | 22 +
.../groovy/ast/expr/ArgumentListExpression.java | 6 +-
.../groovy/ast/expr/BooleanExpression.java | 4 +-
.../codehaus/groovy/ast/expr/ClassExpression.java | 4 +-
.../groovy/ast/expr/ClosureListExpression.java | 20 +-
.../groovy/ast/expr/ElvisOperatorExpression.java | 4 +-
.../org/codehaus/groovy/ast/expr/Expression.java | 8 +-
.../groovy/ast/expr/ExpressionTransformer.java | 2 +-
.../groovy/ast/expr/GStringExpression.java | 2 +-
.../ast/expr/NamedArgumentListExpression.java | 4 +-
.../groovy/ast/expr/PostfixExpression.java | 2 +-
.../codehaus/groovy/ast/expr/RangeExpression.java | 27 +-
.../groovy/ast/expr/TernaryExpression.java | 2 +-
.../groovy/ast/expr/VariableExpression.java | 6 +-
.../codehaus/groovy/ast/stmt/BlockStatement.java | 8 +-
.../codehaus/groovy/ast/stmt/BreakStatement.java | 6 +-
.../codehaus/groovy/ast/stmt/CaseStatement.java | 8 +-
.../codehaus/groovy/ast/stmt/CatchStatement.java | 6 +-
.../groovy/ast/stmt/ContinueStatement.java | 6 +-
.../codehaus/groovy/ast/stmt/DoWhileStatement.java | 6 +-
.../org/codehaus/groovy/ast/stmt/ForStatement.java | 14 +-
.../org/codehaus/groovy/ast/stmt/IfStatement.java | 8 +-
.../codehaus/groovy/ast/stmt/LoopingStatement.java | 8 +-
.../codehaus/groovy/ast/stmt/SwitchStatement.java | 6 +-
.../groovy/ast/stmt/SynchronizedStatement.java | 6 +-
.../codehaus/groovy/ast/stmt/ThrowStatement.java | 4 +-
.../groovy/ast/stmt/TryCatchStatement.java | 8 +-
.../groovy/classgen/ClassCompletionVerifier.java | 84 ++-
.../codehaus/groovy/classgen/GeneratorContext.java | 2 +-
.../groovy/classgen/VariableScopeVisitor.java | 24 +-
.../org/codehaus/groovy/classgen/Verifier.java | 64 +-
.../groovy/classgen/asm/AssertionWriter.java | 34 +-
.../asm/BinaryBooleanExpressionHelper.java | 20 +-
.../classgen/asm/BinaryDoubleExpressionHelper.java | 14 +-
.../classgen/asm/BinaryExpressionWriter.java | 58 +-
.../classgen/asm/BinaryFloatExpressionHelper.java | 32 +-
.../classgen/asm/BinaryIntExpressionHelper.java | 34 +-
.../classgen/asm/BinaryLongExpressionHelper.java | 4 +-
.../classgen/asm/BinaryObjectExpressionHelper.java | 20 +-
.../groovy/classgen/asm/BytecodeVariable.java | 10 +-
.../groovy/classgen/asm/CallSiteWriter.java | 26 +-
.../codehaus/groovy/classgen/asm/CompileStack.java | 2 +-
.../classgen/asm/ExpressionAsVariableSlot.java | 2 +-
.../groovy/classgen/asm/VariableSlotLoader.java | 6 +-
.../classgen/asm/indy/IndyCallSiteWriter.java | 6 +-
.../classgen/asm/indy/InvokeDynamicWriter.java | 16 +-
.../org/codehaus/groovy/classgen/asm/package.html | 2 +-
.../classgen/asm/sc/StaticInvocationWriter.java | 2 +-
.../classgen/asm/sc/StaticTypesCallSiteWriter.java | 44 +-
.../asm/sc/StaticTypesWriterController.java | 6 +-
.../codehaus/groovy/control/ClassNodeResolver.java | 40 +-
.../codehaus/groovy/control/CompilationUnit.java | 15 +-
.../org/codehaus/groovy/control/CompilePhase.java | 46 +-
.../groovy/control/CompilerConfiguration.java | 5 +-
.../codehaus/groovy/control/ErrorCollector.java | 8 +-
.../MultipleCompilationErrorsException.java | 4 +-
.../codehaus/groovy/control/ResolveVisitor.java | 44 +-
.../org/codehaus/groovy/control/SourceUnit.java | 72 +-
.../groovy/control/StaticImportVisitor.java | 129 ++--
.../groovy/control/io/FileReaderSource.java | 4 +-
.../org/codehaus/groovy/control/io/NullWriter.java | 6 +-
.../codehaus/groovy/control/io/ReaderSource.java | 6 +-
.../groovy/control/io/StringReaderSource.java | 4 +-
.../groovy/control/io/URLReaderSource.java | 4 +-
.../groovy/reflection/CachedConstructor.java | 9 +-
.../codehaus/groovy/reflection/CachedMethod.java | 33 +-
.../groovy/reflection/ReflectionCache.java | 4 +-
.../groovy/reflection/ReflectionUtils.java | 30 +-
.../reflection/stdclasses/BooleanCachedClass.java | 2 +-
.../reflection/stdclasses/CachedSAMClass.java | 4 +-
.../reflection/stdclasses/LongCachedClass.java | 1 -
.../org/codehaus/groovy/runtime/ArrayUtil.java | 6 +-
.../groovy/runtime/BytecodeInterface8.java | 96 +--
.../codehaus/groovy/runtime/ConvertedClosure.java | 2 +-
.../groovy/runtime/DefaultGroovyMethods.java | 21 +-
.../groovy/runtime/IteratorClosureAdapter.java | 4 +-
.../org/codehaus/groovy/runtime/MethodKey.java | 4 +-
.../codehaus/groovy/runtime/MethodRankHelper.java | 30 +-
.../org/codehaus/groovy/runtime/NullObject.java | 4 +-
.../groovy/runtime/StreamGroovyMethods.java | 2 +-
.../runtime/callsite/BooleanClosureWrapper.java | 4 +-
.../callsite/BooleanReturningMethodInvoker.java | 8 +-
.../groovy/runtime/callsite/ConstructorSite.java | 2 +-
.../groovy/runtime/callsite/NullCallSite.java | 2 +-
.../groovy/runtime/dgmimpl/NumberNumberMinus.java | 1 -
.../runtime/memoize/LRUProtectionStorage.java | 2 +-
.../codehaus/groovy/runtime/memoize/Memoize.java | 8 +-
.../runtime/metaclass/ClosureStaticMetaMethod.java | 2 +-
.../runtime/metaclass/ConcurrentReaderHashMap.java | 52 +-
.../runtime/metaclass/DefaultMetaClassInfo.java | 82 +--
.../groovy/runtime/metaclass/MethodHelper.java | 2 +-
.../runtime/metaclass/MethodMetaProperty.java | 8 +-
.../metaclass/MethodSelectionException.java | 8 +-
.../groovy/runtime/metaclass/ReflectorLoader.java | 10 +-
.../metaclass/ThreadManagedMetaBeanProperty.java | 2 +-
.../runtime/typehandling/BigIntegerMath.java | 12 +-
.../typehandling/DefaultTypeTransformation.java | 6 +
.../runtime/typehandling/FloatingPointMath.java | 10 +-
.../groovy/runtime/typehandling/IntegerMath.java | 8 +-
.../groovy/runtime/typehandling/LongMath.java | 16 +-
.../java/org/codehaus/groovy/syntax/ASTHelper.java | 2 +-
.../org/codehaus/groovy/tools/GroovyStarter.java | 14 +-
.../java/org/codehaus/groovy/tools/RootLoader.java | 4 +-
.../java/org/codehaus/groovy/tools/Utilities.java | 2 +-
.../groovy/tools/gse/DependencyTracker.java | 4 +-
.../codehaus/groovy/tools/gse/StringSetMap.java | 6 +-
.../tools/javac/JavaAwareCompilationUnit.java | 16 +-
.../tools/javac/JavaStubCompilationUnit.java | 7 +-
.../codehaus/groovy/tools/shell/util/Logger.java | 12 +-
.../groovy/tools/shell/util/MessageSource.java | 50 +-
.../groovy/tools/shell/util/Preferences.java | 2 +-
.../ASTTransformationCollectorCodeVisitor.java | 2 +-
.../groovy/transform/ASTTransformationVisitor.java | 2 +-
.../transform/AbstractASTTransformation.java | 20 +-
.../transform/AnnotationCollectorTransform.java | 2 +-
.../transform/DelegateASTTransformation.java | 8 +-
.../groovy/transform/FieldASTTransformation.java | 16 +-
.../groovy/transform/FinalASTTransformation.java | 74 ++
.../transform/ImmutableASTTransformation.java | 12 -
.../transform/MemoizedASTTransformation.java | 2 +-
.../transform/NonSealedASTTransformation.java | 57 ++
.../groovy/transform/SealedASTTransformation.java | 67 ++
.../TupleConstructorASTTransformation.java | 10 +-
.../transformers/BooleanExpressionTransformer.java | 2 +-
.../MethodCallExpressionTransformer.java | 5 +-
.../groovy/transform/stc/ExtensionMethodNode.java | 2 +-
.../transform/stc/StaticTypeCheckingSupport.java | 11 +-
.../transform/stc/StaticTypeCheckingVisitor.java | 90 +--
.../groovy/transform/tailrec/AstHelper.java | 78 +++
.../transform/tailrec/CollectRecursiveCalls.java | 64 ++
.../tailrec/GotoRecurHereException.java} | 13 +-
.../transform/tailrec/HasRecursiveCalls.java | 63 ++
.../transform/tailrec/InWhileLoopWrapper.java | 60 ++
.../transform/tailrec/RecursivenessTester.java | 121 ++++
.../transform/tailrec/ReturnAdderForClosures.java} | 31 +-
.../ReturnStatementToIterationConverter.java | 170 +++++
.../transform/tailrec/StatementReplacer.java | 174 +++++
.../tailrec/TailRecursiveASTTransformation.java | 313 +++++++++
.../tailrec/TernaryToIfStatementConverter.java} | 28 +-
.../tailrec/UsedVariableTracker.java} | 33 +-
.../transform/tailrec/VariableAccessReplacer.java | 66 ++
.../tailrec/VariableExpressionReplacer.java | 219 ++++++
.../tailrec/VariableExpressionTransformer.java | 66 ++
.../tailrec/VariableReplacedListener.java} | 18 +-
.../transform/trait/NAryOperationRewriter.java | 2 +-
.../transform/trait/TraitASTTransformation.java | 6 +-
.../groovy/transform/trait/TraitComposer.java | 2 +-
.../codehaus/groovy/transform/trait/Traits.java | 2 +-
.../org/codehaus/groovy/util/LazyReference.java | 4 +-
.../groovy/util/ManagedConcurrentValueMap.java | 4 +-
.../org/codehaus/groovy/util/ManagedReference.java | 12 +-
.../org/codehaus/groovy/util/ReferenceBundle.java | 2 +-
.../org/codehaus/groovy/util/ReferenceManager.java | 12 +-
.../org/codehaus/groovy/util/ReferenceType.java | 10 +-
.../java/org/codehaus/groovy/util/ReleaseInfo.java | 6 +-
.../org/codehaus/groovy/vmplugin/v8/Java8.java | 254 ++++---
src/spec/doc/_design-pattern-flyweight.adoc | 1 -
src/spec/doc/_design-pattern-loan-my-resource.adoc | 1 -
src/spec/doc/_design-pattern-proxy.adoc | 1 -
src/spec/doc/_design-pattern-state.adoc | 1 -
src/spec/doc/_design-pattern-visitor.adoc | 1 -
src/spec/doc/_sealed.adoc | 98 +++
src/spec/doc/_traits.adoc | 38 +
src/spec/doc/core-domain-specific-languages.adoc | 2 +-
src/spec/doc/core-getting-started.adoc | 5 +-
src/spec/doc/core-metaprogramming.adoc | 14 +
src/spec/doc/core-object-orientation.adoc | 1 +
src/spec/doc/core-semantics.adoc | 7 +
src/spec/doc/design-patterns-in-groovy.adoc | 3 +-
src/spec/doc/performance-guide.adoc | 33 +
src/spec/test/ClassTest.groovy | 2 +-
.../CompilerDirectivesASTTransformsTest.groovy | 21 +-
.../DeclarativeConcurrencyASTTransformsTest.groovy | 2 +-
src/spec/test/DesignPatternsTest.groovy | 42 +-
src/spec/test/PackageTest.groovy | 54 +-
src/spec/test/SealedSpecificationTest.groovy | 107 +++
src/spec/test/SemanticsTest.groovy | 15 +-
src/spec/test/SyntaxTest.groovy | 16 +-
src/spec/test/TraitsSpecificationTest.groovy | 35 +-
src/spec/test/builder/FileTreeBuilderTest.groovy | 6 +-
src/spec/test/builder/NodeBuilderTest.groovy | 2 +-
.../test/gdk/WorkingWithCollectionsTest.groovy | 2 +-
.../test/metaprogramming/GroovyObjectTest.groovy | 18 +-
.../InterceptionThroughMetaClassTest.groovy | 4 +-
.../MethodPropertyMissingTest.groovy | 2 +-
src/spec/test/semantics/OptionalityTest.groovy | 12 +-
src/spec/test/semantics/TheGroovyTruthTest.groovy | 18 +-
.../typing/TypeCheckingExtensionSpecTest.groovy | 8 +-
src/tck/test/gls/ch03/s01/Unicode1.groovy | 4 +-
src/tck/test/gls/ch03/s01/Unicode2.groovy | 2 +-
src/tck/test/gls/ch03/s02/Longest1.groovy | 8 +-
src/tck/test/gls/ch03/s03/UnicodeEscapes1.groovy | 8 +-
src/tck/test/gls/ch03/s03/UnicodeEscapes2.groovy | 16 +-
.../bugs/BUG-GROOVY-10181.groovy} | 12 +-
src/test-resources/bugs/BUG-GROOVY-8426.groovy | 2 +-
src/test-resources/core/Command_04.groovy | 1 -
src/test-resources/core/List_01.groovy | 2 +-
.../core/SealedTypeDeclaration_01x.groovy} | 25 +-
.../core/SwitchExpression_01x.groovy} | 11 +-
.../core/SwitchExpression_02x.groovy} | 16 +-
.../core/SwitchExpression_03x.groovy} | 11 +-
.../core/SwitchExpression_04x.groovy} | 12 +-
.../core/SwitchExpression_05x.groovy} | 10 +-
.../core/SwitchExpression_06x.groovy} | 16 +-
.../core/SwitchExpression_07x.groovy | 23 +-
.../core/SwitchExpression_08x.groovy} | 27 +-
.../core/SwitchExpression_09x.groovy} | 15 +-
.../core/SwitchExpression_10x.groovy} | 56 +-
.../core/SwitchExpression_11x.groovy | 111 +++
.../core/SwitchExpression_12x.groovy | 16 +-
.../core/SwitchExpression_13x.groovy} | 13 +-
.../core/SwitchExpression_14x.groovy | 79 +++
.../core/SwitchExpression_15x.groovy | 16 +-
.../core/SwitchExpression_16x.groovy} | 25 +-
.../core/SwitchExpression_17x.groovy} | 18 +-
.../core/SwitchExpression_18x.groovy} | 12 +-
.../core/SwitchExpression_19x.groovy} | 12 +-
.../core/SwitchExpression_20x.groovy} | 33 +-
.../core/SwitchExpression_21x.groovy} | 30 +-
.../core/SwitchExpression_22x.groovy} | 22 +-
.../core/SwitchExpression_23x.groovy} | 32 +-
.../core/SwitchExpression_24x.groovy} | 38 +-
...{List_01.groovy => SwitchExpression_25x.groovy} | 26 +-
.../core/SwitchExpression_26x.groovy} | 24 +-
.../fail/SealedTypeDeclaration_01x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_02x.groovy} | 8 +-
.../fail/SealedTypeDeclaration_03x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_04x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_05x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_06x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_07x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_08x.groovy} | 9 +-
.../fail/SealedTypeDeclaration_09x.groovy} | 9 +-
.../fail/SwitchExpression_01x.groovy} | 10 +-
.../fail/SwitchExpression_02x.groovy} | 10 +-
.../fail/SwitchExpression_03x.groovy} | 11 +-
.../fail/SwitchExpression_04x.groovy} | 11 +-
.../fail/SwitchExpression_05x.groovy} | 10 +-
.../fail/SwitchExpression_06x.groovy} | 10 +-
.../fail/SwitchExpression_07x.groovy} | 10 +-
.../fail/SwitchExpression_08x.groovy} | 10 +-
.../fail/SwitchExpression_09x.groovy} | 10 +-
src/test/gls/annotations/AnnotationTest.groovy | 14 +-
.../gls/annotations/AnnotationsInfoTest.groovy | 6 +-
.../closures/AnnotationClosureTest.groovy | 4 +-
.../AnnotationClosureWithNonLocalVariable.groovy | 6 +-
src/test/gls/ch06/s05/GName1Test.groovy | 76 +-
src/test/gls/generics/GenericsBytecodeTest.groovy | 2 +-
.../gls/invocation/ClosureDelegationTest.groovy | 4 +-
src/test/gls/invocation/CovariantReturnTest.groovy | 6 +-
.../invocation/GroovyObjectInheritanceTest.groovy | 20 +-
src/test/gls/invocation/MethodSelectionTest.groovy | 72 +-
.../invocation/StaticMethodInvocationTest.groovy | 8 +-
src/test/gls/scope/NameResolvingTest.groovy | 4 +-
src/test/gls/scope/StaticScopeTest.groovy | 8 +-
src/test/gls/sizelimits/StringSizeTest.groovy | 10 +-
.../MultipleAssignmentDeclarationTest.groovy | 18 +-
src/test/gls/statements/ReturnTest.groovy | 2 +-
src/test/gls/syntax/AssertTest.groovy | 2 +-
src/test/gls/syntax/Gep3Test.groovy | 22 +-
src/test/gls/syntax/ParsingTest.groovy | 6 +-
.../types/BooleanExpressionConversionTest.groovy | 14 +-
src/test/gls/types/GroovyCastTest.groovy | 6 +-
.../groovy/AbstractClassAndInterfaceTest.groovy | 56 +-
src/test/groovy/ActorTest.groovy | 2 +-
src/test/groovy/ArrayAutoboxingTest.groovy | 8 +-
src/test/groovy/ArrayParamMethodTest.groovy | 8 +-
src/test/groovy/AsTest.groovy | 8 +-
src/test/groovy/Bar.groovy | 2 +-
src/test/groovy/BindingTest.groovy | 16 +-
src/test/groovy/CastTest.groovy | 48 +-
src/test/groovy/CategoryTest.groovy | 15 +-
src/test/groovy/ClassExpressionTest.groovy | 18 +-
src/test/groovy/ClassLoaderBug.groovy | 2 +-
src/test/groovy/ClassTest.groovy | 4 +-
src/test/groovy/ClosureDefaultParameterTest.groovy | 2 +-
src/test/groovy/ClosureMethodCallTest.groovy | 2 +-
.../ClosureReturnWithoutReturnStatementTest.groovy | 4 +-
src/test/groovy/CompareToTest.groovy | 12 +-
src/test/groovy/CompareTypesTest.groovy | 64 +-
src/test/groovy/DefaultParamClosureTest.groovy | 8 +-
src/test/groovy/DoWhileLoopTest.groovy | 2 +-
src/test/groovy/DollarEscapingTest.groovy | 6 +-
src/test/groovy/DynamicMemberTest.groovy | 10 +-
src/test/groovy/Foo.groovy | 8 +-
src/test/groovy/ForLoopTest.groovy | 2 +-
src/test/groovy/GStringTest.groovy | 2 +-
src/test/groovy/GlobalPrintlnTest.groovy | 2 +-
src/test/groovy/GroovyMethodsTest.groovy | 18 +-
src/test/groovy/GroovyTruthTest.groovy | 4 +-
src/test/groovy/HeredocsTest.groovy | 4 +-
src/test/groovy/IdentityClosureTest.groovy | 8 +-
src/test/groovy/InstanceofTest.groovy | 16 +-
src/test/groovy/ListIteratingTest.groovy | 8 +-
src/test/groovy/LocalPropertyTest.groovy | 8 +-
src/test/groovy/LocalVariableTest.groovy | 4 +-
src/test/groovy/LogicTest.groovy | 16 +-
src/test/groovy/LoopBreakTest.groovy | 2 +-
src/test/groovy/MapTest.groovy | 10 +-
.../groovy/MethodCallWithoutParenthesisTest.groovy | 18 +-
src/test/groovy/MethodInBadPositionTest.groovy | 2 +-
src/test/groovy/MinusEqualsTest.groovy | 24 +-
src/test/groovy/MultilineStringTest.groovy | 2 +-
src/test/groovy/MultiplyDivideEqualsTest.groovy | 42 +-
src/test/groovy/NewExpressionTest.groovy | 6 +-
src/test/groovy/NullPropertyTest.groovy | 4 +-
src/test/groovy/OverloadInvokeMethodTest.groovy | 4 +-
src/test/groovy/OverridePropertyGetterTest.groovy | 2 +-
src/test/groovy/PlusEqualsTest.groovy | 28 +-
src/test/groovy/PostfixTest.groovy | 20 +-
src/test/groovy/PrefixTest.groovy | 26 +-
src/test/groovy/PrimitiveArraysTest.groovy | 30 +-
src/test/groovy/PrimitiveTypesTest.groovy | 22 +-
src/test/groovy/PrintTest.groovy | 10 +-
...ateVariableAccessFromAnotherInstanceTest.groovy | 4 +-
src/test/groovy/ProcessTest.groovy | 2 +-
src/test/groovy/PropertyTest.groovy | 8 +-
src/test/groovy/PropertyWithoutDotTest.groovy | 4 +-
src/test/groovy/SafeNavigationTest.groovy | 2 +-
src/test/groovy/SerializeTest.groovy | 4 +-
src/test/groovy/ShellTest.groovy | 16 +-
src/test/groovy/SingletonBugTest.groovy | 8 +-
src/test/groovy/SqlDateTest.groovy | 10 +-
src/test/groovy/StaticImportTest.groovy | 31 +-
src/test/groovy/SubscriptTest.groovy | 104 +--
src/test/groovy/ToArrayBugTest.groovy | 14 +-
src/test/groovy/UnsafeNavigationTest.groovy | 2 +-
src/test/groovy/VArgsTest.groovy | 52 +-
src/test/groovy/VerbatimGStringTest.groovy | 14 +-
src/test/groovy/bugs/ArrayMethodCallBug.groovy | 4 +-
.../bugs/AssignmentInsideExpressionBug.groovy | 6 +-
.../bugs/BadLineNumberOnExceptionBugTest.groovy | 2 +-
src/test/groovy/bugs/BenchmarkBug.groovy | 4 +-
src/test/groovy/bugs/BooleanBug.groovy | 8 +-
src/test/groovy/bugs/Bytecode2Bug.groovy | 21 +-
src/test/groovy/bugs/Bytecode3Bug.groovy | 6 +-
src/test/groovy/bugs/Bytecode4Bug.groovy | 8 +-
src/test/groovy/bugs/Bytecode5Bug.groovy | 2 +-
src/test/groovy/bugs/Bytecode6Bug.groovy | 6 +-
src/test/groovy/bugs/BytecodeBug.groovy | 6 +-
.../bugs/CallingClosuresWithClosuresBug.groovy | 4 +-
.../groovy/bugs/ClassGeneratorFixesTest.groovy | 2 +-
src/test/groovy/bugs/ClassInNamedParamsBug.groovy | 10 +-
.../groovy/bugs/ClosureParameterPassingBug.groovy | 10 +-
.../groovy/bugs/ClosureTypedVariableBug.groovy | 15 +-
src/test/groovy/bugs/ClosureVariableBug.groovy | 16 +-
.../bugs/ClosureWithStaticVariablesBug.groovy | 4 +-
src/test/groovy/bugs/ConstructorBug.groovy | 6 +-
src/test/groovy/bugs/DefVariableBug.groovy | 6 +-
.../bugs/DirectMethodCallWithVargsTest.groovy | 18 +-
src/test/groovy/bugs/ForLoopBug.groovy | 1 -
src/test/groovy/bugs/FullyQualifiedClassBug.groovy | 2 +-
src/test/groovy/bugs/GetterBug.groovy | 32 +-
src/test/groovy/bugs/Groovy10133.groovy | 275 ++++++++
src/test/groovy/bugs/Groovy1018_Bug.groovy | 4 +-
.../{Groovy3389Bug.groovy => Groovy10191.groovy} | 31 +-
.../bugs/{Groovy9329.groovy => Groovy10199.groovy} | 24 +-
src/test/groovy/bugs/Groovy1081_Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy1462_Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy239_Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy252_Bug.groovy | 16 +-
src/test/groovy/bugs/Groovy2773Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy278_Bug.groovy | 20 +-
src/test/groovy/bugs/Groovy308_Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy3135Bug.groovy | 14 +-
src/test/groovy/bugs/Groovy3139Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy3156And2621Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3163Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy3208Bug.groovy | 18 +-
src/test/groovy/bugs/Groovy3235Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3238Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3305Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy3383Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3389Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3410Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3422.groovy | 2 +-
src/test/groovy/bugs/Groovy3446Bug.groovy | 1 -
src/test/groovy/bugs/Groovy3465Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy3511Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3519Bug.groovy | 4 -
src/test/groovy/bugs/Groovy3574Bug.groovy | 14 +-
src/test/groovy/bugs/Groovy3679Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy3718Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy3720Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3723Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy3749Bug.groovy | 12 +-
src/test/groovy/bugs/Groovy3768Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy3770Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy3776Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3827Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3831Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3834Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy3868Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy389_Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4035Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4038Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4043Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4046Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4069Bug.groovy | 44 +-
src/test/groovy/bugs/Groovy4075Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy4080Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy4081Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4107Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4111Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4116Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy4121Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4133Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4169Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4188Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4190Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy4191Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4202Bug.groovy | 2 +-
.../bugs/{Groovy3422.groovy => Groovy4206.groovy} | 27 +-
src/test/groovy/bugs/Groovy4206Bug.groovy | 36 -
src/test/groovy/bugs/Groovy4241Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4243Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4246Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4264Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4273Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy4293Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4410Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy4414Bug.groovy | 12 +-
src/test/groovy/bugs/Groovy4415Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4416Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy4449Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy4497Bug.groovy | 12 +-
src/test/groovy/bugs/Groovy4958Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy4999Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy5030Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy513_Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy5212Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy5260Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy5267Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy5272Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy6271Bug.groovy | 16 +-
src/test/groovy/bugs/Groovy6804Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy6932Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy7031Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy7204Bug.groovy | 172 ++---
src/test/groovy/bugs/Groovy770_Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy7867.groovy | 114 +++
src/test/groovy/bugs/Groovy7995Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy8055Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy8059Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy8060Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy8084Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy8085Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy8090Bug.groovy | 10 +-
src/test/groovy/bugs/Groovy8138Bug.groovy | 4 +-
src/test/groovy/bugs/Groovy8140Bug.groovy | 1 -
src/test/groovy/bugs/Groovy8212Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy831_Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy8389Bug.groovy | 32 +-
src/test/groovy/bugs/Groovy8405Bug.groovy | 2 +-
src/test/groovy/bugs/Groovy8444.groovy | 8 +-
src/test/groovy/bugs/Groovy8474Bug.groovy | 92 +--
src/test/groovy/bugs/Groovy8595Bug.groovy | 8 +-
src/test/groovy/bugs/Groovy8629Bug.groovy | 22 +-
src/test/groovy/bugs/Groovy8819Bug.groovy | 6 +-
src/test/groovy/bugs/Groovy8947.groovy | 2 +-
src/test/groovy/bugs/Groovy9329.groovy | 4 +-
src/test/groovy/bugs/Groovy9589.groovy | 1 -
src/test/groovy/bugs/Groovy9601.groovy | 10 +-
src/test/groovy/bugs/GroovyInnerEnumBug.groovy | 2 +-
src/test/groovy/bugs/GuillaumesBug.groovy | 2 +-
src/test/groovy/bugs/GuillaumesMapBug.groovy | 30 +-
...vokeNormalMethodFromBuilder_Groovy657Bug.groovy | 2 +-
.../groovy/bugs/IterateOverCustomTypeBug.groovy | 6 +-
src/test/groovy/bugs/MarkupAndMethodBug.groovy | 12 +-
...MethodCallWithoutParensInStaticMethodBug.groovy | 2 +-
src/test/groovy/bugs/MethodClosureTest.groovy | 4 +-
src/test/groovy/bugs/MethodDispatchBug.groovy | 4 +-
src/test/groovy/bugs/NestedClosure2Bug.groovy | 12 +-
src/test/groovy/bugs/NestedClosureBug.groovy | 4 +-
src/test/groovy/bugs/NullCompareBug.groovy | 2 +-
.../groovy/bugs/OverloadInvokeMethodBug.groovy | 6 +-
src/test/groovy/bugs/PrimitivePropertyBug.groovy | 4 +-
src/test/groovy/bugs/PrintlnWithNewBug.groovy | 2 +-
src/test/groovy/bugs/RodsBooleanBug.groovy | 6 +-
.../groovy/bugs/StaticClosurePropertyBug.groovy | 4 +-
src/test/groovy/bugs/StaticMethodCallBug.groovy | 2 +-
.../groovy/bugs/SubscriptAndExpressionBug.groovy | 36 +-
.../bugs/SubscriptOnPrimitiveTypeArrayBug.groovy | 10 +-
.../groovy/bugs/SubscriptOnStringArrayBug.groovy | 10 +-
src/test/groovy/bugs/SuperMethod2Bug.groovy | 46 +-
.../groovy/bugs/SynchronizedBytecodeBug.groovy | 168 ++---
src/test/groovy/bugs/TestBase.groovy | 6 +-
src/test/groovy/bugs/TestDerived.groovy | 3 +-
src/test/groovy/bugs/TryCatch2Bug.groovy | 6 +-
src/test/groovy/bugs/TryCatchBug.groovy | 2 +-
src/test/groovy/bugs/VariablePrecedence.groovy | 4 +-
src/test/groovy/bugs/VariableScopingBug.groovy | 2 +-
src/test/groovy/bugs/ZoharsBug.groovy | 4 +-
.../AnnotationCollectorReflectionTest.groovy} | 18 +-
.../groovy10121/SomeCollectedAnnotations.groovy} | 12 +-
.../bugs/groovy5912/otherpkg/Groovy5912Bug.groovy | 6 +-
src/test/groovy/bugs/groovy8966/Groovy8966.groovy | 2 +-
src/test/groovy/bugs/groovy9204/Groovy9204.groovy | 2 +-
.../groovy/bugs/groovy9236/Groovy9236Bug.groovy | 4 +-
.../groovy/generated/DelegateGeneratedTest.groovy | 6 +-
src/test/groovy/lang/CategoryAnnotationTest.groovy | 30 +-
src/test/groovy/lang/ExceptionTest.groovy | 12 +-
.../lang/ExpandoMetaClassConstructorTest.groovy | 2 +-
src/test/groovy/lang/ExpandoMetaClassTest.groovy | 2 +-
src/test/groovy/lang/GroovyClassLoaderTest.groovy | 6 +-
src/test/groovy/lang/GroovyShellTest.java | 6 +-
src/test/groovy/lang/MixinAnnotationTest.groovy | 152 ++--
src/test/groovy/lang/MixinTest.groovy | 4 +-
src/test/groovy/lang/PropertyMissingTest.groovy | 11 +
src/test/groovy/lang/SpreadMapTest.java | 4 +-
src/test/groovy/lang/StripMarginTest.groovy | 2 +-
.../groovy/mock/example/SandwichMakerTest.groovy | 2 +-
.../mock/interceptor/MockSingleCallTest.groovy | 2 +-
.../groovy/operator/BigDecimalOperatorsTest.groovy | 16 +-
.../operator/BigIntegerOperationsTest.groovy | 6 +-
.../groovy/operator/IntegerOperatorsTest.groovy | 44 +-
src/test/groovy/operator/NegateListsTest.groovy | 2 +-
.../groovy/operator/StringOperatorsTest.groovy | 2 +-
.../groovy/operator/TernaryOperatorsTest.groovy | 10 +-
.../groovy/operator/UnaryMinusOperatorTest.groovy | 16 +-
src/test/groovy/transform/ReadWriteLockTest.groovy | 2 +-
src/test/groovy/transform/stc/BugsSTCTest.groovy | 2 +-
.../stc/ClosureParamTypeInferenceSTCTest.groovy | 79 ++-
.../stc/FieldsAndPropertiesSTCTest.groovy | 3 +-
.../groovy/transform/stc/GenericsSTCTest.groovy | 21 +
src/test/groovy/transform/stc/LoopsSTCTest.groovy | 66 +-
src/test/groovy/transform/stc/MiscSTCTest.groovy | 24 +-
src/test/groovy/transform/stc/WithSTCTest.groovy | 2 +-
src/test/groovy/tree/ClosureClassLoaderBug.groovy | 4 +-
src/test/groovy/tree/NestedClosureBugTest.groovy | 2 +-
src/test/groovy/tree/SmallTreeTest.groovy | 6 +-
src/test/groovy/tree/TreeTest.groovy | 28 +-
src/test/groovy/tree/VerboseTreeTest.groovy | 28 +-
src/test/groovy/util/BuilderSupportTest.groovy | 4 +-
src/test/groovy/util/ConfigObjectTest.groovy | 18 +-
src/test/groovy/util/ConfigSlurperTest.groovy | 2 +-
.../groovy/util/FactoryBuilderSupportTest.groovy | 2 +-
src/test/groovy/util/ObjectGraphBuilderTest.groovy | 2 +-
.../groovy/util/ProxyGeneratorAdapterTest.groovy | 10 +-
src/test/groovy/util/ProxyGeneratorTest.groovy | 6 +-
src/test/groovy/util/ProxyTest.groovy | 12 +-
.../groovy/ast/tools/ExpressionUtilsTest.groovy | 97 +++
.../groovy/lang/GroovyObjectHelperTest.groovy | 4 +-
.../groovy/parser/antlr4/GroovyParserTest.groovy | 57 +-
.../groovy/parser/antlr4/SyntaxErrorTest.groovy | 26 +-
.../apache/groovy/parser/antlr4/TestUtils.groovy | 5 +-
.../org/apache/groovy/util/JavaShellTest.groovy | 4 +-
src/test/org/codehaus/groovy/ast/ASTNodeTest.java | 2 +-
.../org/codehaus/groovy/ast/ClassNodeTest.java | 20 +
.../org/codehaus/groovy/ast/MethodNodeTest.groovy | 10 +-
.../groovy/ast/VariableExpressionTest.java | 2 +-
.../groovy/ast/source/Groovy3049Test.groovy | 34 +-
.../groovy/ast/source/Groovy3050Test.groovy | 25 +-
.../groovy/ast/source/Groovy3051Test.groovy | 72 +-
.../classgen/CallClosureFieldAsMethodTest.groovy | 2 +-
.../codehaus/groovy/classgen/CallSiteTest.groovy | 2 +-
.../groovy/classgen/ConstructorIssueTest.groovy | 8 +-
src/test/org/codehaus/groovy/classgen/Main.groovy | 2 +-
.../codehaus/groovy/classgen/MetaClassTest.groovy | 2 +-
.../codehaus/groovy/classgen/TupleListTest.java | 2 +-
.../codehaus/groovy/classgen/VerifierTest.groovy | 8 +-
.../classgen/asm/BinaryOperationsTest.groovy | 8 +-
.../classgen/asm/DirectMethodCallTest.groovy | 6 +-
.../groovy/classgen/asm/HotSwapTest.groovy | 4 +-
.../asm/InstructionSequenceHelperClassTest.groovy | 4 +-
.../groovy/classgen/asm/MethodPatternsTest.groovy | 4 +-
.../classgen/asm/sc/MiscStaticCompileTest.groovy | 8 -
.../asm/sc/StaticCompileConstructorsTest.groovy | 2 +-
.../asm/sc/StaticCompileFlowTypingTest.groovy | 2 +-
.../classgen/asm/sc/StaticCompileMathTest.groovy | 2 +-
.../TupleConstructorStaticCompilationTest.groovy | 2 +-
.../classgen/asm/sc/bugs/Groovy6240Bug.groovy | 69 --
.../classgen/asm/sc/bugs/Groovy6657Bug.groovy | 1 -
.../classgen/asm/sc/bugs/Groovy6693Bug.groovy | 26 +-
.../classgen/asm/sc/bugs/Groovy7042Bug.groovy | 5 -
.../classgen/asm/sc/bugs/Groovy7883Bug.groovy | 30 +-
.../classgen/asm/sc/bugs/Groovy8240Bug.groovy | 12 +-
.../asm/sc/bugs/ReproducibleBytecodeBugs.groovy | 6 +-
.../ASTTransformationCustomizerTest.groovy | 2 +-
.../groovy/control/io/FileReaderTest.groovy | 4 +-
.../runtime/InvokerHelperFormattingTest.groovy | 4 +-
.../codehaus/groovy/runtime/NullObjectTest.groovy | 12 +-
.../groovy/runtime/PerInstanceMetaClassTest.groovy | 4 +-
.../groovy/runtime/memoize/CacheCleanupTest.groovy | 2 +-
.../groovy/runtime/memoize/MemoizeTest.groovy | 18 +-
.../runtime/trampoline/TrampolineTest.groovy | 2 +-
src/test/org/codehaus/groovy/syntax/TokenTest.java | 2 +-
...otationMemberValuesResolutionV1StubsTest.groovy | 8 +-
...otationMemberValuesResolutionV2StubsTest.groovy | 8 +-
...otationMemberValuesResolutionV3StubsTest.groovy | 8 +-
...otationMemberValuesResolutionV4StubsTest.groovy | 2 +-
.../DuplicateMethodAdditionInStubsTest.groovy | 6 +-
.../stubgenerator/RedundantCastInStubTest.groovy | 2 +-
.../stubgenerator/StringSourcesStubTestCase.groovy | 4 +-
.../StubGenerationForAnAnnotationStubsTest.groovy | 2 +-
...nForConstructorWithOptionalArgsStubsTest.groovy | 2 +-
.../UnAmbigousSuperConstructorCallStubsTest.groovy | 6 +-
.../AutoFinalTransformBlackBoxTest.groovy | 6 +-
.../transform/BaseScriptTransformTest.groovy | 10 +-
.../groovy/transform/CanonicalTransformTest.groovy | 26 +-
.../groovy/transform/DelegateTransformTest.groovy | 15 +
.../groovy/transform/FinalTransformTest.groovy | 81 +++
.../transform/MemoizedASTTransformationTest.groovy | 2 +-
.../groovy/transform/NewifyTransformTest.groovy | 2 +-
.../groovy/transform/SealedTransformTest.groovy | 206 ++++++
.../groovy/transform/ToStringTransformTest.groovy | 6 +-
.../groovy/transform/stc/SignatureCodecTest.groovy | 8 +-
.../ReturnStatementToIterationConverterTest.groovy | 10 +-
.../transform/tailrec/StatementReplacerTest.groovy | 22 +-
.../tailrec/VariableExpressionReplacerTest.groovy | 2 +-
.../traitx/TraitASTTransformationTest.groovy | 2 +-
.../groovy/util/ManagedLinkedlistTest.groovy | 12 +-
.../v8/PluginDefaultGroovyMethodsTest.groovy | 6 +-
.../org/codehaus/groovy/classgen/TestSupport.java | 2 +-
.../src/main/java/groovy/ant/AntBuilder.java | 4 +-
.../codehaus/groovy/ant/CompileTaskSupport.java | 6 +-
.../java/org/codehaus/groovy/ant/FileScanner.java | 6 +-
.../java/org/codehaus/groovy/ant/GroovycTask.java | 2 +-
.../org/codehaus/groovy/ant/RootLoaderRef.java | 2 +-
.../org/codehaus/groovy/ant/UberCompileTask.java | 12 +-
.../groovy-ant/src/spec/doc/groovy-ant-task.adoc | 6 +-
.../groovy-ant/src/spec/doc/groovyc-ant-task.adoc | 1 -
.../src/test-resources/groovy/ant/AntTest.xml | 2 +-
.../test-resources/groovy/ant/AntTest_import.xml | 2 +-
.../test/groovy/groovy/ant/Groovy8496Test.groovy | 2 +-
.../groovy/org/codehaus/groovy/ant/GroovyTest.java | 6 +-
.../ast/builder/AstBuilderTransformation.java | 4 +-
.../test/groovy/groovy/bugs/MyConstants4272.java | 2 +-
.../bugs/MyConstantsASTTransformation4272.groovy | 14 +-
.../groovy/ast/CodeVisitorSupportTest.groovy | 13 +-
.../ast/builder/AstBuilderFromCodeTest.groovy | 20 +-
.../builder/AstBuilderFromSpecificationTest.groovy | 83 ++-
.../ast/builder/AstBuilderFromStringTest.groovy | 6 +-
subprojects/groovy-binary/src/spec/doc/index.adoc | 4 +
.../groovy/cli/picocli/CliBuilderTest.groovy | 2 +-
.../src/main/groovy/groovy/console/TextNode.groovy | 12 +-
.../groovy/groovy/console/TextTreeNodeMaker.groovy | 2 +-
.../groovy/groovy/console/ui/AstBrowser.groovy | 8 +-
.../console/ui/AstNodeToScriptAdapter.groovy | 184 +++--
.../groovy/console/ui/ConsoleTextEditor.java | 5 +-
.../console/ui/text/SmartDocumentFilter.java | 8 +-
.../ui/text/StructuredSyntaxDocumentFilter.java | 156 ++---
.../console/ui/text/StructuredSyntaxResources.java | 8 +-
.../groovy/console/ui/view/GTKDefaults.groovy | 2 +-
.../console/ui/AstNodeToScriptAdapterTest.groovy | 71 +-
.../ui/HistoryRecordGetTextToRunTests.groovy | 8 +-
.../console/ui/ScriptToTreeNodeAdapterTest.groovy | 2 +-
.../tests/doc/DocumentationExampleTests.groovy | 6 +-
.../tests/doc/RootClassExampleTests.groovy | 18 +-
.../contracts/tests/inv/InheritanceTests.groovy | 6 +-
.../contracts/tests/post/InheritanceTests.groovy | 2 +-
.../src/main/groovy/groovy/ginq/transform/GQ.java} | 42 +-
.../apache/groovy/ginq/GinqGroovyMethods.groovy | 27 +-
.../org/apache/groovy/ginq/dsl/GinqAstBuilder.java | 46 +-
.../groovy/ginq/dsl/expression/GinqExpression.java | 2 +-
.../ginq/provider/collection/GinqAstWalker.groovy | 56 +-
.../collection/runtime/ConcurrentObjectHolder.java | 40 +-
.../provider/collection/runtime/GroupImpl.java | 4 +-
.../collection/runtime/QueryableCollection.java | 184 +++--
.../collection/runtime/QueryableHelper.groovy | 38 +-
.../ginq/transform/GinqASTTransformation.java | 133 ++++
.../groovy-ginq/src/spec/doc/ginq-userguide.adoc | 68 +-
.../test/org/apache/groovy/ginq/GinqTest.groovy | 762 +++++++++++++++++++--
.../org/apache/groovy/ginq/GinqErrorTest.groovy | 21 +-
.../tools/groovydoc/ClasspathResourceManager.java | 2 +-
.../groovy/tools/groovydoc/MockOutputTool.java | 6 +-
.../groovydoc/SimpleGroovyExecutableMemberDoc.java | 4 +-
.../gstringTemplates/classLevel/classDocName.html | 18 +-
.../testfiles/ClassWithAnonymousInnerClass.java | 2 +-
.../apache/groovy/groovysh/BufferManager.groovy | 26 +-
.../org/apache/groovy/groovysh/Groovysh.groovy | 2 +-
.../groovy/groovysh/commands/ShadowCommand.groovy | 6 +-
.../antlr4/VariableSyntaxCompleter.groovy | 1 -
.../groovy-groovysh/src/spec/doc/groovysh.adoc | 2 +-
.../groovysh/commands/HelpCommandTest.groovy | 4 +-
.../groovy-jmx/src/spec/test/JmxTest.groovy | 18 +-
.../java/groovy/jmx/builder/MockManagedObject.java | 8 +-
subprojects/groovy-json/build.gradle | 4 +-
.../test/groovy/groovy/json/JsonBuilderTest.groovy | 2 +-
.../groovy/json/StreamingJsonBuilderTest.groovy | 8 +-
.../groovy/jsr223/GroovyScriptEngineImpl.java | 8 +-
.../org/codehaus/groovy/jsr223/JSR223Test.groovy | 2 +-
.../groovy/macro/MacroTransformationTest.groovy | 2 +-
.../groovy/macro/matcher/ASTMatcherTest.groovy | 2 +-
.../groovy/nio/extensions/NioExtensions.java | 12 +-
.../java/groovy/servlet/AbstractHttpServlet.java | 8 +-
.../main/java/groovy/servlet/ServletBinding.java | 28 +-
.../main/java/groovy/servlet/TemplateServlet.java | 4 +-
.../src/spec/test/servlet/GroovyServletTest.groovy | 2 +-
.../src/main/java/groovy/sql/GroovyRowResult.java | 2 +-
.../test/groovy/groovy/sql/SqlCompleteTest.groovy | 2 +-
.../main/groovy/groovy/swing/SwingBuilder.groovy | 2 +-
.../groovy/swing/factory/ActionFactory.groovy | 2 +-
.../groovy/groovy/swing/factory/BoxFactory.groovy | 2 +-
.../groovy/swing/factory/CollectionFactory.groovy | 2 +-
.../groovy/swing/factory/ComboBoxFactory.groovy | 2 +-
.../swing/factory/FormattedTextFactory.groovy | 2 +-
.../groovy/swing/factory/LineBorderFactory.groovy | 2 +-
.../groovy/groovy/swing/factory/MapFactory.groovy | 2 +-
.../groovy/swing/factory/MatteBorderFactory.groovy | 2 +-
.../groovy/swing/factory/SeparatorFactory.groovy | 2 +-
.../groovy/swing/factory/SplitPaneFactory.groovy | 2 +-
.../groovy/swing/factory/TableLayoutFactory.groovy | 4 +-
.../groovy/swing/factory/TableModelFactory.groovy | 2 +-
.../swing/factory/TitledBorderFactory.groovy | 2 +-
.../groovy/swing/factory/WindowFactory.groovy | 2 +-
.../groovy/groovy/swing/impl/DefaultAction.java | 2 +-
.../main/groovy/groovy/swing/impl/TableLayout.java | 4 +-
.../groovy/groovy/swing/impl/TableLayoutCell.java | 24 +-
.../groovy/groovy/swing/impl/TableLayoutRow.java | 8 +-
.../groovy/swing/model/DefaultTableColumn.java | 4 +-
.../java/groovy/swing/model/DefaultTableModel.java | 22 +-
.../main/java/groovy/swing/model/FormModel.java | 4 +-
.../java/groovy/swing/model/PropertyModel.java | 2 +-
.../main/java/groovy/swing/model/ValueHolder.java | 12 +-
.../groovy/swing/binding/BindingUpdatable.java | 4 +-
.../src/spec/test/SwingBuilderTest.groovy | 4 +-
.../groovy/groovy/swing/StrangeEventListener.java | 4 +-
.../TitledBorderFactoryJustificationTest.groovy | 4 +-
.../groovy/swing/beans/BindableSwingTest.groovy | 4 +-
.../groovy/swing/model/TableModelTest.groovy | 16 +-
.../src/spec/test/TemplateEnginesTest.groovy | 18 +-
subprojects/groovy-test-junit5/build.gradle | 1 +
.../src/test/groovy/JQwikTest.groovy | 19 +-
.../groovy/test/JavadocAssertionTestBuilder.groovy | 26 +-
.../groovy/test/JavadocAssertionTestSuite.groovy | 16 +-
.../test/JavadocAssertionTestBuilderTest.groovy | 24 +-
.../src/main/groovy/groovy/xml/Entity.groovy | 24 +-
.../groovy/xml/StreamingMarkupBuilder.groovy | 6 +-
.../main/groovy/groovy/xml/XmlParserFactory.groovy | 34 +-
.../groovy/groovy/xml/XmlSlurperFactory.groovy | 34 +-
.../src/main/java/groovy/xml/DOMBuilder.java | 4 +-
.../src/main/java/groovy/xml/MarkupBuilder.java | 2 +-
.../src/main/java/groovy/xml/NamespaceBuilder.java | 2 +-
.../java/groovy/xml/NamespaceBuilderSupport.java | 2 +-
.../src/main/java/groovy/xml/XmlSlurper.java | 4 +-
.../groovy/xml/slurpersupport/GPathResult.java | 2 +-
.../java/groovy/xml/slurpersupport/NodeChild.java | 2 +-
.../groovy/xml/slurpersupport/NodeParents.java | 8 +-
.../groovy/xml/slurpersupport/ReplacementNode.java | 2 +-
.../groovy/xml/streamingmarkupsupport/Builder.java | 16 +-
.../groovy-xml/src/spec/test/DOMBuilderTest.groovy | 4 +-
.../groovy-xml/src/spec/test/SaxBuilderTest.groovy | 10 +-
.../src/spec/test/StaxBuilderTest.groovy | 10 +-
.../src/test/groovy/groovy/xml/DOMTest.groovy | 26 +-
.../groovy/xml/GpathSyntaxTestSupport.groovy | 2 +-
.../groovy/groovy/xml/NamespaceNodeTest.groovy | 4 +-
.../src/test/groovy/groovy/xml/SAXTest.groovy | 10 +-
.../test/groovy/groovy/xml/VerboseDOMTest.groovy | 24 +-
.../groovy/groovy/xml/XmlParserFactoryTest.groovy | 20 +-
.../groovy/groovy/xml/XmlSlurperFactoryTest.groovy | 27 +-
.../groovy/groovy/xml/bugs/Groovy249_Bug.groovy | 18 +-
.../groovy/groovy/xml/bugs/Groovy4285Bug.groovy | 2 +-
.../groovy/groovy/xml/bugs/StaticMarkupBug.groovy | 2 +-
.../groovy/groovy/xml/script/AtomTestScript.groovy | 2 +-
.../resources/org/apache/groovy/xml/tools/po.xsd | 2 +-
.../org/apache/groovy/xml/tools/swing.xml | 1 -
.../org/apache/groovy/xml/tools/swing2.xml | 1 -
versions.properties | 26 +-
891 files changed, 10064 insertions(+), 6321 deletions(-)
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/AstHelper.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/CollectRecursiveCalls.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/HasRecursiveCalls.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/RecursivenessTester.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/VariableAccessReplacer.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy
delete mode 100644
src/main/groovy/org/codehaus/groovy/transform/tailrec/VariableExpressionTransformer.groovy
create mode 100644 src/main/java/groovy/transform/Final.java
copy
subprojects/groovy-astbuilder/src/test/groovy/groovy/bugs/MyConstants4272.java
=> src/main/java/groovy/transform/NonSealed.java (77%)
copy
subprojects/groovy-astbuilder/src/test/groovy/groovy/bugs/MyConstants4272.java
=> src/main/java/groovy/transform/Sealed.java (69%)
rename src/main/{groovy/groovy/transform/TailRecursive.groovy =>
java/groovy/transform/TailRecursive.java} (87%)
create mode 100644
src/main/java/org/codehaus/groovy/transform/FinalASTTransformation.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/NonSealedASTTransformation.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/SealedASTTransformation.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/AstHelper.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/CollectRecursiveCalls.java
copy src/main/java/org/codehaus/groovy/{ast/expr/ExpressionTransformer.java =>
transform/tailrec/GotoRecurHereException.java} (74%)
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/HasRecursiveCalls.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/RecursivenessTester.java
rename
src/main/{groovy/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy
=> java/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.java}
(63%)
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/StatementReplacer.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.java
rename
src/main/{groovy/org/codehaus/groovy/transform/tailrec/TernaryToIfStatementConverter.groovy
=>
java/org/codehaus/groovy/transform/tailrec/TernaryToIfStatementConverter.java}
(60%)
copy src/main/java/org/codehaus/groovy/{ast/stmt/BreakStatement.java =>
transform/tailrec/UsedVariableTracker.java} (61%)
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/VariableAccessReplacer.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.java
create mode 100644
src/main/java/org/codehaus/groovy/transform/tailrec/VariableExpressionTransformer.java
copy src/{test/groovy/ClassLoaderBug.groovy =>
main/java/org/codehaus/groovy/transform/tailrec/VariableReplacedListener.java}
(72%)
create mode 100644 src/spec/doc/_sealed.adoc
create mode 100644 src/spec/doc/performance-guide.adoc
create mode 100644 src/spec/test/SealedSpecificationTest.groovy
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/bugs/BUG-GROOVY-10181.groovy} (88%)
copy src/{main/java/org/codehaus/groovy/GroovyExceptionInterface.java =>
test-resources/core/SealedTypeDeclaration_01x.groovy} (57%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_01x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_02x.groovy} (85%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_03x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_04x.groovy} (87%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_05x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_06x.groovy} (84%)
copy
subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithAnonymousInnerClass.java
=> src/test-resources/core/SwitchExpression_07x.groovy (73%)
copy src/{main/java/org/codehaus/groovy/GroovyExceptionInterface.java =>
test-resources/core/SwitchExpression_08x.groovy} (72%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_09x.groovy} (87%)
copy src/{main/java/org/codehaus/groovy/ast/stmt/ContinueStatement.java =>
test-resources/core/SwitchExpression_10x.groovy} (60%)
create mode 100644 src/test-resources/core/SwitchExpression_11x.groovy
copy
subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithAnonymousInnerClass.java
=> src/test-resources/core/SwitchExpression_12x.groovy (81%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_13x.groovy} (86%)
create mode 100644 src/test-resources/core/SwitchExpression_14x.groovy
copy
subprojects/groovy-groovydoc/src/test/groovy/org/codehaus/groovy/tools/groovydoc/testfiles/ClassWithAnonymousInnerClass.java
=> src/test-resources/core/SwitchExpression_15x.groovy (82%)
copy src/{test/groovy/ClassLoaderBug.groovy =>
test-resources/core/SwitchExpression_16x.groovy} (74%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_17x.groovy} (83%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_18x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/core/SwitchExpression_19x.groovy} (88%)
copy src/{test/groovy/bugs/NestedClosureBug.groovy =>
test-resources/core/SwitchExpression_20x.groovy} (73%)
copy src/{test/groovy/bugs/groovy8966/Groovy8966.groovy =>
test-resources/core/SwitchExpression_21x.groovy} (73%)
copy src/{test/groovy/ClassLoaderBug.groovy =>
test-resources/core/SwitchExpression_22x.groovy} (68%)
copy src/{test/groovy/bugs/Groovy4043Bug.groovy =>
test-resources/core/SwitchExpression_23x.groovy} (65%)
copy src/{main/java/org/codehaus/groovy/ast/stmt/LoopingStatement.java =>
test-resources/core/SwitchExpression_24x.groovy} (61%)
copy src/test-resources/core/{List_01.groovy => SwitchExpression_25x.groovy}
(79%)
copy src/{test/groovy/bugs/TryCatch2Bug.groovy =>
test-resources/core/SwitchExpression_26x.groovy} (74%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_01x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_02x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_03x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_04x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_05x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_06x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_07x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_08x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SealedTypeDeclaration_09x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_01x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_02x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_03x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_04x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_05x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_06x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_07x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_08x.groovy} (88%)
copy src/{test/org/codehaus/groovy/classgen/Main.groovy =>
test-resources/fail/SwitchExpression_09x.groovy} (88%)
create mode 100644 src/test/groovy/bugs/Groovy10133.groovy
copy src/test/groovy/bugs/{Groovy3389Bug.groovy => Groovy10191.groovy} (67%)
copy src/test/groovy/bugs/{Groovy9329.groovy => Groovy10199.groovy} (67%)
copy src/test/groovy/bugs/{Groovy3422.groovy => Groovy4206.groovy} (69%)
delete mode 100644 src/test/groovy/bugs/Groovy4206Bug.groovy
create mode 100644 src/test/groovy/bugs/Groovy7867.groovy
copy src/test/groovy/{ClassLoaderBug.groovy =>
bugs/groovy10121/AnnotationCollectorReflectionTest.groovy} (71%)
copy src/test/{org/codehaus/groovy/classgen/Main.groovy =>
groovy/bugs/groovy10121/SomeCollectedAnnotations.groovy} (85%)
create mode 100644
src/test/org/apache/groovy/ast/tools/ExpressionUtilsTest.groovy
delete mode 100644
src/test/org/codehaus/groovy/classgen/asm/sc/bugs/Groovy6240Bug.groovy
create mode 100644
src/test/org/codehaus/groovy/transform/FinalTransformTest.groovy
create mode 100644
src/test/org/codehaus/groovy/transform/SealedTransformTest.groovy
copy
subprojects/{groovy-astbuilder/src/test/groovy/groovy/bugs/MyConstants4272.java
=> groovy-ginq/src/main/groovy/groovy/ginq/transform/GQ.java} (54%)
create mode 100644
subprojects/groovy-ginq/src/main/groovy/org/apache/groovy/ginq/transform/GinqASTTransformation.java
copy src/test/groovy/ClassLoaderBug.groovy =>
subprojects/groovy-test-junit5/src/test/groovy/JQwikTest.groovy (72%)
copy src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java =>
subprojects/groovy-xml/src/main/groovy/groovy/xml/XmlParserFactory.groovy (55%)
copy src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java =>
subprojects/groovy-xml/src/main/groovy/groovy/xml/XmlSlurperFactory.groovy (55%)
copy src/test/groovy/ClassLoaderBug.groovy =>
subprojects/groovy-xml/src/test/groovy/groovy/xml/XmlParserFactoryTest.groovy
(74%)
copy src/test/groovy/bugs/Groovy278_Bug.groovy =>
subprojects/groovy-xml/src/test/groovy/groovy/xml/XmlSlurperFactoryTest.groovy
(74%)