Hi Saravanan,
what IntelliJ version are you using ? We are not using multiple
assignments in our code, but from my personal experience, IntelliJ can
unfortunately sometimes be more than 2 years behind current Groovy
features. If the newest IntelliJ version does not support what you need,
opening a ticket did help in the past (see e.g.
https://youtrack.jetbrains.com/issue/IDEA-193168), but you have to be
prepared to wait some time before seeing improvements.
In addition to that, IntelliJ sometimes marks valid Groovy code as
invalid, but reconsiders if one comments out the "offending" line(s),
and then comments it in again (I assume doing this triggers a new
Intellisense parser pass).
Interestingly afaik (disclaimer: I have not checked this recently, and
we are still on Groovy 2.5.x), Groovy will treat e.g.
var x = new Foo()
and
final x = new Foo()
as x having type Object - it is just IntelliJ Intellisense that deduces
x to be of type Foo*, thereby enabling auto completion, etc on x ;-)
Cheers,
mg
*In all but the most obscure cases
On 11/12/2020 06:54, Saravanan Palanichamy wrote:
> Hello
>
> I am using Groovy 3.0.5 and it supports multiple assignment statements from tuples when
using static compile
>
> def(var1, var2) = Tuple.tuple("a", 1)
>
> but it looks like the Intellij IDE still calls this out as a compile error. Also it defaults
to identifying var1 and var2 as objects. This hinders code completion in subsequent code.
Is this an issue for anyone else? or do I just have to upgrade my IDE?
|