Merge branch 'parrot'
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/a3f8671b Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/a3f8671b Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/a3f8671b Branch: refs/heads/parrot Commit: a3f8671b5fb6ce83a7c3c65c04d46626ddbb646a Parents: e0d5596 ce12609 Author: paulk <[email protected]> Authored: Tue Apr 11 07:13:48 2017 +1000 Committer: paulk <[email protected]> Committed: Tue Apr 11 07:13:48 2017 +1000 ---------------------------------------------------------------------- .gitignore | 1 + .travis.yml | 3 +- build.gradle | 28 +- gradle/assemble.gradle | 3 +- gradle/docs.gradle | 5 +- src/main/groovy/lang/Groovydoc.java | 22 + src/main/groovy/lang/MetaClassImpl.java | 172 +- src/main/groovy/ui/GroovyMain.java | 64 +- .../ConcurrentLinkedHashMap.java | 1696 ++ .../concurrentlinkedhashmap/EntryWeigher.java | 40 + .../EvictionListener.java | 48 + .../concurrentlinkedhashmap/LinkedDeque.java | 459 + .../util/concurrentlinkedhashmap/Weigher.java | 39 + .../util/concurrentlinkedhashmap/Weighers.java | 278 + .../concurrentlinkedhashmap/package-info.java | 41 + .../groovy/ast/expr/BinaryExpression.java | 20 +- .../groovy/ast/expr/DeclarationExpression.java | 12 +- .../groovy/ast/expr/LambdaExpression.java | 47 + .../ast/expr/MethodReferenceExpression.java | 45 + .../groovy/ast/stmt/TryCatchStatement.java | 30 +- .../classgen/ClassCompletionVerifier.java | 23 +- .../groovy/classgen/VariableScopeVisitor.java | 22 +- .../classgen/asm/BinaryExpressionHelper.java | 135 +- .../BinaryExpressionMultiTypeDispatcher.java | 26 +- .../groovy/classgen/asm/CallSiteWriter.java | 23 +- .../groovy/classgen/asm/InvocationWriter.java | 20 +- .../groovy/classgen/asm/StatementWriter.java | 54 +- .../classgen/asm/indy/IndyCallSiteWriter.java | 2 +- .../classgen/asm/indy/InvokeDynamicWriter.java | 4 +- ...ypesBinaryExpressionMultiTypeDispatcher.java | 11 +- .../asm/sc/StaticTypesCallSiteWriter.java | 16 +- .../groovy/control/CompilerConfiguration.java | 18 +- .../groovy/control/ParserPluginFactory.java | 59 +- .../codehaus/groovy/runtime/ArrayTypeUtils.java | 98 + .../groovy/runtime/DefaultGroovyMethods.java | 6 +- .../codehaus/groovy/runtime/MethodClosure.java | 83 +- .../groovy/runtime/ScriptBytecodeAdapter.java | 12 +- .../groovy/runtime/memoize/LRUCache.java | 20 +- src/main/org/codehaus/groovy/syntax/Types.java | 36 +- .../stc/StaticTypeCheckingSupport.java | 182 +- .../stc/StaticTypeCheckingVisitor.java | 50 +- src/spec/test/builder/CliBuilderTest.groovy | 2 +- src/test/groovy/EqualsTest.groovy | 38 +- src/test/groovy/EscapedUnicodeTest.groovy | 9 + subprojects/groovy-console/build.gradle | 4 + subprojects/groovy-parser-antlr4/README.md | 36 + subprojects/groovy-parser-antlr4/build.gradle | 59 + .../apache/groovy/parser/antlr4/GroovyLexer.g4 | 872 + .../apache/groovy/parser/antlr4/GroovyParser.g4 | 1250 ++ .../groovy/parser/antlr4/Java.g4.v20160306.zip | Bin 0 -> 5805 bytes .../parser/antlr4/util/GroovyTestRig.groovy | 74 + .../apache/groovy/parser/AbstractParser.java | 83 + .../org/apache/groovy/parser/Antlr2Parser.java | 34 + .../org/apache/groovy/parser/Antlr4Parser.java | 39 + .../groovy/parser/antlr4/AbstractLexer.java | 32 + .../groovy/parser/antlr4/AbstractParser.java | 32 + .../parser/antlr4/Antlr4ParserPlugin.java | 45 + .../parser/antlr4/Antlr4PluginFactory.java | 17 + .../apache/groovy/parser/antlr4/AstBuilder.java | 4494 +++++ .../groovy/parser/antlr4/GroovyLangLexer.java | 45 + .../groovy/parser/antlr4/GroovyLangParser.java | 38 + .../groovy/parser/antlr4/GroovySyntaxError.java | 42 + .../groovy/parser/antlr4/GroovydocManager.java | 165 + .../parser/antlr4/SemanticPredicates.java | 152 + .../parser/antlr4/SyntaxErrorReportable.java | 46 + .../TryWithResourcesASTTransformation.java | 352 + .../parser/antlr4/internal/AtnManager.java | 107 + .../internal/DescriptiveErrorStrategy.java | 110 + .../groovy/parser/antlr4/util/StringUtils.java | 149 + .../parser/antlr4/Geb10SourcesTest.groovy | 1684 ++ .../parser/antlr4/Gradle310SourcesTest.groovy | 15941 +++++++++++++++++ .../parser/antlr4/Grails320SourcesTest.groovy | 4648 +++++ .../parser/antlr4/Groovy250ScriptsTest.groovy | 11081 ++++++++++++ .../parser/antlr4/Groovy250SourcesTest.groovy | 7427 ++++++++ .../parser/antlr4/GroovyParserTest.groovy | 358 + .../parser/antlr4/Spock11RC2SourcesTest.groovy | 1224 ++ .../groovy/parser/antlr4/SyntaxErrorTest.groovy | 148 + .../groovy/parser/antlr4/TestUtils.groovy | 259 + .../antlr4/util/ASTComparatorCategory.groovy | 526 + .../groovy/parser/antlr4/util/AstDumper.groovy | 1025 ++ .../test/resources/bugs/BUG-GROOVY-2324.groovy | 5 + .../test/resources/bugs/BUG-GROOVY-4438.groovy | 8 + .../test/resources/bugs/BUG-GROOVY-4757.groovy | 9 + .../test/resources/bugs/BUG-GROOVY-4762.groovy | 9 + .../test/resources/bugs/BUG-GROOVY-5318.groovy | 1 + .../test/resources/bugs/BUG-GROOVY-5652.groovy | 6 + .../test/resources/bugs/BUG-GROOVY-6038.groovy | 19 + .../src/test/resources/bugs/GROOVY-3898.groovy | 8 + .../core/AnnotationDeclaration_01.groovy | 39 + .../test/resources/core/Annotation_01.groovy | 1 + .../test/resources/core/Annotation_02.groovy | 2 + .../test/resources/core/Annotation_03.groovy | 3 + .../test/resources/core/Annotation_04.groovy | 2 + .../test/resources/core/Annotation_05.groovy | 1 + .../test/resources/core/Annotation_06.groovy | 2 + .../test/resources/core/Annotation_07.groovy | 2 + .../test/resources/core/Annotation_08.groovy | 10 + .../test/resources/core/Annotation_09.groovy | 14 + .../test/resources/core/Annotation_10x.groovy | 20 + .../src/test/resources/core/Array_01x.groovy | 72 + .../src/test/resources/core/Assert_01.groovy | 28 + .../src/test/resources/core/Assert_02x.groovy | 37 + .../src/test/resources/core/Assert_03x.groovy | 26 + .../resources/core/BreakingChange_01x.groovy | 24 + .../resources/core/BreakingChange_02x.groovy | 9 + .../resources/core/BreakingChange_03x.groovy | 16 + .../resources/core/BreakingChange_04x.groovy | 26 + .../resources/core/ClassDeclaration_01.groovy | 55 + .../resources/core/ClassDeclaration_02.groovy | 42 + .../resources/core/ClassDeclaration_03.groovy | 51 + .../resources/core/ClassDeclaration_04.groovy | 22 + .../resources/core/ClassDeclaration_05.groovy | 20 + .../resources/core/ClassDeclaration_06.groovy | 83 + .../resources/core/ClassDeclaration_07.groovy | 27 + .../src/test/resources/core/Closure_01.groovy | 1 + .../src/test/resources/core/Closure_02.groovy | 1 + .../src/test/resources/core/Closure_03.groovy | 1 + .../src/test/resources/core/Closure_04.groovy | 3 + .../src/test/resources/core/Closure_05.groovy | 3 + .../src/test/resources/core/Closure_06.groovy | 9 + .../src/test/resources/core/Closure_07.groovy | 3 + .../src/test/resources/core/Closure_08.groovy | 16 + .../src/test/resources/core/Closure_09.groovy | 16 + .../src/test/resources/core/Closure_10.groovy | 4 + .../test/resources/core/CodeBlock_01x.groovy | 24 + .../src/test/resources/core/Command_01.groovy | 18 + .../src/test/resources/core/Command_02.groovy | 11 + .../src/test/resources/core/Command_03.groovy | 66 + .../src/test/resources/core/Command_04.groovy | 7 + .../src/test/resources/core/Command_05.groovy | 59 + .../src/test/resources/core/Command_06x.groovy | 8 + .../src/test/resources/core/Comments_01.groovy | 28 + .../src/test/resources/core/Comments_02.groovy | 117 + .../resources/core/DefaultMethod_01x.groovy | 21 + .../resources/core/DefaultMethod_02x.groovy | 36 + .../src/test/resources/core/DoWhile_01x.groovy | 7 + .../src/test/resources/core/DoWhile_02x.groovy | 8 + .../src/test/resources/core/DoWhile_03x.groovy | 11 + .../src/test/resources/core/DoWhile_04x.groovy | 14 + .../resources/core/ElvisAssignment_01x.groovy | 38 + .../resources/core/EnumDeclaration_01.groovy | 44 + .../resources/core/EnumDeclaration_02.groovy | 52 + .../resources/core/EnumDeclaration_03.groovy | 6 + .../test/resources/core/Expression_01.groovy | 230 + .../test/resources/core/Expression_02.groovy | 6 + .../test/resources/core/Expression_03.groovy | 31 + .../test/resources/core/Expression_04.groovy | 62 + .../test/resources/core/Expression_05.groovy | 40 + .../test/resources/core/Expression_06.groovy | 6 + .../test/resources/core/Expression_07.groovy | 9 + .../test/resources/core/Expression_08.groovy | 6 + .../test/resources/core/Expression_09.groovy | 16 + .../test/resources/core/Expression_10.groovy | 25 + .../test/resources/core/Expression_11.groovy | 16 + .../test/resources/core/Expression_12.groovy | 17 + .../test/resources/core/Expression_13.groovy | 45 + .../test/resources/core/Expression_14.groovy | 22 + .../test/resources/core/Expression_15.groovy | 127 + .../test/resources/core/Expression_16.groovy | 22 + .../test/resources/core/Expression_17.groovy | 141 + .../test/resources/core/Expression_18.groovy | 26 + .../test/resources/core/Expression_19.groovy | 32 + .../test/resources/core/Expression_20.groovy | 2 + .../test/resources/core/Expression_21x.groovy | 6 + .../test/resources/core/Expression_22x.groovy | 11 + .../test/resources/core/Expression_23x.groovy | 97 + .../src/test/resources/core/For_01.groovy | 55 + .../src/test/resources/core/For_02.groovy | 36 + .../src/test/resources/core/For_03.groovy | 37 + .../src/test/resources/core/For_04x.groovy | 36 + .../src/test/resources/core/For_05x.groovy | 38 + .../src/test/resources/core/GString_01.groovy | 30 + .../src/test/resources/core/GString_02.groovy | 59 + .../src/test/resources/core/GString_03.groovy | 49 + .../test/resources/core/Groovydoc_01x.groovy | 52 + .../test/resources/core/IdenticalOp_01x.groovy | 10 + .../src/test/resources/core/IfElse_01.groovy | 44 + .../resources/core/ImportDeclaration_01.groovy | 1 + .../resources/core/ImportDeclaration_02.groovy | 1 + .../resources/core/ImportDeclaration_03.groovy | 4 + .../resources/core/ImportDeclaration_04.groovy | 5 + .../resources/core/ImportDeclaration_05.groovy | 1 + .../resources/core/ImportDeclaration_06.groovy | 3 + .../resources/core/ImportDeclaration_07.groovy | 6 + .../resources/core/ImportDeclaration_08.groovy | 28 + .../core/InterfaceDeclaration_01.groovy | 36 + .../core/InterfaceDeclaration_02.groovy | 42 + .../core/InterfaceDeclaration_03.groovy | 7 + .../src/test/resources/core/Label_01.groovy | 15 + .../src/test/resources/core/Lambda_01x.groovy | 48 + .../src/test/resources/core/List_01.groovy | 15 + .../src/test/resources/core/Literal_01.groovy | 79 + .../src/test/resources/core/Literal_02.groovy | 48 + .../src/test/resources/core/Literal_03.groovy | 3 + .../core/LocalVariableDeclaration_01.groovy | 110 + .../src/test/resources/core/Map_01.groovy | 29 + .../resources/core/MethodDeclaration_01.groovy | 32 + .../resources/core/MethodDeclaration_02.groovy | 41 + .../resources/core/MethodPointer_01x.groovy | 5 + .../resources/core/MethodReference_01x.groovy | 85 + .../core/NegativeRelationalOperators_01x.groovy | 21 + .../core/NegativeRelationalOperators_02x.groovy | 18 + .../resources/core/PackageDeclaration_01.groovy | 1 + .../resources/core/PackageDeclaration_02.groovy | 1 + .../resources/core/PackageDeclaration_03.groovy | 1 + .../resources/core/PackageDeclaration_04.groovy | 20 + .../resources/core/PackageDeclaration_05.groovy | 23 + .../resources/core/PackageDeclaration_06.groovy | 1 + .../src/test/resources/core/Return_01.groovy | 8 + .../test/resources/core/SafeIndex_01x.groovy | 10 + .../test/resources/core/SafeIndex_02x.groovy | 47 + .../test/resources/core/SafeIndex_03x.groovy | 280 + .../src/test/resources/core/Switch_01.groovy | 60 + .../test/resources/core/Synchronized_01.groovy | 36 + .../src/test/resources/core/Throw_01.groovy | 2 + .../resources/core/TraitDeclaration_01.groovy | 42 + .../resources/core/TraitDeclaration_02.groovy | 40 + .../resources/core/TraitDeclaration_03.groovy | 48 + .../resources/core/TraitDeclaration_04.groovy | 28 + .../resources/core/TraitDeclaration_05.groovy | 23 + .../src/test/resources/core/TryCatch_01.groovy | 112 + .../resources/core/TryWithResources_01x.groovy | 266 + .../src/test/resources/core/Unicode_01.groovy | 24 + .../src/test/resources/core/While_01.groovy | 58 + .../src/test/resources/core/While_02x.groovy | 5 + .../resources/fail/AbstractMethod_01x.groovy | 3 + .../resources/fail/AbstractMethod_02x.groovy | 4 + .../resources/fail/AbstractMethod_03x.groovy | 3 + .../resources/fail/AbstractMethod_04x.groovy | 1 + .../resources/fail/AbstractMethod_05x.groovy | 1 + .../resources/fail/AbstractMethod_06x.groovy | 1 + .../src/test/resources/fail/Break_01x.groovy | 1 + .../src/test/resources/fail/Break_02x.groovy | 3 + .../src/test/resources/fail/Continue_01x.groovy | 1 + .../src/test/resources/fail/Continue_02x.groovy | 3 + .../src/test/resources/fail/DoWhile_01x.groovy | 4 + .../test/resources/fail/Expression_01.groovy | 1 + .../test/resources/fail/Expression_02.groovy | 1 + .../test/resources/fail/Expression_03.groovy | 1 + .../test/resources/fail/Expression_04.groovy | 1 + .../test/resources/fail/Expression_05.groovy | 1 + .../test/resources/fail/Expression_06.groovy | 1 + .../test/resources/fail/Expression_07.groovy | 1 + .../test/resources/fail/Expression_08.groovy | 1 + .../test/resources/fail/Expression_09.groovy | 1 + .../src/test/resources/fail/List_01.groovy | 1 + .../fail/LocalVariableDeclaration_01.groovy | 1 + .../src/test/resources/fail/Modifier_01x.groovy | 1 + .../src/test/resources/fail/Modifier_02x.groovy | 1 + .../src/test/resources/fail/Modifier_03x.groovy | 1 + .../src/test/resources/fail/Modifier_04x.groovy | 3 + .../src/test/resources/fail/Modifier_05x.groovy | 3 + .../resources/fail/ParExpression_01x.groovy | 1 + .../resources/fail/ParExpression_02x.groovy | 1 + .../resources/fail/ParExpression_03x.groovy | 1 + .../test/resources/fail/Parentheses_01.groovy | 2 + .../src/test/resources/fail/Super_01x.groovy | 6 + .../src/test/resources/fail/Switch_01.groovy | 9 + .../src/test/resources/fail/This_01x.groovy | 8 + .../fail/UnexpectedCharacter_01x.groovy | 1 + .../src/test/resources/geb-1.0/allsources.txt | 409 + .../resources/geb-1.0/geb-1.0-allsources.zip | Bin 0 -> 503324 bytes .../test/resources/gradle-3.1/allsources.txt | 3963 ++++ .../gradle-3.1/gradle-3.1-allsources.zip | Bin 0 -> 5966721 bytes .../test/resources/grails-3.2.0/allsources.txt | 1150 ++ .../grails-3.2.0/grails-3.2.0-allsources.zip | Bin 0 -> 1674411 bytes .../test/resources/groovy-2.5.0/allscripts.txt | 2744 +++ .../test/resources/groovy-2.5.0/allsources.txt | 1844 ++ ...roovy-2.5.0-SNAPSHOT-20160921-allscripts.zip | Bin 0 -> 1071812 bytes ...roovy-2.5.0-SNAPSHOT-20160921-allsources.zip | Bin 0 -> 2711417 bytes .../spock-spock-1.1-rc-2/allsources.txt | 294 + .../spock-spock-1.1-rc-2-allsources.zip | Bin 0 -> 338519 bytes 272 files changed, 71265 insertions(+), 404 deletions(-) ----------------------------------------------------------------------
