[GitHub] groovy pull request #838: GROOVY-8920: Fails to infer parameter and return t...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/838 ---
[GitHub] groovy pull request #841: Avoid `gradlew assemble` before running tests on t...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/841 ---
[GitHub] groovy pull request #840: [20181213]Bump dependencies to the latest version
Github user danielsun1106 closed the pull request at: https://github.com/apache/groovy/pull/840 ---
[GitHub] groovy pull request #841: Avoid `gradlew assemble` before running tests on t...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/841 Avoid `gradlew assemble` before running tests on travis-ci You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-travisci-build Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/841.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #841 commit 4c47589609f6ff4cfa7cb3b00f76bb49a638dc20 Author: danielsun1106 Date: 2018-12-12T18:03:12Z Avoid `gradlew assemble` before running tests on travis-ci ---
[GitHub] groovy pull request #840: [20181213]Bump dependencies to the latest version
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/840 [20181213]Bump dependencies to the latest version You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy bump-deps-1 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/840.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #840 commit df72ec7ce3a4f8671bf64d6214415d4ac0439d48 Author: danielsun1106 Date: 2018-12-12T17:09:04Z GROOVY-8921: Bump build-scan gradle plugin to 2.1 commit 78c6e461d5113769f1bdfb277dbd6b624afed5c1 Author: danielsun1106 Date: 2018-12-12T17:12:44Z GROOVY-8922: Bump spotbugs gradle plugin to 1.6.6 and bump spotbugs-annotations to 3.1.9 commit 451a2b2a5011128ca92a9ff6d4cc480e58f7dd0f Author: danielsun1106 Date: 2018-12-12T17:15:50Z GROOVY-8923: Bump gradle-license-report to 1.3 commit 7dd433bb57b625c5de42fd3153e47bb8d3c7ad72 Author: danielsun1106 Date: 2018-12-12T17:17:38Z GROOVY-8924: Bump creadur-rat-gradle to 0.3.1 commit 035eb7914ea3e244610e72bbba65834b6a5c95cc Author: danielsun1106 Date: 2018-12-12T17:45:22Z GROOVY-8925: Bump picocli to 3.8.2 commit a1c9bc0dfe216355e153da479ac7e35e7e6a4951 Author: danielsun1106 Date: 2018-12-12T17:49:24Z GROOVY-8886: Bump asciidoctor-gradle-plugin to 1.5.9.2 ---
[GitHub] groovy pull request #839: Fix typo beeing -> being
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/839 ---
[GitHub] groovy pull request #839: Fix typo beeing -> being
GitHub user jslopezgithub opened a pull request: https://github.com/apache/groovy/pull/839 Fix typo beeing -> being You can merge this pull request into a Git repository by running: $ git pull https://github.com/jslopezgithub/groovy master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/839.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #839 commit f9242add93aef0b1df0068f64138dcd78358d9d8 Author: Javier S. López Date: 2018-12-12T10:15:20Z Fix typo beeing -> being ---
[GitHub] groovy pull request #838: GROOVY-8920: Fails to infer parameter and return t...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/838 GROOVY-8920: Fails to infer parameter and return type of SAM on RHS You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-type-inference-assignment Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/838.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #838 commit 9e601ae2ec09bb95b3c1ebe04c0e99c50de620e7 Author: danielsun1106 Date: 2018-12-12T07:56:42Z GROOVY-8920: Fails to infer parameter and return type of SAM on RHS ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/837 ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user danielsun1106 commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240468415 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- @paulk-asert I've refined the PR according to your suggestion ;-) ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user danielsun1106 commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240451854 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- Gotcha. I will use the map you suggest instead. ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240451723 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- And I guess also `TypeUtil#PRIMITIVE_TYPE_TO_WRAPPED_CLASS_MAP` would be better named `PRIMITIVE_CLASS_TO_WRAPPED_CLASS_MAP`. ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240451547 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- I was referring to `ClassHelper#PRIMITIVE_TYPE_TO_WRAPPER_TYPE_MAP` not `TypeUtil#PRIMITIVE_TYPE_TO_WRAPPED_CLASS_MAP`. ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240451187 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- Both appear to be Map to me? ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user danielsun1106 commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240445739 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- @paulk-asert As we can see, the existing type mapping is Class to Class, but we need map ClassNode to ClassNode. Though we can convert ClassNode to Class and get the mapping result then convert the result to ClassNode, it is less efficient. https://github.com/apache/groovy/blob/9cea59b95367c1d563e719ebeddcdecb58199750/src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java#L213 ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/837#discussion_r240369943 --- Diff: src/main/java/org/codehaus/groovy/classgen/asm/util/TypeUtil.java --- @@ -213,4 +220,15 @@ private static String makeRefDescription(String name) { long.class, Long.class, short.class, Short.class ); + +private static final Map PRIMITIVE_CLASSNODE_TO_WRAPPED_CLASSNODE_MAP = Maps.of( +ClassHelper.byte_TYPE, ClassHelper.Byte_TYPE, +ClassHelper.boolean_TYPE, ClassHelper.Boolean_TYPE, +ClassHelper.char_TYPE, ClassHelper.Character_TYPE, +ClassHelper.double_TYPE, ClassHelper.Double_TYPE, +ClassHelper.float_TYPE, ClassHelper.Float_TYPE, +ClassHelper.int_TYPE, ClassHelper.Integer_TYPE, +ClassHelper.long_TYPE, ClassHelper.Long_TYPE, +ClassHelper.short_TYPE, ClassHelper.Short_TYPE +); --- End diff -- Isn't this already in ClassHelper#PRIMITIVE_TYPE_TO_WRAPPER_TYPE_MAP? ---
[GitHub] groovy pull request #837: GROOVY-8917: Failed to infer parameter type of som...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/837 GROOVY-8917: Failed to infer parameter type of some SAM, e.g. BinaryO⦠â¦perator You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-type-inference Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/837.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #837 commit 3669f04205265b62e3a3f339aa1b81fbf3003ecb Author: danielsun1106 Date: 2018-12-10T19:06:29Z GROOVY-8917: Failed to infer parameter type of some SAM, e.g. BinaryOperator ---
[GitHub] groovy pull request #836: GROOVY-8915: [Parrot] Make groovydoc configuration...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/836 ---
[GitHub] groovy pull request #836: GROOVY-8915: [Parrot] Make groovydoc configuration...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/836 GROOVY-8915: [Parrot] Make groovydoc configuration flexible You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy GROOVY-8915 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/836.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #836 commit ad507fe8dc18ab1e08c47b7e66e35349b1af520a Author: danielsun1106 Date: 2018-12-08T12:39:57Z GROOVY-8915: [Parrot] Make groovydoc configuration flexible ---
[GitHub] groovy pull request #835: GROOVY-8908: Bump gradle to 5.0
Github user danielsun1106 commented on a diff in the pull request: https://github.com/apache/groovy/pull/835#discussion_r238350588 --- Diff: subprojects/parser-antlr4/build.gradle --- @@ -30,9 +30,11 @@ def srcBase = "subprojects/parser-antlr4/src" def srcMain = "$srcBase/main" def srcTest = "$srcBase/test" -final PARSER_PACKAGE_NAME = 'org.apache.groovy.parser.antlr4' generateGrammarSource { +maxHeapSize = '1g' --- End diff -- https://travis-ci.org/danielsun1106/groovy/jobs/460259483 ``` > Task :generateGrammarSource FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':generateGrammarSource'. > Java heap space ``` Groovy's grammar is quite complicated, so more memory will be consumed. As you can see, the `generateGrammarSource` task fails if the heap size is a bit small, e.g. `512m`. Also, you can try to clone apache/groovy and set the heap size to `maxHeapSize = '512m'` then run `gradlew clean generateGrammarSource --no-build-cache` locally, I believe OOM can be reproduced. ---
[GitHub] groovy pull request #835: GROOVY-8908: Bump gradle to 5.0
Github user melix commented on a diff in the pull request: https://github.com/apache/groovy/pull/835#discussion_r238345659 --- Diff: subprojects/parser-antlr4/build.gradle --- @@ -30,9 +30,11 @@ def srcBase = "subprojects/parser-antlr4/src" def srcMain = "$srcBase/main" def srcTest = "$srcBase/test" -final PARSER_PACKAGE_NAME = 'org.apache.groovy.parser.antlr4' generateGrammarSource { +maxHeapSize = '1g' --- End diff -- From my tests it seems we can reduce to `512m`, otherwise LGTM :+1: ---
[GitHub] groovy pull request #835: GROOVY-8908: Bump gradle to 5.0
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/835 ---
[GitHub] groovy pull request #835: GROOVY-8908: Bump gradle to 5.0
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/835 GROOVY-8908: Bump gradle to 5.0 You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy GROOVY-8908 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/835.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #835 commit e4c993d9c58d0296b3a49ee80b3984a535e2b478 Author: danielsun1106 Date: 2018-12-03T15:31:27Z GROOVY-8908: Bump gradle to 5.0 ---
[GitHub] groovy pull request #834: GROOVY-8907: Correcting @ClosureParams to correct ...
GitHub user henriquelsmti opened a pull request: https://github.com/apache/groovy/pull/834 GROOVY-8907: Correcting @ClosureParams to correct type https://issues.apache.org/jira/browse/GROOVY-8907 You can merge this pull request into a Git repository by running: $ git pull https://github.com/henriquelsmti/groovy GROOVY-8907_master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/834.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #834 commit 1eabcc213662fc1caba3a839c3ae5c10319b4256 Author: Henrique Mota Date: 2018-11-30T12:04:28Z Correcting @ClosureParams to correct type ---
[GitHub] groovy pull request #833: GROOVY-8903: Retrofit NamedParams to groovy.sql.Sq...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/833 GROOVY-8903: Retrofit NamedParams to groovy.sql.Sql You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8903 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/833.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #833 commit fa8fa52edd515047dee367d3605870ad299bf279 Author: Paul King Date: 2018-11-27T09:20:37Z GROOVY-8903: Retrofit NamedParams to groovy.sql.Sql ---
[GitHub] groovy pull request #691: GROOVY-8561: Support java-like array
Github user danielsun1106 closed the pull request at: https://github.com/apache/groovy/pull/691 ---
[GitHub] groovy pull request #831: GROOVY-8901: Add DGSM `countDistinct[By]`, `sum[By...
Github user danielsun1106 closed the pull request at: https://github.com/apache/groovy/pull/831 ---
[GitHub] groovy pull request #708: GROOVY-6668: Static compiler doesn't coerce GStrin...
Github user danielsun1106 closed the pull request at: https://github.com/apache/groovy/pull/708 ---
[GitHub] groovy pull request #832: GROOVY-8902: Add method `mapAll` to tuples
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/832 ---
[GitHub] groovy pull request #832: GROOVY-8902: Add method `mapAll` to tuples
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/832 GROOVY-8902: Add method `mapAll` to tuples You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy tuple-mapall Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/832.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #832 commit 75c87c77d7346ba7232178d4a269e0e358dd84b5 Author: danielsun1106 Date: 2018-11-24T15:36:00Z GROOVY-8902: Add method `mapAll` to tuples ---
[GitHub] groovy pull request #830: GROOVY-7647: Incorrect line information for debug
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/830 ---
[GitHub] groovy pull request #827: GROOVY-8882: CS: Loop over elements of String has ...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/827 ---
[GitHub] groovy pull request #831: GROOVY-8901: Add DGSM `countDistinct[By]`, `sum[By...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/831 GROOVY-8901: Add DGSM `countDistinct[By]`, `sum[By]`, `avg[By]` You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy enhance_collectors2 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/831.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #831 commit 2b85777550e2610cbf9321f0b8e57862a26f854a Author: danielsun1106 Date: 2018-11-23T16:32:53Z GROOVY-8901: Add DGSM `countDistinct[By]`, `sum[By]`, `avg[By]` ---
[GitHub] groovy pull request #828: GROOVY-8899: Add DGSM `first` and `last`
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/828 ---
[GitHub] groovy pull request #829: GROOVY-8900: Make class `Tuple0`, `Tuple1`...`Tupl...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/829 ---
[GitHub] groovy pull request #830: GROOVY-7647: Incorrect line information for debug
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/830 GROOVY-7647: Incorrect line information for debug You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy7647 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/830.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #830 commit ae3bb53f64396f9b95fa7f592397b11542397ee9 Author: Paul King Date: 2018-11-23T06:29:06Z GROOVY-7647: Incorrect line information for debug ---
[GitHub] groovy pull request #829: GROOVY-8900: Make class `Tuple0`, `Tuple1`...`Tupl...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/829 GROOVY-8900: Make class `Tuple0`, `Tuple1`...`Tuple16` final You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy GROOVY-8900 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/829.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #829 commit a9004a38c01401e0b92f8ff50003154e6347cf4d Author: danielsun1106 Date: 2018-11-22T16:21:16Z GROOVY-8900: Make class `Tuple0`, `Tuple1`...`Tuple16` final ---
[GitHub] groovy pull request #828: GROOVY-8899: Add DGSM `first` and `last`
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/828 GROOVY-8899: Add DGSM `first` and `last` You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy enhance-collectors Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/828.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #828 commit dbeb1881633c4ed43188b2ee9d4bf845fd8a8ff9 Author: danielsun1106 Date: 2018-11-22T16:07:16Z GROOVY-8899: Add DGSM `first` and `last` ---
[GitHub] groovy pull request #827: GROOVY-8882: CS: Loop over elements of String has ...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/827 GROOVY-8882: CS: Loop over elements of String has different element type You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8882 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/827.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #827 commit d4c0adc71ea1b2ebbd38740e6a89819a062bac24 Author: Paul King Date: 2018-11-21T04:35:36Z GROOVY-8882: CS: Loop over elements of String has different element type ---
[GitHub] groovy pull request #826: GROOVY-8894: Improve performance of DGM `leftShift...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/826 ---
[GitHub] groovy pull request #825: GROOVY-8890: Make "Inspect Tokens" of groovy conso...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/825 ---
[GitHub] groovy pull request #826: GROOVY-8894: Improve performance of DGM `leftShift...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/826 GROOVY-8894: Improve performance of DGM `leftShift(OutputStream, Inpu⦠â¦tStream)` You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-io-leftshift Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/826.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #826 commit 43abd7b1dddea45240a53d1848c2aaba001809e4 Author: danielsun1106 Date: 2018-11-19T16:46:21Z GROOVY-8894: Improve performance of DGM `leftShift(OutputStream, InputStream)` ---
[GitHub] groovy pull request #825: GROOVY-8890: Make "Inspect Tokens" of groovy conso...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/825 GROOVY-8890: Make "Inspect Tokens" of groovy console support Parrot's⦠⦠tokens You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-console-tokens Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/825.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #825 commit 83ce8a2b87fc6f8d25421543cd1c7fafd53bcfa0 Author: danielsun1106 Date: 2018-11-18T12:37:01Z GROOVY-8890: Make "Inspect Tokens" of groovy console support Parrot's tokens ---
[GitHub] groovy pull request #824: GROOVY-8887: Support multi-assignment of tuples in...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/824 ---
[GitHub] groovy pull request #824: GROOVY-8887: Support multi-assignment of tuples in...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/824 GROOVY-8887: Support multi-assignment of tuples in STC You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy stc-tuple Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/824.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #824 commit b405028c7bd113f974b8db22c1075d032bd7fa2e Author: danielsun1106 Date: 2018-11-17T11:02:38Z GROOVY-8887: Support multi-assignment of tuples in STC ---
[GitHub] groovy pull request #823: GROOVY-8880: Traits - static/instance init blocks
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/823 ---
[GitHub] groovy pull request #822: GROOVY-7632: Groovy named parameters static check ...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/822 ---
[GitHub] groovy pull request #823: GROOVY-8880: Traits - static/instance init blocks
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/823 GROOVY-8880: Traits - static/instance init blocks You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8880 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/823.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #823 commit 9b1261be1d3fb71a3c260e5f7b5b302f3344a879 Author: Paul King Date: 2018-11-15T14:20:01Z GROOVY-8880: Traits - static/instance init blocks ---
[GitHub] groovy pull request #822: GROOVY-7632: Groovy named parameters static check ...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/822 GROOVY-7632: Groovy named parameters static check (initial cut of sup⦠â¦port) You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy7632 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/822.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #822 commit b53eba0249b976ca3554867d78ef974e56c5f189 Author: Paul King Date: 2018-11-14T14:33:14Z GROOVY-7632: Groovy named parameters static check (initial cut of support) ---
[GitHub] groovy pull request #821: GROOVY-8874: Refine tuples to support functional p...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/821 ---
[GitHub] groovy pull request #821: GROOVY-8874: Refine tuples to support functional p...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/821 GROOVY-8874: Refine tuples to support functional programming better You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy GROOVY-8874 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/821.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #821 commit c70c4fa23396b65255ff2f220986d9d674aaf9e8 Author: danielsun1106 Date: 2018-11-11T07:47:21Z GROOVY-8874: Refine tuples to support functional programming better ---
[GitHub] groovy pull request #820: GROOVY-8872: Populate parameter names from byte co...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/820 ---
[GitHub] groovy pull request #820: GROOVY-8872: Populate parameter names from byte co...
GitHub user jameskleeh opened a pull request: https://github.com/apache/groovy/pull/820 GROOVY-8872: Populate parameter names from byte code when available I'm not sure how to create a test for this. I verified the change works locally in the example project I linked and uploaded in the jira issue. I think adding or modifying a test in AsmDecompilerTest would be the best thing, but I'm not sure how to inform Groovy to compile the Java source with parameters. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jameskleeh/groovy decompiled_param_names Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/820.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #820 commit b2c31ff4f3a4038d6fbd16a89e2a14e6af4f83c2 Author: jameskleeh Date: 2018-11-09T04:44:59Z Populate the parameter names from the byte code when available ---
[GitHub] groovy pull request #779: GROOVY-8726: Store the method node reference in Pa...
Github user jameskleeh closed the pull request at: https://github.com/apache/groovy/pull/779 ---
[GitHub] groovy pull request #790: GROOVY-8766: Add manifest capability entries for O...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/790 ---
[GitHub] groovy pull request #:
Github user paulk-asert commented on the pull request: https://github.com/apache/groovy/commit/7d2d6319f694b87fc4e646d3d22679315e1411bf#commitcomment-31185822 In src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java: In src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java on line 132: That would be a refactoring worth considering outside this issue. I'd have to think through whether it applies though. The NumberMath implementations provide optimised implementations when both arguments are of a certain type. For power, it is a bit different. The exponent type is irrelevant to the calculation. The type of the base is also mostly irrelevant to the calculation but significant in determining the type of the result - we preserve type when we can but overflow as needed. ---
[GitHub] groovy pull request #:
Github user danielsun1106 commented on the pull request: https://github.com/apache/groovy/commit/7d2d6319f694b87fc4e646d3d22679315e1411bf#commitcomment-31185553 In src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java: In src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java on line 132: It's better to move `power` implementation to `NumberMath`, and `DefaultGroovyMethods`'s `power` invoke `NumberMath`'s `power` ---
[GitHub] groovy pull request #819: GROOVY-7975/GROOVY-3278/GROOVY-7854: improved acce...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/819 ---
[GitHub] groovy pull request #819: GROOVY-7975/GROOVY-3278/GROOVY-7854: improved acce...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/819#discussion_r230627859 --- Diff: src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java --- @@ -18,20 +18,205 @@ */ package org.apache.groovy.ast.tools; +import org.codehaus.groovy.ast.ClassHelper; import org.codehaus.groovy.ast.ClassNode; import org.codehaus.groovy.ast.FieldNode; +import org.codehaus.groovy.ast.expr.BinaryExpression; import org.codehaus.groovy.ast.expr.ClassExpression; import org.codehaus.groovy.ast.expr.ConstantExpression; import org.codehaus.groovy.ast.expr.Expression; import org.codehaus.groovy.ast.expr.ListExpression; import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; + +import static org.codehaus.groovy.syntax.Types.DIVIDE; +import static org.codehaus.groovy.syntax.Types.MINUS; +import static org.codehaus.groovy.syntax.Types.MULTIPLY; +import static org.codehaus.groovy.syntax.Types.PLUS; public class ExpressionUtils { +private static ArrayList handledTypes = new ArrayList(); + private ExpressionUtils() { } -// resolve constant-looking expressions statically (do here as gets transformed away later) +static { +handledTypes.add(PLUS); +handledTypes.add(MINUS); +handledTypes.add(MULTIPLY); +handledTypes.add(DIVIDE); +} + +public static ConstantExpression transformBinaryConstantExpression(BinaryExpression be, ClassNode targetType) { +if (isTypeOrArrayOfType(targetType, ClassHelper.STRING_TYPE, false)) { +if (be.getOperation().getType() == PLUS) { +Expression left = transformInlineConstants(be.getLeftExpression(), targetType); +Expression right = transformInlineConstants(be.getRightExpression(), targetType); +if (left instanceof ConstantExpression && right instanceof ConstantExpression) { +ConstantExpression newExp = new ConstantExpression((String) ((ConstantExpression) left).getValue() + +((ConstantExpression) right).getValue()); +newExp.setSourcePosition(be); +return newExp; +} +} +} else if (isTypeOrArrayOfType(targetType, ClassHelper.Integer_TYPE, false) || isTypeOrArrayOfType(targetType, ClassHelper.int_TYPE, false)) { +int type = be.getOperation().getType(); +if (handledTypes.contains(type)) { +Expression left = transformInlineConstants(be.getLeftExpression(), targetType); +Expression right = transformInlineConstants(be.getRightExpression(), targetType); +if (left instanceof ConstantExpression && right instanceof ConstantExpression) { +Integer newVal = null; +switch(type) { +case PLUS: +newVal = (Integer) ((ConstantExpression) left).getValue() + +(Integer) ((ConstantExpression) right).getValue(); +break; +case MINUS: +newVal = (Integer) ((ConstantExpression) left).getValue() - +(Integer) ((ConstantExpression) right).getValue(); +break; +case MULTIPLY: +newVal = (Integer) ((ConstantExpression) left).getValue() * +(Integer) ((ConstantExpression) right).getValue(); +break; +case DIVIDE: +newVal = (Integer) ((ConstantExpression) left).getValue() / +(Integer) ((ConstantExpression) right).getValue(); +break; +} +if (newVal != null) { +ConstantExpression newExp = new ConstantExpression(newVal, true); +newExp.setSourcePosition(be); +return newExp; +} +} +} +} else if (isTypeOrArrayOfType(targetType, ClassHelper.Double_TYPE, false) || isTypeOrArrayOfType(targetType, ClassHelper.double_TYPE, false)) { --- End diff -- Already refactored - thanks for the suggestion. ---
[GitHub] groovy pull request #819: GROOVY-7975/GROOVY-3278/GROOVY-7854: improved acce...
Github user danielsun1106 commented on a diff in the pull request: https://github.com/apache/groovy/pull/819#discussion_r230589376 --- Diff: src/main/java/org/apache/groovy/ast/tools/ExpressionUtils.java --- @@ -18,20 +18,205 @@ */ package org.apache.groovy.ast.tools; +import org.codehaus.groovy.ast.ClassHelper; import org.codehaus.groovy.ast.ClassNode; import org.codehaus.groovy.ast.FieldNode; +import org.codehaus.groovy.ast.expr.BinaryExpression; import org.codehaus.groovy.ast.expr.ClassExpression; import org.codehaus.groovy.ast.expr.ConstantExpression; import org.codehaus.groovy.ast.expr.Expression; import org.codehaus.groovy.ast.expr.ListExpression; import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; + +import static org.codehaus.groovy.syntax.Types.DIVIDE; +import static org.codehaus.groovy.syntax.Types.MINUS; +import static org.codehaus.groovy.syntax.Types.MULTIPLY; +import static org.codehaus.groovy.syntax.Types.PLUS; public class ExpressionUtils { +private static ArrayList handledTypes = new ArrayList(); + private ExpressionUtils() { } -// resolve constant-looking expressions statically (do here as gets transformed away later) +static { +handledTypes.add(PLUS); +handledTypes.add(MINUS); +handledTypes.add(MULTIPLY); +handledTypes.add(DIVIDE); +} + +public static ConstantExpression transformBinaryConstantExpression(BinaryExpression be, ClassNode targetType) { +if (isTypeOrArrayOfType(targetType, ClassHelper.STRING_TYPE, false)) { +if (be.getOperation().getType() == PLUS) { +Expression left = transformInlineConstants(be.getLeftExpression(), targetType); +Expression right = transformInlineConstants(be.getRightExpression(), targetType); +if (left instanceof ConstantExpression && right instanceof ConstantExpression) { +ConstantExpression newExp = new ConstantExpression((String) ((ConstantExpression) left).getValue() + +((ConstantExpression) right).getValue()); +newExp.setSourcePosition(be); +return newExp; +} +} +} else if (isTypeOrArrayOfType(targetType, ClassHelper.Integer_TYPE, false) || isTypeOrArrayOfType(targetType, ClassHelper.int_TYPE, false)) { +int type = be.getOperation().getType(); +if (handledTypes.contains(type)) { +Expression left = transformInlineConstants(be.getLeftExpression(), targetType); +Expression right = transformInlineConstants(be.getRightExpression(), targetType); +if (left instanceof ConstantExpression && right instanceof ConstantExpression) { +Integer newVal = null; +switch(type) { +case PLUS: +newVal = (Integer) ((ConstantExpression) left).getValue() + +(Integer) ((ConstantExpression) right).getValue(); +break; +case MINUS: +newVal = (Integer) ((ConstantExpression) left).getValue() - +(Integer) ((ConstantExpression) right).getValue(); +break; +case MULTIPLY: +newVal = (Integer) ((ConstantExpression) left).getValue() * +(Integer) ((ConstantExpression) right).getValue(); +break; +case DIVIDE: +newVal = (Integer) ((ConstantExpression) left).getValue() / +(Integer) ((ConstantExpression) right).getValue(); +break; +} +if (newVal != null) { +ConstantExpression newExp = new ConstantExpression(newVal, true); +newExp.setSourcePosition(be); +return newExp; +} +} +} +} else if (isTypeOrArrayOfType(targetType, ClassHelper.Double_TYPE, false) || isTypeOrArrayOfType(targetType, ClassHelper.double_TYPE, false)) { --- End diff -- looks like some template code, which is duplicated now. It's better to refactor it IMO ---
[GitHub] groovy pull request #819: GROOVY-7975/GROOVY-3278/GROOVY-7854: improved acce...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/819 GROOVY-7975/GROOVY-3278/GROOVY-7854: improved accessing of constants ⦠â¦for annotation attributes You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy annotationConstantFixes Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/819.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #819 commit 236e4d5c06cec60840209e0b3c83512a90badfda Author: Paul King Date: 2018-11-04T10:10:43Z GROOVY-7975/GROOVY-3278/GROOVY-7854: improved accessing of constants for annotation attributes ---
[GitHub] groovy pull request #818: GROOVY-8866: Implement `GProperties` to handle pro...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/818 ---
[GitHub] groovy pull request #817: GROOVY-8861: Simplify the switch for runtime groov...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/817 ---
[GitHub] groovy pull request #818: GROOVY-8866: Implement `GProperties` to handle pro...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/818 GROOVY-8866: Implement `GProperties` to handle properties file smartly You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy gproperties Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/818.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #818 commit 26c11ead52c31992b4be5a66c841c585ddd4ca13 Author: danielsun1106 Date: 2018-11-01T16:11:23Z GROOVY-8866: Implement `GProperties` to handle properties file smartly ---
[GitHub] groovy pull request #:
Github user pditommaso commented on the pull request: https://github.com/apache/groovy/commit/3341dcd9a4f151b71b90ceb0be59fcdca403c300#commitcomment-31075820 ð ---
[GitHub] groovy pull request #:
Github user danielsun1106 commented on the pull request: https://github.com/apache/groovy/commit/3341dcd9a4f151b71b90ceb0be59fcdca403c300#commitcomment-31075653 No one can assure Groovy users will not create GroovyCodeSource instances with different names for the same source code. The current implementation can avoid the problems too. ---
[GitHub] groovy pull request #:
Github user pditommaso commented on the pull request: https://github.com/apache/groovy/commit/3341dcd9a4f151b71b90ceb0be59fcdca403c300#commitcomment-31075630 Oh, right! I was missing the the groovy shell gives to the same script different file names. But in this case would not make more sense to make to groovy shell to give script a consistent file name based on the md5 hash, instead of creating a new name each time? ---
[GitHub] groovy pull request #:
Github user danielsun1106 commented on the pull request: https://github.com/apache/groovy/commit/3341dcd9a4f151b71b90ceb0be59fcdca403c300#commitcomment-31075542 e.g. GroovyShell evaluates same script with different file names, which results in loading classes repeatedly and the classes and the relevant InnerLoader instances can't be GC. ---
[GitHub] groovy pull request #:
Github user pditommaso commented on the pull request: https://github.com/apache/groovy/commit/3341dcd9a4f151b71b90ceb0be59fcdca403c300#commitcomment-31075266 Out of curiosity, what's the benefit of caching classes using as key the source hash code instead of the class name? ---
[GitHub] groovy pull request #817: GROOVY-8861: Simplify the switch for runtime groov...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/817 GROOVY-8861: Simplify the switch for runtime groovydoc You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-runtime-groovydoc Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/817.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #817 commit 6da5d75c7e8fc9231a166ed40507311f30523c97 Author: danielsun1106 Date: 2018-10-28T10:36:47Z GROOVY-8861: Simplify the switch for runtime groovydoc ---
[GitHub] groovy pull request #816: GROOVY-8858: Refine GCL to avoid occupying Permane...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/816 ---
[GitHub] groovy pull request #816: GROOVY-8858: Refine GCL to avoid occupying Permane...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/816 GROOVY-8858: Refine GCL to avoid occupying Permanent Area/Metaspace repeatedly for same source code You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-gcl Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/816.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #816 commit dc4fac58a09b96a920a8872a61ba6ff8842a9993 Author: danielsun1106 Date: 2018-10-27T11:10:02Z Refine GCL to avoid keeping occupying a lot of Permanent Area/Metaspace ---
[GitHub] groovy pull request #815: GROOVY-8855: Matcher.asBoolean() does not rely on ...
GitHub user wololock opened a pull request: https://github.com/apache/groovy/pull/815 GROOVY-8855: Matcher.asBoolean() does not rely on matchers internal search index anymore Fixes https://issues.apache.org/jira/browse/GROOVY-8855 You can merge this pull request into a Git repository by running: $ git pull https://github.com/wololock/groovy GROOVY-8855 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/815.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #815 commit 86af86e0739e00374cd691df7c21ac7d9e3fe835 Author: Szymon Stepniak Date: 2018-10-23T11:21:22Z GROOVY-8855: Matcher.asBoolean() does not rely on matchers internal search index anymore ---
[GitHub] groovy pull request #814: GROOVY-3278: Using referenced String constant as v...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/814 ---
[GitHub] groovy pull request #814: GROOVY-3278: Using referenced String constant as v...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/814 GROOVY-3278: Using referenced String constant as value of Annotation ⦠â¦causes compile error You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy3278 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/814.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #814 ---
[GitHub] groovy pull request #813: GROOVY-8851: Refine safe indexing for named proper...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/813 ---
[GitHub] groovy pull request #813: GROOVY-8851: Refine safe indexing for named proper...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/813 GROOVY-8851: Refine safe indexing for named properties You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-safe-index Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/813.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #813 commit 27fc472e1ca1f1242a31cac93138dd318cdbbcec Author: danielsun1106 Date: 2018-10-20T07:24:34Z GROOVY-8851: Refine safe indexing for named properties ---
[GitHub] groovy pull request #812: GROOVY-8848: Named parameters documentation missin...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/812 ---
[GitHub] groovy pull request #812: GROOVY-8848: Named parameters documentation missin...
GitHub user wololock opened a pull request: https://github.com/apache/groovy/pull/812 GROOVY-8848: Named parameters documentation missing explanation for mixing multiple parameters use case This pull request fixes https://issues.apache.org/jira/browse/GROOVY-8848 The problem explained in updated documentation "Named arguments" section was reported on Stack Overflow today - https://stackoverflow.com/q/52832382/2194470 You can merge this pull request into a Git repository by running: $ git pull https://github.com/wololock/groovy GROOVY-8848 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/812.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #812 commit 322275d5b1db27cfae59d6b1c4744c5e33432753 Author: Szymon Stepniak Date: 2018-10-16T22:03:48Z GROOVY-8848: added mixing named arguments with other arguments use case explanation to the documentation ---
[GitHub] groovy pull request #811: GROOVY-8843: Fix illegal reflective access within ...
Github user paulk-asert commented on a diff in the pull request: https://github.com/apache/groovy/pull/811#discussion_r225328503 --- Diff: src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java --- @@ -18,14 +18,78 @@ */ package org.codehaus.groovy.vmplugin.v9; +import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.vmplugin.v8.Java8; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** - * Java 9 based functions will be added here if needed. + * Additional Java 9 based functions will be added here as needed. */ public class Java9 extends Java8 { + +private static class LookupHolder { +private static final Method PRIVATE_LOOKUP; +private static final Constructor LOOKUP_Constructor; +static { +Constructor lookup = null; +Method privateLookup = null; +try { // java 9 +privateLookup = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class); --- End diff -- We don't eventually, I was just letting the build be built from Java 8 (with current warnings) until we get more things in place. ---
[GitHub] groovy pull request #811: GROOVY-8843: Fix illegal reflective access within ...
Github user blackdrag commented on a diff in the pull request: https://github.com/apache/groovy/pull/811#discussion_r225293219 --- Diff: src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java --- @@ -18,14 +18,78 @@ */ package org.codehaus.groovy.vmplugin.v9; +import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.vmplugin.v8.Java8; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** - * Java 9 based functions will be added here if needed. + * Additional Java 9 based functions will be added here as needed. */ public class Java9 extends Java8 { + +private static class LookupHolder { +private static final Method PRIVATE_LOOKUP; +private static final Constructor LOOKUP_Constructor; +static { +Constructor lookup = null; +Method privateLookup = null; +try { // java 9 +privateLookup = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class); --- End diff -- why do we do a reflective lookup here for a method that is public static? This is already the Java 9 module, so pre Java 9 code is of no concern... especially the NoSuchMethodException is supposed to never happen here ---
[GitHub] groovy pull request #811: GROOVY-8843: Fix illegal reflective access within ...
Github user blackdrag commented on a diff in the pull request: https://github.com/apache/groovy/pull/811#discussion_r225299922 --- Diff: src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java --- @@ -18,14 +18,78 @@ */ package org.codehaus.groovy.vmplugin.v9; +import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.vmplugin.v8.Java8; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** - * Java 9 based functions will be added here if needed. + * Additional Java 9 based functions will be added here as needed. */ public class Java9 extends Java8 { + +private static class LookupHolder { +private static final Method PRIVATE_LOOKUP; +private static final Constructor LOOKUP_Constructor; +static { +Constructor lookup = null; +Method privateLookup = null; +try { // java 9 +privateLookup = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class); +} catch (final NoSuchMethodException e) { // java 8 +try { +lookup = MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, Integer.TYPE); +if (!lookup.isAccessible()) { +lookup.setAccessible(true); +} +} catch (final NoSuchMethodException ex) { +throw new IllegalStateException("Incompatible JVM", e); +} +} +PRIVATE_LOOKUP = privateLookup; +LOOKUP_Constructor = lookup; +} +} + +private static Constructor getLookupConstructor() { +return LookupHolder.LOOKUP_Constructor; +} + +private static Method getPrivateLookup() { +return LookupHolder.PRIVATE_LOOKUP; +} + +public static MethodHandles.Lookup of(final Class declaringClass) { +try { +if (getPrivateLookup() != null) { +return MethodHandles.Lookup.class.cast(getPrivateLookup().invoke(null, declaringClass, MethodHandles.lookup())); +} +return getLookupConstructor().newInstance(declaringClass, MethodHandles.Lookup.PRIVATE).in(declaringClass); --- End diff -- If PRIVATE_LOOKUP lookup never fails as I think, then LOOKUP_Constructor will be always the same. Not sure if "in" (https://docs.oracle.com/javase/9/docs/api/java/lang/invoke/MethodHandles.Lookup.html#in-java.lang.Class-) then can still do something useful. ---
[GitHub] groovy pull request #811: GROOVY-8843: Fix illegal reflective access within ...
Github user blackdrag commented on a diff in the pull request: https://github.com/apache/groovy/pull/811#discussion_r225298000 --- Diff: src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java --- @@ -18,14 +18,78 @@ */ package org.codehaus.groovy.vmplugin.v9; +import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.vmplugin.v8.Java8; +import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** - * Java 9 based functions will be added here if needed. + * Additional Java 9 based functions will be added here as needed. */ public class Java9 extends Java8 { + +private static class LookupHolder { +private static final Method PRIVATE_LOOKUP; +private static final Constructor LOOKUP_Constructor; +static { +Constructor lookup = null; +Method privateLookup = null; +try { // java 9 +privateLookup = MethodHandles.class.getMethod("privateLookupIn", Class.class, MethodHandles.Lookup.class); +} catch (final NoSuchMethodException e) { // java 8 +try { +lookup = MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, Integer.TYPE); +if (!lookup.isAccessible()) { --- End diff -- we can actually not rely on this being accessible... I am missing the IllegalAccessException and InaccessibleObjectException handling here... ---
[GitHub] groovy pull request #811: GROOVY-8843: Fix illegal reflective access within ...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/811 GROOVY-8843: Fix illegal reflective access within o.c.g.vmplugin.v7.J⦠â¦ava7 You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8843 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/811.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #811 commit 521532204f1f2f8997cf7811f509d86afeff6f7d Author: Paul King Date: 2018-10-15T08:12:45Z GROOVY-8843: Fix illegal reflective access within o.c.g.vmplugin.v7.Java7 ---
[GitHub] groovy pull request #809: GROOVY-8842: Implement a smart highlighter for gro...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/809 ---
[GitHub] groovy pull request #810: fixed for NullPointerException in MissingMethodExc...
GitHub user qxo opened a pull request: https://github.com/apache/groovy/pull/810 fixed for NullPointerException in MissingMethodException fixed for NullPointerException in MissingMethodException (when type is null) ``` Caused by: java.lang.NullPointerException at groovy.lang.MissingMethodException.getMessage (MissingMethodException.java:60) at java.lang.Throwable.getLocalizedMessage (Throwable.java:391) at java.lang.Throwable.toString (Throwable.java:480) at java.lang.String.valueOf (String.java:2994) at org.fusesource.jansi.FilterPrintStream.println (FilterPrintStream.java:238) at java.lang.Throwable$WrappedPrintStream.println (Throwable.java:748) at java.lang.Throwable.printStackTrace (Throwable.java:655) at java.lang.Throwable.printStackTrace (Throwable.java:643) at java_lang_Throwable$printStackTrace.call (Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:128) ``` You can merge this pull request into a Git repository by running: $ git pull https://github.com/qxo/groovy fix4MissingMethodNullType Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/810.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #810 commit 3bf0245cff043d788fc9028bfe2af3103ea0c56d Author: qxo <49526356@...> Date: 2018-10-13T01:21:30Z fixed for NullPointerException in MissingMethodException (when type is null) ``` Caused by: java.lang.NullPointerException at groovy.lang.MissingMethodException.getMessage (MissingMethodException.java:60) at java.lang.Throwable.getLocalizedMessage (Throwable.java:391) at java.lang.Throwable.toString (Throwable.java:480) at java.lang.String.valueOf (String.java:2994) at org.fusesource.jansi.FilterPrintStream.println (FilterPrintStream.java:238) at java.lang.Throwable$WrappedPrintStream.println (Throwable.java:748) at java.lang.Throwable.printStackTrace (Throwable.java:655) at java.lang.Throwable.printStackTrace (Throwable.java:643) at java_lang_Throwable$printStackTrace.call (Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call (AbstractCallSite.java:128) ``` ---
[GitHub] groovy pull request #809: GROOVY-8842: Refine highlighting source code in gr...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/809 GROOVY-8842: Refine highlighting source code in groovy console editor You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy smart-editor Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/809.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #809 commit fa538f0d08793152cc1310762fcbf833fd5bc303 Author: danielsun1106 Date: 2018-10-12T19:35:34Z GROOVY-8842: Refine highlighting source code in groovy console editor ---
[GitHub] groovy pull request #798: GROOVY-8549: Compile Static causes getAt to fail
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/798 ---
[GitHub] groovy pull request #808: Documentation for @TailRecursive
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/808 ---
[GitHub] groovy pull request #808: Documentation for @TailRecursive
Github user PascalSchumacher commented on a diff in the pull request: https://github.com/apache/groovy/pull/808#discussion_r224093386 --- Diff: src/spec/doc/core-metaprogramming.adoc --- @@ -1985,7 +1985,19 @@ _protectedCacheSize>0_ would create an unlimited cache with some results protect [[xform-TailRecursive]] = `@groovy.transform.TailRecursive` -TBD +The `@TailRecursive` annotation can be used to automatically transform a recursive call in the end of a method to an +iterative version of the same code, to avoid stack overflow due to to many recursive calls. Below is an example of --- End diff -- `to to many` should be `to too many` I guess. ---
[GitHub] groovy pull request #:
Github user paulk-asert commented on the pull request: https://github.com/apache/groovy/commit/fd21ad4e3b6d2a4297944d079ba8948e8d8e6052#commitcomment-30846605 True, I'll fix ---
[GitHub] groovy pull request #:
Github user danielsun1106 commented on the pull request: https://github.com/apache/groovy/commit/fd21ad4e3b6d2a4297944d079ba8948e8d8e6052#commitcomment-30846491 Using Java 8 API causes the test failure when running on Java 7 ---
[GitHub] groovy pull request #808: Documentation for @TailRecursive
GitHub user JacobAae opened a pull request: https://github.com/apache/groovy/pull/808 Documentation for @TailRecursive Added a test with an example and included it in the language documentation with some of the limitations of the annotation You can merge this pull request into a Git repository by running: $ git pull https://github.com/JacobAae/groovy master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/808.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #808 commit eca6d7b457959c13e9059663b392fb7c28ffdce3 Author: Jacob Aae Mikkelsen Date: 2018-10-09T12:07:16Z Documentation for @TailRecursive ---
[GitHub] groovy pull request #807: GROOVY-8819: java.lang.VerifyError when calling th...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/807 ---
[GitHub] groovy pull request #807: GROOVY-8819: java.lang.VerifyError when calling th...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/807 GROOVY-8819: java.lang.VerifyError when calling this() with static fi⦠â¦nal field from a super class You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy GROOVY-8819 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/807.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #807 commit 070f98bfc7a07e06d941cc5d148ccbec6e9da690 Author: danielsun1106 Date: 2018-10-07T11:11:56Z GROOVY-8819: java.lang.VerifyError when calling this() with static final field from a super class ---
[GitHub] groovy pull request #806: GROOVY-8831: Add instance methods from `String` to...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/806 ---
[GitHub] groovy pull request #806: GROOVY-8831: Add instance methods from `String` to...
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/806 GROOVY-8831: Add instance methods from `String` to `GString` You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-gstring Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/806.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #806 commit 31767294220d4d6974e702cb91bcf710973fa353 Author: danielsun1106 Date: 2018-10-06T13:42:00Z GROOVY-8831: Add instance methods from `String` to `GString` ---
[GitHub] groovy pull request #805: Refine compileJava task
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/805 ---
[GitHub] groovy pull request #805: Refine compileJava task
GitHub user danielsun1106 opened a pull request: https://github.com/apache/groovy/pull/805 Refine compileJava task You can merge this pull request into a Git repository by running: $ git pull https://github.com/danielsun1106/groovy refine-compile-java-task Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/805.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #805 commit 334361edf13b070a852d7d17d1b1dbf66f0dd65a Author: danielsun1106 Date: 2018-10-06T08:20:13Z Refine compileJava task ---
[GitHub] groovy pull request #799: GROOVY-8805 reloading a script under GroovyScriptE...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/799 ---