svn commit: r25155 - in /dev/groovy/2.5.0-beta-3: ./ distribution/ sources/

2018-02-19 Thread paulk
Author: paulk
Date: Tue Feb 20 05:00:03 2018
New Revision: 25155

Log:
New version GROOVY_2_5_X 2.5.0-beta-3 added to staging area

Added:
dev/groovy/2.5.0-beta-3/
dev/groovy/2.5.0-beta-3/distribution/
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip  
 (with props)

dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.asc

dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.sha256
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip   
(with props)
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip.asc

dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip.sha256
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-sdk-2.5.0-beta-3.zip   
(with props)
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-sdk-2.5.0-beta-3.zip.asc

dev/groovy/2.5.0-beta-3/distribution/apache-groovy-sdk-2.5.0-beta-3.zip.sha256
dev/groovy/2.5.0-beta-3/sources/
dev/groovy/2.5.0-beta-3/sources/apache-groovy-src-2.5.0-beta-3.zip   (with 
props)
dev/groovy/2.5.0-beta-3/sources/apache-groovy-src-2.5.0-beta-3.zip.asc
dev/groovy/2.5.0-beta-3/sources/apache-groovy-src-2.5.0-beta-3.zip.sha256

Added: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip
==
Binary file - no diff available.

Propchange: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.asc
==
--- 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.asc 
(added)
+++ 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.asc 
Tue Feb 20 05:00:03 2018
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: BCPG v1.58
+
+iQIcBAABAgAGBQJai6NOAAoJEGplF2oPsc0LsjUQALVd6as4bKCQwgm+zoiTeBWK
+AImL+6tpZu1w9CQ0y7UYs449rlzScqSFM3CVxe3zVe/qR0KJxfC4RU285D9DUn46
+f6vv5J4ELQT8/mbx+CSruWN2qtes0UZmodJ/7bs00VRsO3qUwW76PVT0DdD8+Za1
+Tbg1Qwj9Wq65VzwCG9O1K2MwSfBrs+s7yBVpptaIL5x8FrGjbvSYlC0DXtLDUBvR
+t3nGuVPLzy7nCUh0LzfEFHYnkeirmQTvBQhLlwHCxSC91HloxMvjRCgjVxNDgZaq
+0oDujCtr+0VzWuyriSQH/EVj1ujH0QX7fVXn1NsUNAL511npNRTNlh9TeCMqIAv5
+zpJDOsS+7HCBgeXXa4M5kdimkdDvh9UqUR2zAodJpdIcKmdmK3H6Hc8zoMid8MlD
+HZtHmXFG5sP2wa1/HCTRBwhIm04Qzt7Tyazvw+VKGulxZn0Dbz3j0FV9KZgNFUgf
+m9yl+j8ZWOeb29oEWhHAZLkJPFozTRaqrGjNwVQNiXTrhjgpiSGA/sqYdpeNVEwg
+aLpbSvAHnQAkJ5jaDrXs8wqbhSRIAq1amAuuJcup6FfYeaIzVNXTJzLA5pcFCrcb
+mnspD98KLJuFsByY0NbMAi8m5zX+SfIQNl5u8mjFHH+pZUjvNyVWn1pwBivExljZ
+GsOl2OxRKkKDjtGXnKw3
+=SCg/
+-END PGP SIGNATURE-

Added: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.sha256
==
--- 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.sha256
 (added)
+++ 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-binary-2.5.0-beta-3.zip.sha256
 Tue Feb 20 05:00:03 2018
@@ -0,0 +1 @@
+9a39c161a71d3a5accc2ea9b2044310caec00d5430931db7e3512232dd6dfc61

Added: dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip
==
Binary file - no diff available.

Propchange: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip.asc
==
--- 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip.asc 
(added)
+++ 
dev/groovy/2.5.0-beta-3/distribution/apache-groovy-docs-2.5.0-beta-3.zip.asc 
Tue Feb 20 05:00:03 2018
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: BCPG v1.58
+
+iQIcBAABAgAGBQJai6NPAAoJEGplF2oPsc0LBRMP/30Su7m7+XnNQJWAtpQ9jcch
+fk7N8NGysuR9iKVTKDtWkfLYNo/pGJvC877mAREY1Spr7u+5F5x2Wla8Muf0HY+u
+xBeDm8HdnK62+sbFKS7twyccLx0vfBVSF5+F/cdCnaa4+HwZAkXQTAPjJ7ao9JPm
+OENyXjPLHYZonR8DYlOp5BLtpv5BdsTtncWsatKdyZL6lpbpgjUPrneixSHmI5cC
+DByl36DQr5Zl2CTG5xRBviiTfALRtLUEwcd9hC9bRh/QgHK3lMhqiCRnJiNRcF7n
+Udds96RcfyyaZ8h5x7uXJYkPs2jbH13xOlrPJu0yqI1vLgvWfodbtFM1vCIQ9FU+
+JmhA6jg4zIIQ7uLtOj6UNthKK/VGEnqBQiyp+2xjuBoSMKugU1YpnSgyRyF2sAwm
+txETr8B40z9Uu8FVvSn14eqdd1SuwEztDiDYHAtpi4pKZZoZXhgtFfYYsSbecAQT
+Bew2V24NgghqNd0HVkdgix95V+jfkbksVgfijTWYtqi4MVxLdzIi8er5Od8Ule9p
+sudV1tqncbpZ89qsfHpds5krPsmL8biL9eyLlbZWZOi2kpB4f1UFgVkHMDjUed6W
+59hVzn6u7FXxqWFJOYC2g9E5r18fC86Wlyg1YhSHyfpTHctF0JH4Mpe/cdK2czcx
++KEcwSEXNXr8OCj6/27/
+=mwLb
+-END PGP SIGNATURE-

Added: 

[groovy] Git Push Summary

2018-02-19 Thread paulk
Repository: groovy
Updated Tags:  refs/tags/GROOVY_2_5_0_BETA_3 [created] a42c63e3f


groovy git commit: add license header

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X 19565fcf0 -> c04cf7196


add license header


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c04cf719
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c04cf719
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c04cf719

Branch: refs/heads/GROOVY_2_5_X
Commit: c04cf7196edd811e420c33196dd309fa34e4fa17
Parents: 19565fc
Author: paulk 
Authored: Tue Feb 20 13:37:32 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 13:41:14 2018 +1000

--
 .../java/org/apache/groovy/util/MapsTest.java   | 21 +---
 1 file changed, 18 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/c04cf719/src/test/java/org/apache/groovy/util/MapsTest.java
--
diff --git a/src/test/java/org/apache/groovy/util/MapsTest.java 
b/src/test/java/org/apache/groovy/util/MapsTest.java
index 4a1bd10..6a00785 100644
--- a/src/test/java/org/apache/groovy/util/MapsTest.java
+++ b/src/test/java/org/apache/groovy/util/MapsTest.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
 package org.apache.groovy.util;
 
 import org.junit.Assert;
@@ -5,9 +23,6 @@ import org.junit.Test;
 
 import java.util.Map;
 
