[
https://issues.apache.org/jira/browse/GROOVY-9815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King closed GROOVY-9815.
-----------------------------
> Object not bound with Groovy (but works fine in Java)
> -----------------------------------------------------
>
> Key: GROOVY-9815
> URL: https://issues.apache.org/jira/browse/GROOVY-9815
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 3.0.6
> Environment: OS: Windows 10
> AdoptJDK Hotspot 1.8.0.272
> Reporter: André Filipe Aloise
> Assignee: Eric Milles
> Priority: Major
> Fix For: 3.0.7, 4.0.0-alpha-2
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Consider the following reproducer: [https://github.com/ptomaszek/vertx-groovy]
> As it can be seen, there are two main classes: one with Groovy and one with
> Java. Both of them are simple reproducers of Vert.x Promises. When an object
> of Promisse calls it's future() method, it seems to create a new Future
> instance everytime, instead of just returning the existing one.
> The code within the reproducer has similar codes in Groovy and Java. When
> MainJava runs, it prints true, which is the expected behaviour. When
> MainGroovy runs, it prints false unless the class is annotated with
> @CompileStatic.
> Another reproducer is
> [https://github.com/tienquanutc/vertx-promise-groovy-bug] . This one also has
> two classes with similar codes. As promise.future() gets called four times,
> JMain classes prints 1 which is ok, but GMain prints 4. This one also works
> as expected with Groovy using @CompileStatic.
> This can be related to the fact that Promise and Future share the same
> implementation
> ([https://github.com/eclipse-vertx/vert.x/tree/3.9/src/main/java/io/vertx/core)].
> Apparently when Groovy resolves the future() method call dynamically, it
> invokes the Future.future() static method instead of the instance
> Promise.future() method.
> There's also some healthy discussion here
> [https://github.com/vert-x3/vertx-lang-groovy/issues/113]
> I don't think it's a bug with Vert.x, since the code with Java works
> correctly.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)