[ https://issues.apache.org/jira/browse/GROOVY-7379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-7379: ------------------------------ Priority: Major (was: Critical) > listeners.each { UDPListener -> ... fails with exception runtime on > List<UDPListener> when used in an inner class. > ------------------------------------------------------------------------------------------------------------------ > > Key: GROOVY-7379 > URL: https://issues.apache.org/jira/browse/GROOVY-7379 > Project: Groovy > Issue Type: Bug > Components: Compiler, groovy-runtime > Affects Versions: 2.3.6, 2.3.11 > Environment: Mac OS X 10.10.2, JDK 1.7.0_71 > Reporter: Tommy Svensson > > Exception in thread "Thread-1" java.lang.VerifyError: (class: > se/natusoft/osgi/aps/tcpipsvc/UDPReceiver$_ReceiverThread_run_closure1, > method: doCall signature: > (Lse/natusoft/osgi/aps/api/net/tcpip/UDPListener;)Ljava/lang/Object;) > Incompatible object argument for function call > at > se.natusoft.osgi.aps.tcpipsvc.UDPReceiver$ReceiverThread.run(UDPReceiver.groovy:219) > Caused by the following code: > {noformat} > this.listeners.each { UDPListener listener -> > try { > listener.udpDataReceived(config.name, dp) > } > catch (Exception e) { > getSafeLogger().error("Listener call failed for '" + > config.name + "'! (" + listener + ")", e) > } > } > {noformat} > The above code block fails with the above exception when the class the code > block is part of is an inner class. When the whole inner class is moved up > into its own top level class, this works fine, and there is no exception. > I've noticed this behavior before, there are several Groovy features that > simply fails when they are part of an inner class, but works fine in a top > level class. > I guess that the lesson here is to avoid inner classes in Groovy for now at > least. > I really love Groovy as a language, it sovles a lot of the problem with Java. > Unfortunately the stability and quality of Java releases and Grovvy releases > are on separate sides of the universe. Due to this I don't dare reccomend to > a customer to use Groovy until it has more stable and backwards compatible > releases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)