-import static org.apache.groovy.util.Maps.of;
-import static org.junit.Assert.*;
-
 public class MapsTest {
 
 @Test



groovy git commit: add license header

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 7262d023e -> 3bae60978


add license header


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/3bae6097
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/3bae6097
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/3bae6097

Branch: refs/heads/GROOVY_2_6_X
Commit: 3bae6097813903f8b9674f08a5b45208dce01479
Parents: 7262d02
Author: paulk 
Authored: Tue Feb 20 13:37:32 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 13:40:50 2018 +1000

--
 .../java/org/apache/groovy/util/MapsTest.java   | 21 +---
 1 file changed, 18 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/3bae6097/src/test/java/org/apache/groovy/util/MapsTest.java
--
diff --git a/src/test/java/org/apache/groovy/util/MapsTest.java 
b/src/test/java/org/apache/groovy/util/MapsTest.java
index 4a1bd10..6a00785 100644
--- a/src/test/java/org/apache/groovy/util/MapsTest.java
+++ b/src/test/java/org/apache/groovy/util/MapsTest.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
 package org.apache.groovy.util;
 
 import org.junit.Assert;
@@ -5,9 +23,6 @@ import org.junit.Test;
 
 import java.util.Map;
 
-import static org.apache.groovy.util.Maps.of;
-import static org.junit.Assert.*;
-
 public class MapsTest {
 
 @Test



groovy git commit: add license header

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/master 43f2c8e47 -> afcbbba13


add license header


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/afcbbba1
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/afcbbba1
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/afcbbba1

Branch: refs/heads/master
Commit: afcbbba13e84b07b0f273d5baeb1a7e001865677
Parents: 43f2c8e
Author: paulk 
Authored: Tue Feb 20 13:37:32 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 13:37:32 2018 +1000

--
 .../java/org/apache/groovy/util/MapsTest.java   | 21 +---
 1 file changed, 18 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/afcbbba1/src/test/java/org/apache/groovy/util/MapsTest.java
--
diff --git a/src/test/java/org/apache/groovy/util/MapsTest.java 
b/src/test/java/org/apache/groovy/util/MapsTest.java
index 4a1bd10..6a00785 100644
--- a/src/test/java/org/apache/groovy/util/MapsTest.java
+++ b/src/test/java/org/apache/groovy/util/MapsTest.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
 package org.apache.groovy.util;
 
 import org.junit.Assert;
@@ -5,9 +23,6 @@ import org.junit.Test;
 
 import java.util.Map;
 
-import static org.apache.groovy.util.Maps.of;
-import static org.junit.Assert.*;
-
 public class MapsTest {
 
 @Test



groovy git commit: GROOVY-7956: Provide an AST transformation which improves named parameter support (JDK 7 compatibility)

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X c7ea252c7 -> 19565fcf0


GROOVY-7956: Provide an AST transformation which improves named parameter 
support (JDK 7 compatibility)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/19565fcf
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/19565fcf
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/19565fcf

Branch: refs/heads/GROOVY_2_5_X
Commit: 19565fcf0ddb8e1186a1d248a5a12f70508ff6cf
Parents: c7ea252
Author: paulk 
Authored: Tue Feb 20 13:30:58 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 13:31:46 2018 +1000

--
 src/main/groovy/groovy/transform/NamedParam.java | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/19565fcf/src/main/groovy/groovy/transform/NamedParam.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParam.java 
b/src/main/groovy/groovy/transform/NamedParam.java
index 856e3e2..661397e 100644
--- a/src/main/groovy/groovy/transform/NamedParam.java
+++ b/src/main/groovy/groovy/transform/NamedParam.java
@@ -19,14 +19,12 @@
 package groovy.transform;
 
 import java.lang.annotation.ElementType;
-import java.lang.annotation.Repeatable;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.PARAMETER)
-@Repeatable(NamedParams.class)
 public @interface NamedParam {
 String value();
 Class type() default Object.class;



groovy git commit: GROOVY-7956: Provide an AST transformation which improves named parameter support (JDK 7 compatibility)

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 4e6f3cc71 -> 7262d023e


GROOVY-7956: Provide an AST transformation which improves named parameter 
support (JDK 7 compatibility)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/7262d023
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/7262d023
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/7262d023

Branch: refs/heads/GROOVY_2_6_X
Commit: 7262d023ee445b233d22312b7513b5761b0f64d8
Parents: 4e6f3cc
Author: paulk 
Authored: Tue Feb 20 13:30:58 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 13:30:58 2018 +1000

--
 src/main/groovy/groovy/transform/NamedParam.java | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/7262d023/src/main/groovy/groovy/transform/NamedParam.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParam.java 
b/src/main/groovy/groovy/transform/NamedParam.java
index 856e3e2..661397e 100644
--- a/src/main/groovy/groovy/transform/NamedParam.java
+++ b/src/main/groovy/groovy/transform/NamedParam.java
@@ -19,14 +19,12 @@
 package groovy.transform;
 
 import java.lang.annotation.ElementType;
-import java.lang.annotation.Repeatable;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.PARAMETER)
-@Repeatable(NamedParams.class)
 public @interface NamedParam {
 String value();
 Class type() default Object.class;



groovy git commit: GROOVY-7956: Provide an AST transformation which improves named parameter support

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X ab7d39a17 -> c7ea252c7


GROOVY-7956: Provide an AST transformation which improves named parameter 
support


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c7ea252c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c7ea252c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c7ea252c

Branch: refs/heads/GROOVY_2_5_X
Commit: c7ea252c7804fe252182e4d837f9f4b2264a0c1f
Parents: ab7d39a
Author: paulk 
Authored: Tue Feb 20 10:09:59 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 12:34:02 2018 +1000

--
 .../groovy/groovy/transform/NamedDelegate.java  |  29 +++
 .../groovy/groovy/transform/NamedParam.java |  34 +++
 .../groovy/groovy/transform/NamedParams.java|  30 +++
 .../groovy/groovy/transform/NamedVariant.java   |  34 +++
 .../codehaus/groovy/ast/tools/GeneralUtils.java |   4 +
 .../transform/AbstractASTTransformation.java|   4 +-
 .../NamedVariantASTTransformation.java  | 223 +++
 .../transform/NamedVariantTransformTest.groovy  | 124 +++
 8 files changed, 480 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/c7ea252c/src/main/groovy/groovy/transform/NamedDelegate.java
--
diff --git a/src/main/groovy/groovy/transform/NamedDelegate.java 
b/src/main/groovy/groovy/transform/NamedDelegate.java
new file mode 100644
index 000..baf54ff
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedDelegate.java
@@ -0,0 +1,29 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.SOURCE)
+@Target(ElementType.PARAMETER)
+public @interface NamedDelegate {
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/c7ea252c/src/main/groovy/groovy/transform/NamedParam.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParam.java 
b/src/main/groovy/groovy/transform/NamedParam.java
new file mode 100644
index 000..856e3e2
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedParam.java
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PARAMETER)
+@Repeatable(NamedParams.class)
+public @interface NamedParam {
+String value();
+Class type() default Object.class;
+boolean required() default false;
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/c7ea252c/src/main/groovy/groovy/transform/NamedParams.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParams.java 
b/src/main/groovy/groovy/transform/NamedParams.java
new 

groovy git commit: GROOVY-7956: Provide an AST transformation which improves named parameter support

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 77dde9ced -> 4e6f3cc71


GROOVY-7956: Provide an AST transformation which improves named parameter 
support


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/4e6f3cc7
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/4e6f3cc7
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/4e6f3cc7

Branch: refs/heads/GROOVY_2_6_X
Commit: 4e6f3cc71c725ec781bce607ca7f2640c0c3193b
Parents: 77dde9c
Author: paulk 
Authored: Tue Feb 20 10:09:59 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 12:33:07 2018 +1000

--
 .../groovy/groovy/transform/NamedDelegate.java  |  29 +++
 .../groovy/groovy/transform/NamedParam.java |  34 +++
 .../groovy/groovy/transform/NamedParams.java|  30 +++
 .../groovy/groovy/transform/NamedVariant.java   |  34 +++
 .../codehaus/groovy/ast/tools/GeneralUtils.java |   4 +
 .../transform/AbstractASTTransformation.java|   4 +-
 .../NamedVariantASTTransformation.java  | 223 +++
 .../transform/NamedVariantTransformTest.groovy  | 124 +++
 8 files changed, 480 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/4e6f3cc7/src/main/groovy/groovy/transform/NamedDelegate.java
--
diff --git a/src/main/groovy/groovy/transform/NamedDelegate.java 
b/src/main/groovy/groovy/transform/NamedDelegate.java
new file mode 100644
index 000..baf54ff
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedDelegate.java
@@ -0,0 +1,29 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.SOURCE)
+@Target(ElementType.PARAMETER)
+public @interface NamedDelegate {
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/4e6f3cc7/src/main/groovy/groovy/transform/NamedParam.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParam.java 
b/src/main/groovy/groovy/transform/NamedParam.java
new file mode 100644
index 000..856e3e2
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedParam.java
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PARAMETER)
+@Repeatable(NamedParams.class)
+public @interface NamedParam {
+String value();
+Class type() default Object.class;
+boolean required() default false;
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/4e6f3cc7/src/main/groovy/groovy/transform/NamedParams.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParams.java 
b/src/main/groovy/groovy/transform/NamedParams.java
new 

groovy git commit: GROOVY-7956: Provide an AST transformation which improves named parameter support

2018-02-19 Thread paulk
Repository: groovy
Updated Branches:
  refs/heads/master fc01573ff -> 43f2c8e47


GROOVY-7956: Provide an AST transformation which improves named parameter 
support


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/43f2c8e4
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/43f2c8e4
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/43f2c8e4

Branch: refs/heads/master
Commit: 43f2c8e47b2072e2c0e42097c4462180af30efdb
Parents: fc01573
Author: paulk 
Authored: Tue Feb 20 10:09:59 2018 +1000
Committer: paulk 
Committed: Tue Feb 20 11:17:23 2018 +1000

--
 .../groovy/groovy/transform/NamedDelegate.java  |  29 +++
 .../groovy/groovy/transform/NamedParam.java |  34 +++
 .../groovy/groovy/transform/NamedParams.java|  30 +++
 .../groovy/groovy/transform/NamedVariant.java   |  34 +++
 .../codehaus/groovy/ast/tools/GeneralUtils.java |   4 +
 .../transform/AbstractASTTransformation.java|   4 +-
 .../NamedVariantASTTransformation.java  | 223 +++
 .../transform/NamedVariantTransformTest.groovy  | 124 +++
 8 files changed, 480 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/43f2c8e4/src/main/groovy/groovy/transform/NamedDelegate.java
--
diff --git a/src/main/groovy/groovy/transform/NamedDelegate.java 
b/src/main/groovy/groovy/transform/NamedDelegate.java
new file mode 100644
index 000..baf54ff
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedDelegate.java
@@ -0,0 +1,29 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.SOURCE)
+@Target(ElementType.PARAMETER)
+public @interface NamedDelegate {
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/43f2c8e4/src/main/groovy/groovy/transform/NamedParam.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParam.java 
b/src/main/groovy/groovy/transform/NamedParam.java
new file mode 100644
index 000..856e3e2
--- /dev/null
+++ b/src/main/groovy/groovy/transform/NamedParam.java
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package groovy.transform;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Repeatable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PARAMETER)
+@Repeatable(NamedParams.class)
+public @interface NamedParam {
+String value();
+Class type() default Object.class;
+boolean required() default false;
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/43f2c8e4/src/main/groovy/groovy/transform/NamedParams.java
--
diff --git a/src/main/groovy/groovy/transform/NamedParams.java 
b/src/main/groovy/groovy/transform/NamedParams.java
new file mode 

[4/5] groovy git commit: Trivial refactoring: remove redundant character escape

2018-02-19 Thread sunlan
Trivial refactoring: remove redundant character escape

(cherry picked from commit daadd6e)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/301f8aa7
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/301f8aa7
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/301f8aa7

Branch: refs/heads/GROOVY_2_5_X
Commit: 301f8aa74fbaae4282f9206396eec5145c1ffd64
Parents: 83b0ce6
Author: danielsun1106 
Authored: Tue Feb 20 03:19:29 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:43:39 2018 +0800

--
 src/main/java/org/codehaus/groovy/classgen/Verifier.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/301f8aa7/src/main/java/org/codehaus/groovy/classgen/Verifier.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java 
b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index aad5940..2e5c851 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -364,7 +364,7 @@ public class Verifier implements GroovyClassVisitor, 
Opcodes {
 if (BytecodeHelper.isClassLiteralPossible(node) || 
BytecodeHelper.isSameCompilationUnit(classNode, node)) {
 BytecodeHelper.visitClassLiteral(mv, node);
 } else {
-mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("\\/", "\\$"), 
"()Ljava/lang/Class;", false);
+mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("/", "\\$"), 
"()Ljava/lang/Class;", false);
 }
 Label l1 = new Label();
 mv.visitJumpInsn(IF_ACMPEQ, l1);



[1/5] groovy git commit: Fix some potential performance issues

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X 021ab0fba -> ab7d39a17


Fix some potential performance issues

(cherry picked from commit b8a52eb)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/2b507b29
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/2b507b29
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/2b507b29

Branch: refs/heads/GROOVY_2_5_X
Commit: 2b507b297b35d5827575924648b695d608e81c8e
Parents: 021ab0f
Author: danielsun1106 
Authored: Tue Feb 20 03:00:48 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:43:24 2018 +0800

--
 .../org/codehaus/groovy/classgen/GeneratorContext.java  |  2 +-
 .../org/codehaus/groovy/control/CompilationUnit.java|  4 +---
 .../org/codehaus/groovy/control/ResolveVisitor.java | 12 ++--
 .../org/codehaus/groovy/reflection/ReflectionCache.java |  2 +-
 .../codehaus/groovy/runtime/ResourceGroovyMethods.java  |  4 +---
 .../codehaus/groovy/tools/javac/JavacJavaCompiler.java  |  3 +--
 .../transform/stc/TraitTypeCheckingExtension.java   |  2 +-
 7 files changed, 12 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java 
b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
index 8b8a510..da51a0a 100644
--- a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
+++ b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
@@ -105,7 +105,7 @@ public class GeneratorContext {
 }
 }
 }
