[jira] [Commented] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Jochen Theodorou (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303711#comment-16303711
 ] 

Jochen Theodorou commented on GROOVY-8338:
--

2.4.14 should have the fix. There is a second part to this fix where we upgrade 
to 2.4.x to ASM6 (not beta). As for depending on asm-all:6.0 actually we are 
currently investigating where we depend on that, because groovy-core does not 
depend on the no longer existing asm-all artifact.

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303714#comment-16303714
 ] 

Slawomir Nowak commented on GROOVY-8338:


So the latest commit from GROOVY_2_4_X should fix that? In my case, 
unfortunately it didn't. Maybe because I was compiling with asmVersion = 
6.0-BETA?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303714#comment-16303714
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 10:01 AM:
---

So the latest commit from GROOVY_2_4_X should fix that? In my case, 
unfortunately it haven't. Maybe because I was compiling with asmVersion = 
6.0-BETA?


was (Author: slnowak):
So the latest commit from GROOVY_2_4_X should fix that? In my case, 
unfortunately it didn't. Maybe because I was compiling with asmVersion = 
6.0-BETA?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Jochen Theodorou (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303728#comment-16303728
 ] 

Jochen Theodorou commented on GROOVY-8338:
--

Even though I did backport the change to 2.4.x, it is very possible I will have 
to change the fix version and say it is 2.5+ only. On the CI server the same 
fix works well on master and 2.5.x, but the JDK8 snapshot build currently fails 
there because it requests asm-all-6.0, which does not exist. Right now I 
have no idea what would be different for Groovy 2.4 to not pass verification 
and still work with for example master or 2.5. Would it possible for you to 
test Groovy 2.5? I know there are problems with master and spock, because 
master is set to Groovy 3, but 2.5 should work, should it not?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303731#comment-16303731
 ] 

Slawomir Nowak commented on GROOVY-8338:


I can try to build 2.5 from sources and test it but I'm not sure if spock is 
compatible with 2.5. 
When trying to build groovy locally, I also can't find asm-all-6.0, i had to 
downgrade the dependency.

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303731#comment-16303731
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 10:14 AM:
---

I can try to build 2.5 from sources and test it but I'm not sure if spock is 
compatible with 2.5. 
When I'm trying to build groovy locally, it also can't find asm-all-6.0, i had 
to downgrade the dependency.


was (Author: slnowak):
I can try to build 2.5 from sources and test it but I'm not sure if spock is 
compatible with 2.5. 
When trying to build groovy locally, I also can't find asm-all-6.0, i had to 
downgrade the dependency.

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 10:54 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing sth wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak commented on GROOVY-8338:


[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing sth wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 10:58 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

// edit: Ok, looks like i'm a little bit outdated, let my try again


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 11:04 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit 7c99799f1b9984c807725a04081e04bca58f6322 (HEAD -> GROOVY_2_5_X, 
origin/GROOVY_2_5_X)
Author: paulk 
Date:   Fri Dec 22 17:11:51 2017 +1000

GROOVY-8386/GROOVY-8094: Final variable analysis broken with 
try/catch/finally and if/then/else (closes #646)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

// edit: Ok, looks like i'm a little bit outdated, let my try again

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 11:04 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)

MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)
MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 11:06 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}

Of course, Validation.valid is a static factory method on an interface. So it 
looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)

MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}

Of course, Validation.valid is a static factort method on an interface. So it 
looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)

MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Comment Edited] (GROOVY-8338) Calling Stream.of from groovy class in JDK 9 fails

2017-12-26 Thread Slawomir Nowak (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-8338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303757#comment-16303757
 ] 

Slawomir Nowak edited comment on GROOVY-8338 at 12/26/17 11:06 AM:
---

[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}

Of course, Validation.valid is a static factort method on an interface. So it 
looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)

MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?


was (Author: slnowak):
[~blackdrag] Well, I had some compilation issues on 2.5, but after fixing that:
{code}Caused by: java.lang.IncompatibleClassChangeError: Method 
io.vavr.control.Validation.valid(Ljava/lang/Object;)Lio/vavr/control/Validation;
 must be InterfaceMethodref constant{code}
So it looks like the issue is still there. 

Let me know if I'm doing anything wrong:
1) i'm trying to compile groovy locally
{code}MacBook-Pro-Slawomir:groovy snowak$ git log -1
commit ad4b5d15e2191349f7ddc588cc208a4014a240d4 (HEAD -> GROOVY_2_5_X, 
upstream/GROOVY_2_5_X)
Author: sunlan 
Date:   Tue Dec 26 12:54:01 2017 +0800

Simplify the arguments of `coerceToSAM` method

(cherry picked from commit 6e5f47f)

MacBook-Pro-Slawomir:groovy snowak$ ./gradlew clean dist -x test  
--parallel{code}
2) then I specify compiled jar as a maven depencency:
{code}
org.codehaus.groovy
groovy
2.5.0-SNAPSHOT
system

/Users/snowak/work/projects/groovy/target/libs/groovy-2.5.0-SNAPSHOT.jar

{code}

This should work, right?

> Calling Stream.of from groovy class in JDK 9 fails
> --
>
> Key: GROOVY-8338
> URL: https://issues.apache.org/jira/browse/GROOVY-8338
> Project: Groovy
>  Issue Type: Bug
>  Components: groovy-runtime
>Affects Versions: 2.4.12
>Reporter: Marcus Nylander
>Assignee: Jochen Theodorou
> Fix For: 2.4.14
>
>
> Trying to call Stream.of from groovy class (groovy version 2.4.12) using JDK 
> 9 (jdk 9 181) fails. 
> Example:
> {code}
> package test
> import java.util.stream.Stream
> class B {
> static void main(String[] args) {
> Stream.of("1").forEach({ println(it) })
> }
> }
> {code}
> The code above fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> java.util.stream.Stream.of(Ljava/lang/Object;)Ljava/util/stream/Stream; must 
> be InterfaceMethodref constant
>   at java_util_stream_Stream$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.B.main(B.groovy:7)
> The same occurs for other interface static methods also:
> {code}
> public interface D {
> static D of(String s) {
> return new D() {
> };
> }
> }
> class C {
> static void main(String[] args) {
> D.of("1")
> }
> }
> {code}
> Also fails with:
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Method 
> test.D.of(Ljava/lang/String;)Ltest/D; must be InterfaceMethodref constant
>   at test.D$of.call(Unknown Source)
>   at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
>   at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
>   at test.C.main(C.groovy:7)
> Running with JDK 8 works fine.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)