You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/05/02 18:26:00 UTC

[jira] [Commented] (GROOVY-10612) Tweak plus operation for `Map` instance to align with Java

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

ASF GitHub Bot commented on GROOVY-10612:
-----------------------------------------

daniellansun merged PR #1718:
URL: https://github.com/apache/groovy/pull/1718




> Tweak plus operation for `Map` instance to align with Java
> ----------------------------------------------------------
>
>                 Key: GROOVY-10612
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10612
>             Project: Groovy
>          Issue Type: Improvement
>            Reporter: Daniel Sun
>            Assignee: Daniel Sun
>            Priority: Major
>             Fix For: 5.0.0-alpha-1, 4.0.3
>
>
> The string concatenation for {{Map}} instance of Groovy is not aligned with Java, e.g. the following code can not work:
> {code:java}
> [a:1] + ' is a map'
> {code}
> Here are the error messages:
> {code:java}
> groovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.plus() is applicable for argument types: (String) values: [ is a map]
> Possible solutions: plus(java.util.Collection), plus(java.util.Map), values(), values(), values(), put(java.lang.Object, java.lang.Object)
> 	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:72)
> 	at org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:172)
> 	at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:318)
> 	at ConsoleScript2.run(ConsoleScript2:1)
> 	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:268)
> 	at groovy.lang.GroovyShell.run(GroovyShell.java:374)
> 	at groovy.lang.GroovyShell.run(GroovyShell.java:353)
> 	at groovy.lang.GroovyShell.run(GroovyShell.java:179)
> 	at groovy.console.ui.Console$GroovySourceType.run(Console.groovy:1189)
> 	at groovy.console.ui.Console.doRun(Console.groovy:1421)
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
> 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
> 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
> 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:342)
> 	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:63)
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
> 	at groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy:1385)
> 	at groovy.console.ui.Console$_runScriptImpl_closure23.doCall(Console.groovy)
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
> 	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
> 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
> 	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
> 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009)
> 	at groovy.lang.Closure.call(Closure.java:418)
> 	at groovy.lang.Closure.call(Closure.java:412)
> 	at groovy.lang.Closure.run(Closure.java:500)
> 	at java.base/java.lang.Thread.run(Thread.java:833)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)