-if(b == null) return name.toString();
+if(b == null) return name;
 if (lastEscape == -1) throw new GroovyBugError("unexpected escape char 
control flow in "+name);
 b.append(name, lastEscape + 1, l);
 return b.toString();

http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
--
diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java 
b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
index a766784..b47a653 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
@@ -1026,9 +1026,7 @@ public class CompilationUnit extends ProcessingUnit {
 private List getPrimaryClassNodes(boolean sort) {
 List unsorted = new ArrayList();
 for (ModuleNode module : this.ast.getModules()) {
-for (ClassNode classNode : module.getClasses()) {
-unsorted.add(classNode);
-}
+unsorted.addAll(module.getClasses());
 }
 
 if (!sort) return unsorted;

http://git-wip-us.apache.org/repos/asf/groovy/blob/2b507b29/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
--
diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java 
b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
index fe96714..922c528 100644
--- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
@@ -762,7 +762,7 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 
 private static String lookupClassName(PropertyExpression pe) {
 boolean doInitialClassTest=true;
-String name = "";
+StringBuilder name = new StringBuilder(32);
 // this loop builds a name from right to left each name part
 // separated by "."
 for (Expression it = pe; it != null; it = ((PropertyExpression) 
it).getObjectExpression()) {
@@ -782,9 +782,9 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 // field bar.
 if (!testVanillaNameForClass(varName)) return null;
 doInitialClassTest = false;
-name = varName;
+name = new StringBuilder(varName);
 } else {
-name = varName + "." + name;
+name.insert(0, varName + ".");
 }
 break;
 }
@@ -808,14 +808,14 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 // field bar.
 if (!testVanillaNameForClass(propertyPart)) return null;
 doInitialClassTest= false;
-name = 

[5/5] groovy git commit: Trivial refactoring: avoid redundant array creation

2018-02-19 Thread sunlan
Trivial refactoring: avoid redundant array creation

(cherry picked from commit fc01573)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/ab7d39a1
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/ab7d39a1
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/ab7d39a1

Branch: refs/heads/GROOVY_2_5_X
Commit: ab7d39a17b3ee12e019b61e393e47e21b80c2393
Parents: 301f8aa
Author: danielsun1106 
Authored: Tue Feb 20 03:26:21 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:43:44 2018 +0800

--
 src/main/groovy/groovy/util/FactoryBuilderSupport.java | 10 +-
 src/main/groovy/groovy/util/Node.java  |  2 +-
 src/main/groovy/groovy/util/ObjectGraphBuilder.java|  4 ++--
 src/main/groovy/groovy/util/ObservableMap.java |  4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/ab7d39a1/src/main/groovy/groovy/util/FactoryBuilderSupport.java
--
diff --git a/src/main/groovy/groovy/util/FactoryBuilderSupport.java 
b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
index 8dbcff0..1074e53 100644
--- a/src/main/groovy/groovy/util/FactoryBuilderSupport.java
+++ b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
@@ -791,7 +791,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 return dispatchNodeCall(name, args);
 } catch(MissingMethodException mme) {
 if(mme.getMethod().equals(methodName) && methodMissingDelegate 
!= null) {
-return methodMissingDelegate.call(new Object[]{methodName, 
args});
+return methodMissingDelegate.call(methodName, args);
 }
 throw mme;
 }
@@ -982,7 +982,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 builder = (FactoryBuilderSupport) attrDelegate.getDelegate();
 }
 
-attrDelegate.call(new Object[]{builder, node, attributes});
+attrDelegate.call(builder, node, attributes);
 }
 
 if 
(getProxyBuilder().getCurrentFactory().onHandleNodeAttributes(getProxyBuilder().getChildBuilder(),
 node, attributes)) {
@@ -1031,7 +1031,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void postInstantiate(Object name, Map attributes, Object node) {
 for (Closure postInstantiateDelegate : 
getProxyBuilder().getPostInstantiateDelegates()) {
-(postInstantiateDelegate).call(new Object[]{this, attributes, 
node});
+(postInstantiateDelegate).call(this, attributes, node);
 }
 }
 
@@ -1048,7 +1048,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected Object postNodeCompletion(Object parent, Object node) {
 for (Closure postNodeCompletionDelegate : 
getProxyBuilder().getPostNodeCompletionDelegates()) {
-(postNodeCompletionDelegate).call(new Object[]{this, parent, 
node});
+(postNodeCompletionDelegate).call(this, parent, node);
 }
 
 return node;
@@ -1065,7 +1065,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void preInstantiate(Object name, Map attributes, Object value) {
 for (Closure preInstantiateDelegate : 
getProxyBuilder().getPreInstantiateDelegates()) {
-(preInstantiateDelegate).call(new Object[]{this, attributes, 
value});
+(preInstantiateDelegate).call(this, attributes, value);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/ab7d39a1/src/main/groovy/groovy/util/Node.java
--
diff --git a/src/main/groovy/groovy/util/Node.java 
b/src/main/groovy/groovy/util/Node.java
index e40b14a..76fdcca 100644
--- a/src/main/groovy/groovy/util/Node.java
+++ b/src/main/groovy/groovy/util/Node.java
@@ -615,7 +615,7 @@ public class Node implements Serializable, Cloneable {
 
 private static  T callClosureForNode(Closure closure, Object node, 
int level) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{node, level});
+return closure.call(node, level);
 }
 return closure.call(node);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/ab7d39a1/src/main/groovy/groovy/util/ObjectGraphBuilder.java
--
diff --git a/src/main/groovy/groovy/util/ObjectGraphBuilder.java 
b/src/main/groovy/groovy/util/ObjectGraphBuilder.java
index 7ba0089..1004369 100644
--- 

[4/5] groovy git commit: Trivial refactoring: remove redundant character escape

2018-02-19 Thread sunlan
Trivial refactoring: remove redundant character escape

(cherry picked from commit daadd6e)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/29c30ba1
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/29c30ba1
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/29c30ba1

Branch: refs/heads/GROOVY_2_6_X
Commit: 29c30ba19a2d827800153a5b4f109682e180b841
Parents: c52400d
Author: danielsun1106 
Authored: Tue Feb 20 03:19:29 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:42:29 2018 +0800

--
 src/main/java/org/codehaus/groovy/classgen/Verifier.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/29c30ba1/src/main/java/org/codehaus/groovy/classgen/Verifier.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java 
b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index aad5940..2e5c851 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -364,7 +364,7 @@ public class Verifier implements GroovyClassVisitor, 
Opcodes {
 if (BytecodeHelper.isClassLiteralPossible(node) || 
BytecodeHelper.isSameCompilationUnit(classNode, node)) {
 BytecodeHelper.visitClassLiteral(mv, node);
 } else {
-mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("\\/", "\\$"), 
"()Ljava/lang/Class;", false);
+mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("/", "\\$"), 
"()Ljava/lang/Class;", false);
 }
 Label l1 = new Label();
 mv.visitJumpInsn(IF_ACMPEQ, l1);



[2/5] groovy git commit: Trivial refactoring: avoid redundant array creation

2018-02-19 Thread sunlan
Trivial refactoring: avoid redundant array creation

(cherry picked from commit 87ff616)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c3f34f6d
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c3f34f6d
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c3f34f6d

Branch: refs/heads/GROOVY_2_6_X
Commit: c3f34f6d1773388d137c22947028c6850a01d11e
Parents: d46ba2d
Author: danielsun1106 
Authored: Tue Feb 20 03:06:25 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:42:21 2018 +0800

--
 .../org/codehaus/groovy/runtime/DefaultGroovyMethods.java| 8 
 .../org/codehaus/groovy/runtime/SocketGroovyMethods.java | 4 ++--
 .../groovy/runtime/metaclass/MetaClassRegistryImpl.java  | 2 +-
 src/main/java/org/codehaus/groovy/tools/GroovyStarter.java   | 2 +-
 .../org/codehaus/groovy/tools/javac/JavacJavaCompiler.java   | 4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/c3f34f6d/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java 
b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index e5025df..8b591f7 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -5854,7 +5854,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForMapEntry(@ClosureParams(value=FromString.class, 
options={"K,V","Map.Entry"}) Closure closure, Map.Entry entry) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{entry.getKey(), 
entry.getValue()});
+return closure.call(entry.getKey(), entry.getValue());
 }
 return closure.call(entry);
 }
@@ -5862,7 +5862,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForLine(@ClosureParams(value=FromString.class, 
options={"String","String,Integer"}) Closure closure, String line, int 
counter) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{line, counter});
+return closure.call(line, counter);
 }
 return closure.call(line);
 }
@@ -5870,10 +5870,10 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForMapEntryAndCounter(@ClosureParams(value=FromString.class, 
options={"K,V,Integer", "K,V","Map.Entry"}) Closure closure, 
Map.Entry entry, int counter) {
 if (closure.getMaximumNumberOfParameters() == 3) {
-return closure.call(new Object[]{entry.getKey(), entry.getValue(), 
counter});
+return closure.call(entry.getKey(), entry.getValue(), counter);
 }
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{entry, counter});
+return closure.call(entry, counter);
 }
 return closure.call(entry);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/c3f34f6d/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
--
diff --git a/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java 
b/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
index 6582485..ded99e5 100644
--- a/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
@@ -62,7 +62,7 @@ public class SocketGroovyMethods extends 
DefaultGroovyMethodsSupport {
 InputStream input = socket.getInputStream();
 OutputStream output = socket.getOutputStream();
 try {
-T result = closure.call(new Object[]{input, output});
+T result = closure.call(input, output);
 
 InputStream temp1 = input;
 input = null;
@@ -95,7 +95,7 @@ public class SocketGroovyMethods extends 
DefaultGroovyMethodsSupport {
 ObjectOutputStream oos = new ObjectOutputStream(output);
 ObjectInputStream ois = new ObjectInputStream(input);
 try {
-T result = closure.call(new Object[]{ois, oos});
+T result = closure.call(ois, oos);
 
 InputStream temp1 = ois;
 ois = null;


[5/5] groovy git commit: Trivial refactoring: avoid redundant array creation

2018-02-19 Thread sunlan
Trivial refactoring: avoid redundant array creation

(cherry picked from commit fc01573)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/77dde9ce
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/77dde9ce
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/77dde9ce

Branch: refs/heads/GROOVY_2_6_X
Commit: 77dde9ced7cb8b2c2eda3447f454b96c5d09d696
Parents: 29c30ba
Author: danielsun1106 
Authored: Tue Feb 20 03:26:21 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:42:33 2018 +0800

--
 src/main/groovy/groovy/util/FactoryBuilderSupport.java | 10 +-
 src/main/groovy/groovy/util/Node.java  |  2 +-
 src/main/groovy/groovy/util/ObjectGraphBuilder.java|  4 ++--
 src/main/groovy/groovy/util/ObservableMap.java |  4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/77dde9ce/src/main/groovy/groovy/util/FactoryBuilderSupport.java
--
diff --git a/src/main/groovy/groovy/util/FactoryBuilderSupport.java 
b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
index 8dbcff0..1074e53 100644
--- a/src/main/groovy/groovy/util/FactoryBuilderSupport.java
+++ b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
@@ -791,7 +791,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 return dispatchNodeCall(name, args);
 } catch(MissingMethodException mme) {
 if(mme.getMethod().equals(methodName) && methodMissingDelegate 
!= null) {
-return methodMissingDelegate.call(new Object[]{methodName, 
args});
+return methodMissingDelegate.call(methodName, args);
 }
 throw mme;
 }
@@ -982,7 +982,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 builder = (FactoryBuilderSupport) attrDelegate.getDelegate();
 }
 
-attrDelegate.call(new Object[]{builder, node, attributes});
+attrDelegate.call(builder, node, attributes);
 }
 
 if 
(getProxyBuilder().getCurrentFactory().onHandleNodeAttributes(getProxyBuilder().getChildBuilder(),
 node, attributes)) {
@@ -1031,7 +1031,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void postInstantiate(Object name, Map attributes, Object node) {
 for (Closure postInstantiateDelegate : 
getProxyBuilder().getPostInstantiateDelegates()) {
-(postInstantiateDelegate).call(new Object[]{this, attributes, 
node});
+(postInstantiateDelegate).call(this, attributes, node);
 }
 }
 
@@ -1048,7 +1048,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected Object postNodeCompletion(Object parent, Object node) {
 for (Closure postNodeCompletionDelegate : 
getProxyBuilder().getPostNodeCompletionDelegates()) {
-(postNodeCompletionDelegate).call(new Object[]{this, parent, 
node});
+(postNodeCompletionDelegate).call(this, parent, node);
 }
 
 return node;
@@ -1065,7 +1065,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void preInstantiate(Object name, Map attributes, Object value) {
 for (Closure preInstantiateDelegate : 
getProxyBuilder().getPreInstantiateDelegates()) {
-(preInstantiateDelegate).call(new Object[]{this, attributes, 
value});
+(preInstantiateDelegate).call(this, attributes, value);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/77dde9ce/src/main/groovy/groovy/util/Node.java
--
diff --git a/src/main/groovy/groovy/util/Node.java 
b/src/main/groovy/groovy/util/Node.java
index e40b14a..76fdcca 100644
--- a/src/main/groovy/groovy/util/Node.java
+++ b/src/main/groovy/groovy/util/Node.java
@@ -615,7 +615,7 @@ public class Node implements Serializable, Cloneable {
 
 private static  T callClosureForNode(Closure closure, Object node, 
int level) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{node, level});
+return closure.call(node, level);
 }
 return closure.call(node);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/77dde9ce/src/main/groovy/groovy/util/ObjectGraphBuilder.java
--
diff --git a/src/main/groovy/groovy/util/ObjectGraphBuilder.java 
b/src/main/groovy/groovy/util/ObjectGraphBuilder.java
index 7ba0089..1004369 100644
--- 

[3/5] groovy git commit: Trivial refactoring: avoid zero length GenericsType array creation

2018-02-19 Thread sunlan
Trivial refactoring: avoid zero length GenericsType array creation

(cherry picked from commit 45448c5)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c52400df
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c52400df
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c52400df

Branch: refs/heads/GROOVY_2_6_X
Commit: c52400df4a990e324cab6bb1f4f58ac6e597b506
Parents: c3f34f6
Author: danielsun1106 
Authored: Tue Feb 20 03:15:32 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:42:25 2018 +0800

--
 src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/c52400df/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
--
diff --git a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java 
b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
index 642f90c..126ef42 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
@@ -57,7 +57,7 @@ import static 
org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.implem
  * @author Paul King
  */
 public class GenericsUtils {
-public static final GenericsType[] EMPTY_GENERICS_ARRAY = new 
GenericsType[0];
+public static final GenericsType[] EMPTY_GENERICS_ARRAY = 
GenericsType.EMPTY_ARRAY;
 public static final String JAVA_LANG_OBJECT = "java.lang.Object";
 
 /**
@@ -274,7 +274,7 @@ public class GenericsUtils {
 if (type.isArray()) {
 return makeClassSafeWithGenerics(type.getComponentType(), 
genericTypes).makeArray();
 }
-GenericsType[] gtypes = new GenericsType[0];
+GenericsType[] gtypes = GenericsType.EMPTY_ARRAY;
 if (genericTypes != null) {
 gtypes = new GenericsType[genericTypes.length];
 System.arraycopy(genericTypes, 0, gtypes, 0, gtypes.length);



groovy git commit: Trivial refactoring: avoid redundant array creation

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master daadd6eb4 -> fc01573ff


Trivial refactoring: avoid redundant array creation


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/fc01573f
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/fc01573f
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/fc01573f

Branch: refs/heads/master
Commit: fc01573ff97be0f25dec1f975f6308fa82c97287
Parents: daadd6e
Author: danielsun1106 
Authored: Tue Feb 20 03:26:21 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:26:21 2018 +0800

--
 src/main/groovy/groovy/util/FactoryBuilderSupport.java | 10 +-
 src/main/groovy/groovy/util/Node.java  |  2 +-
 src/main/groovy/groovy/util/ObjectGraphBuilder.java|  4 ++--
 src/main/groovy/groovy/util/ObservableMap.java |  4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/fc01573f/src/main/groovy/groovy/util/FactoryBuilderSupport.java
--
diff --git a/src/main/groovy/groovy/util/FactoryBuilderSupport.java 
b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
index 8dbcff0..1074e53 100644
--- a/src/main/groovy/groovy/util/FactoryBuilderSupport.java
+++ b/src/main/groovy/groovy/util/FactoryBuilderSupport.java
@@ -791,7 +791,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 return dispatchNodeCall(name, args);
 } catch(MissingMethodException mme) {
 if(mme.getMethod().equals(methodName) && methodMissingDelegate 
!= null) {
-return methodMissingDelegate.call(new Object[]{methodName, 
args});
+return methodMissingDelegate.call(methodName, args);
 }
 throw mme;
 }
@@ -982,7 +982,7 @@ public abstract class FactoryBuilderSupport extends Binding 
{
 builder = (FactoryBuilderSupport) attrDelegate.getDelegate();
 }
 
-attrDelegate.call(new Object[]{builder, node, attributes});
+attrDelegate.call(builder, node, attributes);
 }
 
 if 
(getProxyBuilder().getCurrentFactory().onHandleNodeAttributes(getProxyBuilder().getChildBuilder(),
 node, attributes)) {
@@ -1031,7 +1031,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void postInstantiate(Object name, Map attributes, Object node) {
 for (Closure postInstantiateDelegate : 
getProxyBuilder().getPostInstantiateDelegates()) {
-(postInstantiateDelegate).call(new Object[]{this, attributes, 
node});
+(postInstantiateDelegate).call(this, attributes, node);
 }
 }
 
@@ -1048,7 +1048,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected Object postNodeCompletion(Object parent, Object node) {
 for (Closure postNodeCompletionDelegate : 
getProxyBuilder().getPostNodeCompletionDelegates()) {
-(postNodeCompletionDelegate).call(new Object[]{this, parent, 
node});
+(postNodeCompletionDelegate).call(this, parent, node);
 }
 
 return node;
@@ -1065,7 +1065,7 @@ public abstract class FactoryBuilderSupport extends 
Binding {
  */
 protected void preInstantiate(Object name, Map attributes, Object value) {
 for (Closure preInstantiateDelegate : 
getProxyBuilder().getPreInstantiateDelegates()) {
-(preInstantiateDelegate).call(new Object[]{this, attributes, 
value});
+(preInstantiateDelegate).call(this, attributes, value);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/fc01573f/src/main/groovy/groovy/util/Node.java
--
diff --git a/src/main/groovy/groovy/util/Node.java 
b/src/main/groovy/groovy/util/Node.java
index e40b14a..76fdcca 100644
--- a/src/main/groovy/groovy/util/Node.java
+++ b/src/main/groovy/groovy/util/Node.java
@@ -615,7 +615,7 @@ public class Node implements Serializable, Cloneable {
 
 private static  T callClosureForNode(Closure closure, Object node, 
int level) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{node, level});
+return closure.call(node, level);
 }
 return closure.call(node);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/fc01573f/src/main/groovy/groovy/util/ObjectGraphBuilder.java
--
diff --git a/src/main/groovy/groovy/util/ObjectGraphBuilder.java 
b/src/main/groovy/groovy/util/ObjectGraphBuilder.java
index 

groovy git commit: Trivial refactoring: remove redundant character escape

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master 45448c53b -> daadd6eb4


Trivial refactoring: remove redundant character escape


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/daadd6eb
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/daadd6eb
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/daadd6eb

Branch: refs/heads/master
Commit: daadd6eb4d94435fbe6079b213c8268dad7bbc96
Parents: 45448c5
Author: danielsun1106 
Authored: Tue Feb 20 03:19:29 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:19:29 2018 +0800

--
 src/main/java/org/codehaus/groovy/classgen/Verifier.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/daadd6eb/src/main/java/org/codehaus/groovy/classgen/Verifier.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java 
b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index aad5940..2e5c851 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -364,7 +364,7 @@ public class Verifier implements GroovyClassVisitor, 
Opcodes {
 if (BytecodeHelper.isClassLiteralPossible(node) || 
BytecodeHelper.isSameCompilationUnit(classNode, node)) {
 BytecodeHelper.visitClassLiteral(mv, node);
 } else {
-mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("\\/", "\\$"), 
"()Ljava/lang/Class;", false);
+mv.visitMethodInsn(INVOKESTATIC, 
classInternalName, "$get$$class$" + classInternalName.replaceAll("/", "\\$"), 
"()Ljava/lang/Class;", false);
 }
 Label l1 = new Label();
 mv.visitJumpInsn(IF_ACMPEQ, l1);



groovy git commit: Trivial refactoring: avoid redundant array creation

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master b8a52eb30 -> 87ff616f7


Trivial refactoring: avoid redundant array creation


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/87ff616f
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/87ff616f
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/87ff616f

Branch: refs/heads/master
Commit: 87ff616f702855584fb44396d3b8dbeed420c635
Parents: b8a52eb
Author: danielsun1106 
Authored: Tue Feb 20 03:06:25 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:06:25 2018 +0800

--
 .../org/codehaus/groovy/runtime/DefaultGroovyMethods.java| 8 
 .../org/codehaus/groovy/runtime/SocketGroovyMethods.java | 4 ++--
 .../groovy/runtime/metaclass/MetaClassRegistryImpl.java  | 2 +-
 src/main/java/org/codehaus/groovy/tools/GroovyStarter.java   | 2 +-
 .../org/codehaus/groovy/tools/javac/JavacJavaCompiler.java   | 4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/87ff616f/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java 
b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index e5025df..8b591f7 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -5854,7 +5854,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForMapEntry(@ClosureParams(value=FromString.class, 
options={"K,V","Map.Entry"}) Closure closure, Map.Entry entry) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{entry.getKey(), 
entry.getValue()});
+return closure.call(entry.getKey(), entry.getValue());
 }
 return closure.call(entry);
 }
@@ -5862,7 +5862,7 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForLine(@ClosureParams(value=FromString.class, 
options={"String","String,Integer"}) Closure closure, String line, int 
counter) {
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{line, counter});
+return closure.call(line, counter);
 }
 return closure.call(line);
 }
@@ -5870,10 +5870,10 @@ public class DefaultGroovyMethods extends 
DefaultGroovyMethodsSupport {
 // internal helper method
 protected static  T 
callClosureForMapEntryAndCounter(@ClosureParams(value=FromString.class, 
options={"K,V,Integer", "K,V","Map.Entry"}) Closure closure, 
Map.Entry entry, int counter) {
 if (closure.getMaximumNumberOfParameters() == 3) {
-return closure.call(new Object[]{entry.getKey(), entry.getValue(), 
counter});
+return closure.call(entry.getKey(), entry.getValue(), counter);
 }
 if (closure.getMaximumNumberOfParameters() == 2) {
-return closure.call(new Object[]{entry, counter});
+return closure.call(entry, counter);
 }
 return closure.call(entry);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/87ff616f/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
--
diff --git a/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java 
b/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
index 6582485..ded99e5 100644
--- a/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/SocketGroovyMethods.java
@@ -62,7 +62,7 @@ public class SocketGroovyMethods extends 
DefaultGroovyMethodsSupport {
 InputStream input = socket.getInputStream();
 OutputStream output = socket.getOutputStream();
 try {
-T result = closure.call(new Object[]{input, output});
+T result = closure.call(input, output);
 
 InputStream temp1 = input;
 input = null;
@@ -95,7 +95,7 @@ public class SocketGroovyMethods extends 
DefaultGroovyMethodsSupport {
 ObjectOutputStream oos = new ObjectOutputStream(output);
 ObjectInputStream ois = new ObjectInputStream(input);
 try {
-T result = closure.call(new Object[]{ois, oos});
+T result = closure.call(ois, oos);
 
 InputStream temp1 = ois;
 ois = null;


groovy git commit: Fix some potential performance issues

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master 5096e0cb8 -> b8a52eb30


Fix some potential performance issues


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/b8a52eb3
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/b8a52eb3
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/b8a52eb3

Branch: refs/heads/master
Commit: b8a52eb30f339b11601d747ebf8be186957853f8
Parents: 5096e0c
Author: danielsun1106 
Authored: Tue Feb 20 03:00:48 2018 +0800
Committer: danielsun1106 
Committed: Tue Feb 20 03:00:48 2018 +0800

--
 .../org/codehaus/groovy/classgen/GeneratorContext.java  |  2 +-
 .../org/codehaus/groovy/control/CompilationUnit.java|  4 +---
 .../org/codehaus/groovy/control/ResolveVisitor.java | 12 ++--
 .../org/codehaus/groovy/reflection/ReflectionCache.java |  2 +-
 .../codehaus/groovy/runtime/ResourceGroovyMethods.java  |  4 +---
 .../codehaus/groovy/tools/javac/JavacJavaCompiler.java  |  3 +--
 .../transform/stc/TraitTypeCheckingExtension.java   |  2 +-
 7 files changed, 12 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/b8a52eb3/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java 
b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
index dd318bd..1204dfa 100644
--- a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
+++ b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
@@ -115,7 +115,7 @@ public class GeneratorContext {
 }
 }
 }
-if(b == null) return name.toString();
+if(b == null) return name;
 if (lastEscape == -1) throw new GroovyBugError("unexpected escape char 
control flow in "+name);
 b.append(name, lastEscape + 1, l);
 return b.toString();

http://git-wip-us.apache.org/repos/asf/groovy/blob/b8a52eb3/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
--
diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java 
b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
index a766784..b47a653 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
@@ -1026,9 +1026,7 @@ public class CompilationUnit extends ProcessingUnit {
 private List getPrimaryClassNodes(boolean sort) {
 List unsorted = new ArrayList();
 for (ModuleNode module : this.ast.getModules()) {
-for (ClassNode classNode : module.getClasses()) {
-unsorted.add(classNode);
-}
+unsorted.addAll(module.getClasses());
 }
 
 if (!sort) return unsorted;

http://git-wip-us.apache.org/repos/asf/groovy/blob/b8a52eb3/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
--
diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java 
b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
index fe96714..922c528 100644
--- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
@@ -762,7 +762,7 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 
 private static String lookupClassName(PropertyExpression pe) {
 boolean doInitialClassTest=true;
-String name = "";
+StringBuilder name = new StringBuilder(32);
 // this loop builds a name from right to left each name part
 // separated by "."
 for (Expression it = pe; it != null; it = ((PropertyExpression) 
it).getObjectExpression()) {
@@ -782,9 +782,9 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 // field bar.
 if (!testVanillaNameForClass(varName)) return null;
 doInitialClassTest = false;
-name = varName;
+name = new StringBuilder(varName);
 } else {
-name = varName + "." + name;
+name.insert(0, varName + ".");
 }
 break;
 }
@@ -808,14 +808,14 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
 // field bar.
 if (!testVanillaNameForClass(propertyPart)) return null;
 doInitialClassTest= false;
-name = propertyPart;
+name = new 

[2/2] groovy git commit: Trivial refactoring: cleanup code

2018-02-19 Thread sunlan
Trivial refactoring: cleanup code

(cherry picked from commit 75a16a0)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/021ab0fb
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/021ab0fb
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/021ab0fb

Branch: refs/heads/GROOVY_2_5_X
Commit: 021ab0fba64e3bb246ca52772ac6b41371dd8ffb
Parents: f02978c
Author: danielsun1106 
Authored: Mon Feb 19 23:23:25 2018 +0800
Committer: danielsun1106 
Committed: Mon Feb 19 23:54:11 2018 +0800

--
 src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java | 1 -
 .../java/org/codehaus/groovy/classgen/AnnotationVisitor.java| 5 -
 .../codehaus/groovy/classgen/asm/OptimizingStatementWriter.java | 3 +--
 .../groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java   | 1 -
 src/main/java/org/codehaus/groovy/control/ResolveVisitor.java   | 1 -
 .../org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java | 1 -
 .../transform/AbstractInterruptibleASTTransformation.java   | 2 +-
 src/main/java/org/codehaus/groovy/vmplugin/v7/Selector.java | 3 +--
 8 files changed, 3 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/021ab0fb/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
--
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java 
b/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
index cc40ad5..c0d645a 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
@@ -37,6 +37,5 @@ public class EmptyExpression extends Expression {
 }
 
 public void visit(GroovyCodeVisitor visitor) {
-return;
 }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/groovy/blob/021ab0fb/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java 
b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
index e514b59..dafc741 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
@@ -240,15 +240,10 @@ public class AnnotationVisitor {
 if (attrType.isArray()) {
 checkReturnType(attrType.getComponentType(), node);
 } else if (ClassHelper.isPrimitiveType(attrType)) {
-return;
 } else if (ClassHelper.STRING_TYPE.equals(attrType)) {
-return;
 } else if (ClassHelper.CLASS_Type.equals(attrType)) {
-return;
 } else if (attrType.isDerivedFrom(ClassHelper.Enum_Type)) {
-return;
 } else if (isValidAnnotationClass(attrType)) {
-return;
 } else {
 addError("Unexpected return type " + attrType.getName(), node);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/021ab0fb/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
index 1539706..fb07f94 100644
--- 
a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
+++ 
b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
@@ -335,7 +335,7 @@ public class OptimizingStatementWriter extends 
StatementWriter {
 
 private boolean isNewPathFork(StatementMeta meta) {
 // meta.optimize -> can do fast path
-if (meta==null || meta.optimize==false) return false;
+if (meta==null || !meta.optimize) return false;
 // fastPathBlocked -> slow path
 if (fastPathBlocked) return false;
 // controller.isFastPath() -> fastPath
@@ -931,7 +931,6 @@ public class OptimizingStatementWriter extends 
StatementWriter {
 
 @Override
 public void visitClosureExpression(ClosureExpression expression) {
-return;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/groovy/blob/021ab0fb/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
index eda3367..7221ba5 100644
--- 

[1/2] groovy git commit: Trivial refactoring: remove pointless `if`

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_5_X a41023590 -> 021ab0fba


Trivial refactoring: remove pointless `if`

(cherry picked from commit 5d5b590)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/f02978c6
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/f02978c6
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/f02978c6

Branch: refs/heads/GROOVY_2_5_X
Commit: f02978c6f5f05ef310043d606281d55480cbfebc
Parents: a410235
Author: danielsun1106 
Authored: Mon Feb 19 23:17:25 2018 +0800
Committer: danielsun1106 
Committed: Mon Feb 19 23:54:06 2018 +0800

--
 .../groovy/classgen/asm/ClosureWriter.java  | 40 ++--
 1 file changed, 19 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/f02978c6/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
index af305ba..148567b 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
@@ -269,28 +269,26 @@ public class ClosureWriter {
 for (Parameter param : localVariableParams) {
 String paramName = param.getName();
 ClassNode type = param.getType();
-if (true) {
-VariableExpression initialValue = new 
VariableExpression(paramName);
-initialValue.setAccessedVariable(param);
-initialValue.setUseReferenceDirectly(true);
-ClassNode realType = type;
-type = ClassHelper.makeReference();
-param.setType(ClassHelper.makeReference());
-FieldNode paramField = answer.addField(paramName, ACC_PRIVATE 
| ACC_SYNTHETIC, type, initialValue);
-
paramField.setOriginType(ClassHelper.getWrapper(param.getOriginType()));
-paramField.setHolder(true);
-String methodName = Verifier.capitalize(paramName);
+VariableExpression initialValue = new 
VariableExpression(paramName);
+initialValue.setAccessedVariable(param);
+initialValue.setUseReferenceDirectly(true);
+ClassNode realType = type;
+type = ClassHelper.makeReference();
+param.setType(ClassHelper.makeReference());
+FieldNode paramField = answer.addField(paramName, ACC_PRIVATE | 
ACC_SYNTHETIC, type, initialValue);
+
paramField.setOriginType(ClassHelper.getWrapper(param.getOriginType()));
+paramField.setHolder(true);
+String methodName = Verifier.capitalize(paramName);
 
-// let's add a getter & setter
-Expression fieldExp = new FieldExpression(paramField);
-answer.addMethod(
-"get" + methodName,
-ACC_PUBLIC,
-realType.getPlainNodeReference(),
-Parameter.EMPTY_ARRAY,
-ClassNode.EMPTY_ARRAY,
-new ReturnStatement(fieldExp));
-}
+// let's add a getter & setter
+Expression fieldExp = new FieldExpression(paramField);
+answer.addMethod(
+"get" + methodName,
+ACC_PUBLIC,
+realType.getPlainNodeReference(),
+Parameter.EMPTY_ARRAY,
+ClassNode.EMPTY_ARRAY,
+new ReturnStatement(fieldExp));
 }
 
 Parameter[] params = new Parameter[2 + localVariableParams.length];



[2/2] groovy git commit: Trivial refactoring: cleanup code

2018-02-19 Thread sunlan
Trivial refactoring: cleanup code

(cherry picked from commit 75a16a0)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/7d1654a9
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/7d1654a9
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/7d1654a9

Branch: refs/heads/GROOVY_2_6_X
Commit: 7d1654a92f2aa795ae1f5ba96f3beaccce1385e9
Parents: e07c0dc
Author: danielsun1106 
Authored: Mon Feb 19 23:23:25 2018 +0800
Committer: danielsun1106 
Committed: Mon Feb 19 23:53:41 2018 +0800

--
 src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java | 1 -
 .../java/org/codehaus/groovy/classgen/AnnotationVisitor.java| 5 -
 .../codehaus/groovy/classgen/asm/OptimizingStatementWriter.java | 3 +--
 .../groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java   | 1 -
 src/main/java/org/codehaus/groovy/control/ResolveVisitor.java   | 1 -
 .../org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java | 1 -
 .../transform/AbstractInterruptibleASTTransformation.java   | 2 +-
 src/main/java/org/codehaus/groovy/vmplugin/v7/Selector.java | 3 +--
 8 files changed, 3 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/7d1654a9/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
--
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java 
b/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
index d1a3596..af2fe65 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/EmptyExpression.java
@@ -50,7 +50,6 @@ public class EmptyExpression extends Expression {
 }
 
 public void visit(GroovyCodeVisitor visitor) {
-return;
 }
 
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/7d1654a9/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java 
b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
index e514b59..dafc741 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AnnotationVisitor.java
@@ -240,15 +240,10 @@ public class AnnotationVisitor {
 if (attrType.isArray()) {
 checkReturnType(attrType.getComponentType(), node);
 } else if (ClassHelper.isPrimitiveType(attrType)) {
-return;
 } else if (ClassHelper.STRING_TYPE.equals(attrType)) {
-return;
 } else if (ClassHelper.CLASS_Type.equals(attrType)) {
-return;
 } else if (attrType.isDerivedFrom(ClassHelper.Enum_Type)) {
-return;
 } else if (isValidAnnotationClass(attrType)) {
-return;
 } else {
 addError("Unexpected return type " + attrType.getName(), node);
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/7d1654a9/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
index 1539706..fb07f94 100644
--- 
a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
+++ 
b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
@@ -335,7 +335,7 @@ public class OptimizingStatementWriter extends 
StatementWriter {
 
 private boolean isNewPathFork(StatementMeta meta) {
 // meta.optimize -> can do fast path
-if (meta==null || meta.optimize==false) return false;
+if (meta==null || !meta.optimize) return false;
 // fastPathBlocked -> slow path
 if (fastPathBlocked) return false;
 // controller.isFastPath() -> fastPath
@@ -931,7 +931,6 @@ public class OptimizingStatementWriter extends 
StatementWriter {
 
 @Override
 public void visitClosureExpression(ClosureExpression expression) {
-return;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/groovy/blob/7d1654a9/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
 
b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
index 28b8aab..f1ff7dd 100644
--- 

groovy git commit: Trivial refactoring: remove pointless `if`

2018-02-19 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master 427d2f256 -> 5d5b590cd


Trivial refactoring: remove pointless `if`


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/5d5b590c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/5d5b590c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/5d5b590c

Branch: refs/heads/master
Commit: 5d5b590cdbbba90097d6e8e36115f9cfda391765
Parents: 427d2f2
Author: danielsun1106 
Authored: Mon Feb 19 23:17:25 2018 +0800
Committer: danielsun1106 
Committed: Mon Feb 19 23:17:25 2018 +0800

--
 .../groovy/classgen/asm/ClosureWriter.java  | 42 ++--
 1 file changed, 20 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/5d5b590c/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
--
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java 
b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
index 7c44599..22b8653 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
@@ -278,28 +278,26 @@ public class ClosureWriter {
 for (Parameter param : localVariableParams) {
 String paramName = param.getName();
 ClassNode type = param.getType();
-if (true) {
-VariableExpression initialValue = new 
VariableExpression(paramName);
-initialValue.setAccessedVariable(param);
-initialValue.setUseReferenceDirectly(true);
-ClassNode realType = type;
-type = ClassHelper.makeReference();
-param.setType(ClassHelper.makeReference());
-FieldNode paramField = answer.addField(paramName, ACC_PRIVATE 
| ACC_SYNTHETIC, type, initialValue);
-
paramField.setOriginType(ClassHelper.getWrapper(param.getOriginType()));
-paramField.setHolder(true);
-String methodName = Verifier.capitalize(paramName);
-
-// let's add a getter & setter
-Expression fieldExp = new FieldExpression(paramField);
-answer.addMethod(
-"get" + methodName,
-ACC_PUBLIC,
-realType.getPlainNodeReference(),
-Parameter.EMPTY_ARRAY,
-ClassNode.EMPTY_ARRAY,
-new ReturnStatement(fieldExp));
-}
+VariableExpression initialValue = new 
VariableExpression(paramName);
+initialValue.setAccessedVariable(param);
+initialValue.setUseReferenceDirectly(true);
+ClassNode realType = type;
+type = ClassHelper.makeReference();
+param.setType(ClassHelper.makeReference());
+FieldNode paramField = answer.addField(paramName, ACC_PRIVATE | 
ACC_SYNTHETIC, type, initialValue);
+
paramField.setOriginType(ClassHelper.getWrapper(param.getOriginType()));
+paramField.setHolder(true);
+String methodName = Verifier.capitalize(paramName);
+
+// let's add a getter & setter
+Expression fieldExp = new FieldExpression(paramField);
+answer.addMethod(
+"get" + methodName,
+ACC_PUBLIC,
+realType.getPlainNodeReference(),
+Parameter.EMPTY_ARRAY,
+ClassNode.EMPTY_ARRAY,
+new ReturnStatement(fieldExp));
 }
 }