[jira] [Resolved] (GROOVY-8807) Bump gradle to 4.10.2

2018-09-21 Thread Daniel Sun (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Sun resolved GROOVY-8807.

Resolution: Fixed

Fixed by 
https://github.com/apache/groovy/commit/be7d6aa4ed63a6eebdebc0c32adf2a2f6eb129c5

> Bump gradle to 4.10.2
> -
>
> Key: GROOVY-8807
> URL: https://issues.apache.org/jira/browse/GROOVY-8807
> Project: Groovy
>  Issue Type: Dependency upgrade
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 3.0.0-alpha-4, 2.5.3
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GROOVY-8807) Bump gradle to 4.10.2

2018-09-21 Thread Daniel Sun (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Sun updated GROOVY-8807:
---
Issue Type: Dependency upgrade  (was: New Feature)

> Bump gradle to 4.10.2
> -
>
> Key: GROOVY-8807
> URL: https://issues.apache.org/jira/browse/GROOVY-8807
> Project: Groovy
>  Issue Type: Dependency upgrade
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 3.0.0-alpha-4, 2.5.3
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (GROOVY-8807) Bump gradle to 4.10.2

2018-09-21 Thread Daniel Sun (JIRA)
Daniel Sun created GROOVY-8807:
--

 Summary: Bump gradle to 4.10.2
 Key: GROOVY-8807
 URL: https://issues.apache.org/jira/browse/GROOVY-8807
 Project: Groovy
  Issue Type: New Feature
Reporter: Daniel Sun
Assignee: Daniel Sun
 Fix For: 3.0.0-alpha-4, 2.5.3






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GROOVY-8794) Add groovy-yaml subproject to support parsing and building yaml

2018-09-21 Thread Daniel Sun (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Sun updated GROOVY-8794:
---
Fix Version/s: (was: 2.5.3)
   3.0.0-alpha-4

> Add groovy-yaml subproject to support parsing and building yaml
> ---
>
> Key: GROOVY-8794
> URL: https://issues.apache.org/jira/browse/GROOVY-8794
> Project: Groovy
>  Issue Type: New Feature
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 3.0.0-alpha-4
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (GROOVY-8794) Add groovy-yaml subproject to support parsing and building yaml

2018-09-21 Thread Daniel Sun (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Sun resolved GROOVY-8794.

Resolution: Fixed

Fixed by 
https://github.com/apache/groovy/commit/16b24b8c4044b7aff2bc1451ffb76cfe94baff81

> Add groovy-yaml subproject to support parsing and building yaml
> ---
>
> Key: GROOVY-8794
> URL: https://issues.apache.org/jira/browse/GROOVY-8794
> Project: Groovy
>  Issue Type: New Feature
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 3.0.0-alpha-4
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (GROOVY-8794) Add groovy-yaml subproject to support parsing and building yaml

2018-09-21 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on GROOVY-8794:


Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/797


> Add groovy-yaml subproject to support parsing and building yaml
> ---
>
> Key: GROOVY-8794
> URL: https://issues.apache.org/jira/browse/GROOVY-8794
> Project: Groovy
>  Issue Type: New Feature
>Reporter: Daniel Sun
>Assignee: Daniel Sun
>Priority: Major
> Fix For: 2.5.3
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] groovy pull request #797: GROOVY-8794: Add groovy-yaml subproject to support...

2018-09-21 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/797


---


[jira] [Commented] (GROOVY-8805) GroovyScriptEngine reload fails when dependent class is deleted

2018-09-21 Thread ASF GitHub Bot (JIRA)


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

ASF GitHub Bot commented on GROOVY-8805:


GitHub user gclayburg opened a pull request:

https://github.com/apache/groovy/pull/799

GROOVY-8805 reloading a script under GroovyScriptEngine should succee…

…d when dependent class is deleted

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gclayburg/groovy GROOVY_2_5_X

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/799.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #799


commit b56ba11d335f969682b151719f5ad278bb695d9c
Author: Gary Clayburg 
Date:   2018-09-21T19:50:23Z

GROOVY-8805 reloading a script under GroovyScriptEngine should succeed when 
dependent class is deleted




> GroovyScriptEngine reload fails when dependent class is deleted
> ---
>
> Key: GROOVY-8805
> URL: https://issues.apache.org/jira/browse/GROOVY-8805
> Project: Groovy
>  Issue Type: Bug
>  Components: GroovyScriptEngine
>Affects Versions: 2.4.15, 2.5.2
>Reporter: Gary Clayburg
>Priority: Major
>
> When using GroovyScriptEngine.loadScriptByName(scriptName), the reloading 
> will fail with a groovy.util.ResourceException if a dependent class has been 
> removed from the script root filesystem.  To reproduce this issue, start with 
> a script and a dependent class:
> ClassA.groovy
> {code:java}
> DependentClass ic = new DependentClass(){code}
>  
>  DependentClass.groovy
>  
> {code:java}
>  class DependentClass {}
>  
> {code}
>  
> When these classes are initially compiled with GroovyScriptEngine, things 
> work fine.  There are no errors when loading the script like this:
>  
> {code:java}
> gse.loadScriptByName('ClassA.groovy'){code}
>  
> However, once DependentClass.groovy is completely removed from the filesystem 
> and ClassA is modified to remove the reference, the same 
> gse.loadScriptByName('ClassA.groovy') will fail with a 
> groovy.utilResourceExeption. 
>  
> It appears GroovyScriptEngine keeps a dependency cache and gets confused in 
> this case.  The line that fails is a check for lastModifedTime of this 
> dependency.  The dependency of course no longer exists, but the check for 
> lastModiedTime occurs before ClassA compile has been attempted.
>  
> I am working on a PR that fixes this.  It seems to me that inside 
> gse.isSourceNewer(entry), it can just treat a ResourceException during 
> getLastModifed(scriptName) as an indication to just attempt a recompile 
> instead of throwing the exception.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] groovy pull request #799: GROOVY-8805 reloading a script under GroovyScriptE...

2018-09-21 Thread gclayburg
GitHub user gclayburg opened a pull request:

https://github.com/apache/groovy/pull/799

GROOVY-8805 reloading a script under GroovyScriptEngine should succee…

…d when dependent class is deleted

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gclayburg/groovy GROOVY_2_5_X

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/799.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #799


commit b56ba11d335f969682b151719f5ad278bb695d9c
Author: Gary Clayburg 
Date:   2018-09-21T19:50:23Z

GROOVY-8805 reloading a script under GroovyScriptEngine should succeed when 
dependent class is deleted




---


[jira] [Created] (GROOVY-8806) Immutable classes break in groovy 2.5.2

2018-09-21 Thread Roberto Perez Alcolea (JIRA)
Roberto Perez Alcolea created GROOVY-8806:
-

 Summary: Immutable classes break in groovy 2.5.2
 Key: GROOVY-8806
 URL: https://issues.apache.org/jira/browse/GROOVY-8806
 Project: Groovy
  Issue Type: Bug
Affects Versions: 2.5.2
Reporter: Roberto Perez Alcolea


We've being running tests of gradle plugins with latest gradle nightly release 
which upgraded to groovy 2.5.2

Since then, we've seen multiple plugins breaking with errors around 
immutability:

 
{code:java}
> Unsupported type (org.ajoberstar.grgit.Branch) found for field 
> 'trackingBranch' while constructing immutable class 
> org.ajoberstar.grgit.Branch.
Immutable classes only support properties with effectively immutable types 
including:
- Strings, primitive types, wrapper types, Class, BigInteger and BigDecimal, 
enums
- classes annotated with @KnownImmutable and known immutables (java.awt.Color, 
java.net.URI)
- Cloneable classes, collections, maps and arrays, and other classes with 
special handling
(java.util.Date and various java.time.* classes and interfaces)
Other restrictions apply, please see the groovydoc for ImmutableOptions for 
further details{code}
 

I was wondering if this change is related to 
[https://github.com/apache/groovy/commit/3471f55ea5839ab3c9dfa51cdca081bc7b4c020e#diff-8f745c460bc1abf332f21067b21ec551R754]
 

 

And also,  looks like gradle plugins that use the gradleApi and are compiled 
with groovy 2.4 could break with groovy 2.5 with usages like this one



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (GROOVY-8805) GroovyScriptEngine reload fails when dependent class is deleted

2018-09-21 Thread Gary Clayburg (JIRA)
Gary Clayburg created GROOVY-8805:
-

 Summary: GroovyScriptEngine reload fails when dependent class is 
deleted
 Key: GROOVY-8805
 URL: https://issues.apache.org/jira/browse/GROOVY-8805
 Project: Groovy
  Issue Type: Bug
  Components: GroovyScriptEngine
Affects Versions: 2.5.2, 2.4.15
Reporter: Gary Clayburg


When using GroovyScriptEngine.loadScriptByName(scriptName), the reloading will 
fail with a groovy.util.ResourceException if a dependent class has been removed 
from the script root filesystem.  To reproduce this issue, start with a script 
and a dependent class:

ClassA.groovy
{code:java}
DependentClass ic = new DependentClass(){code}
 

 DependentClass.groovy

 
{code:java}
 class DependentClass {}
 
{code}
 

When these classes are initially compiled with GroovyScriptEngine, things work 
fine.  There are no errors when loading the script like this:

 
{code:java}
gse.loadScriptByName('ClassA.groovy'){code}
 

However, once DependentClass.groovy is completely removed from the filesystem 
and ClassA is modified to remove the reference, the same 
gse.loadScriptByName('ClassA.groovy') will fail with a 
groovy.utilResourceExeption. 

 

It appears GroovyScriptEngine keeps a dependency cache and gets confused in 
this case.  The line that fails is a check for lastModifedTime of this 
dependency.  The dependency of course no longer exists, but the check for 
lastModiedTime occurs before ClassA compile has been attempted.

 

I am working on a PR that fixes this.  It seems to me that inside 
gse.isSourceNewer(entry), it can just treat a ResourceException during 
getLastModifed(scriptName) as an indication to just attempt a recompile instead 
of throwing the exception.

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (GROOVY-7165) Static Compilation: private static field accessed from a Closure produces a runtime error

2018-09-21 Thread Eric Milles (JIRA)


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

Eric Milles commented on GROOVY-7165:
-

Any chance of getting this fixed for 2.4.x and 2.5.3?  Whether or not private 
field access should be allowed is a topic for 3+.  As indicated, private field 
access does work in many cases.  And so I would expect that moving from 
"Type.VALUE" to "import static Type.VALUE" paired with "VALUE" should work as 
well.

> Static Compilation: private static field accessed from a Closure produces a 
> runtime error
> -
>
> Key: GROOVY-7165
> URL: https://issues.apache.org/jira/browse/GROOVY-7165
> Project: Groovy
>  Issue Type: Bug
>  Components: Static compilation
>Affects Versions: 2.3.7
>Reporter: Neil Galarneau
>Priority: Major
>
> The following code compiles cleanly but throws an exception at runtime.
> This code doesn't have a stack trace. The code I simplified this from, did 
> have a stack trace.
> If I remove 'private' from staticfield, then it works:
> {code}
> @CompileStatic
> class TestPrivateStaticFieldInClosure extends BaseBug
> {
>   public static void main(String[] args)
>   {
> (new TestPrivateStaticFieldInClosure()).show()
>   }
> }
> @CompileStatic
> class BaseBug
> {
>   private static ArrayList staticfield = new ArrayList<>()
>   void show()
>   {
> List, String>> runners = new ArrayList<>()
> runners.add(new Called())
> List cmds = ["hello"]
> runners.each { cmds.addAll(it.apply(staticfield)) }
> println cmds.size()
>   }
>   class Called implements Function, String>
>   {
> @Override
> String apply(List strings) {
>   "groovin"
> }
>   }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GROOVY-8327) Parser regression. Can't access static instance method before class is constructed

2018-09-21 Thread Isaac Dooley (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Isaac Dooley updated GROOVY-8327:
-
Description: 
The parser in 2.5, 2.6, 3.0 gives a MultipleCompilationErrorsException on code 
that compiled successfully in 2.4
{code:java|title=Code that fails to compile on 2.6.0-alpha-1}
class A {
static String g() { }
A() {
this({g()}) // It is ok to create a closure that calls g() in a 
constructor, but not if it is being passed into this().
}
A(a) { }
}
{code}
{code:java|title=compilation error message}
$ groovyc test.groovy  
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
test.groovy: 4: Can't access instance method 'g' before the class is constructed
 @ line 4, column 15.
   this({g()}) // It is ok to create a closure that calls g() in a 
constructor, but not if it is being passed into this().
 ^

1 error
{code}
My opinion is that groovy should allow users to call a static method inside a 
constructor before the instance has been fully constructed, but I'm not aware 
of the details of why this is disallowed in 2.6.0-alpha-1.

  was:
The parser in 2.6.0-alpha-1 gives a MultipleCompilationErrorsException on code 
that compiled successfully in 2.4.12. 

{code:title=Code that fails to compile on 2.6.0-alpha-1}
class A {
static String g() { }
A() {
this({g()}) // It is ok to create a closure that calls g() in a 
constructor, but not if it is being passed into this().
}
A(a) { }
}
{code}

{code:title=compilation error message}
$ groovyc test.groovy  
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
test.groovy: 4: Can't access instance method 'g' before the class is constructed
 @ line 4, column 15.
   this({g()}) // It is ok to create a closure that calls g() in a 
constructor, but not if it is being passed into this().
 ^

1 error
{code}

My opinion is that groovy should allow users to call a static method inside a 
constructor before the instance has been fully constructed, but I'm not aware 
of the details of why this is disallowed in 2.6.0-alpha-1.


> Parser regression. Can't access static instance method before class is 
> constructed
> --
>
> Key: GROOVY-8327
> URL: https://issues.apache.org/jira/browse/GROOVY-8327
> Project: Groovy
>  Issue Type: Bug
>Affects Versions: 2.6.0-alpha-1, 3.0.0-alpha-3, 2.5.2
> Environment: groovc command line on linux
>Reporter: Isaac Dooley
>Priority: Major
>
> The parser in 2.5, 2.6, 3.0 gives a MultipleCompilationErrorsException on 
> code that compiled successfully in 2.4
> {code:java|title=Code that fails to compile on 2.6.0-alpha-1}
> class A {
> static String g() { }
> A() {
> this({g()}) // It is ok to create a closure that calls g() in a 
> constructor, but not if it is being passed into this().
> }
> A(a) { }
> }
> {code}
> {code:java|title=compilation error message}
> $ groovyc test.groovy  
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> test.groovy: 4: Can't access instance method 'g' before the class is 
> constructed
>  @ line 4, column 15.
>this({g()}) // It is ok to create a closure that calls g() in a 
> constructor, but not if it is being passed into this().
>  ^
> 1 error
> {code}
> My opinion is that groovy should allow users to call a static method inside a 
> constructor before the instance has been fully constructed, but I'm not aware 
> of the details of why this is disallowed in 2.6.0-alpha-1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (GROOVY-8327) Parser regression. Can't access static instance method before class is constructed

2018-09-21 Thread Isaac Dooley (JIRA)


 [ 
https://issues.apache.org/jira/browse/GROOVY-8327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Isaac Dooley updated GROOVY-8327:
-
Affects Version/s: 3.0.0-alpha-3

> Parser regression. Can't access static instance method before class is 
> constructed
> --
>
> Key: GROOVY-8327
> URL: https://issues.apache.org/jira/browse/GROOVY-8327
> Project: Groovy
>  Issue Type: Bug
>Affects Versions: 2.6.0-alpha-1, 3.0.0-alpha-3, 2.5.2
> Environment: groovc command line on linux
>Reporter: Isaac Dooley
>Priority: Major
>
> The parser in 2.6.0-alpha-1 gives a MultipleCompilationErrorsException on 
> code that compiled successfully in 2.4.12. 
> {code:title=Code that fails to compile on 2.6.0-alpha-1}
> class A {
> static String g() { }
> A() {
> this({g()}) // It is ok to create a closure that calls g() in a 
> constructor, but not if it is being passed into this().
> }
> A(a) { }
> }
> {code}
> {code:title=compilation error message}
> $ groovyc test.groovy  
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> test.groovy: 4: Can't access instance method 'g' before the class is 
> constructed
>  @ line 4, column 15.
>this({g()}) // It is ok to create a closure that calls g() in a 
> constructor, but not if it is being passed into this().
>  ^
> 1 error
> {code}
> My opinion is that groovy should allow users to call a static method inside a 
> constructor before the instance has been fully constructed, but I'm not aware 
> of the details of why this is disallowed in 2.6.0-alpha-1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (GROOVY-8753) Compiler error in STC: exception in phase 'instruction selection'

2018-09-21 Thread Graeme Rocher (JIRA)


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

Graeme Rocher commented on GROOVY-8753:
---

Note this issue also blocks upgrading Micronaut to 2.5.2

> Compiler error in STC: exception in phase 'instruction selection'
> -
>
> Key: GROOVY-8753
> URL: https://issues.apache.org/jira/browse/GROOVY-8753
> Project: Groovy
>  Issue Type: Bug
>  Components: Static compilation
>Affects Versions: 2.5.2
> Environment: Java 8u181, Ubuntu 18.04
>Reporter: Patric Bechtel
>Assignee: Paul King
>Priority: Critical
> Fix For: 3.0.0-alpha-4, 2.5.3
>
>
> Following source compiles under 2.5.1 and 3.0alpha3, but not 2.5.2:
> {code:java}
> @groovy.transform.CompileStatic
> class A {
>    private List fooNames = []
>    public A(Collection names) {
>   names.each { fooNames << it }
>    }
>    public List getFooNames() { fooNames }
> }
> {code}
> error message is:
> {noformat}
> >>> a serious error occurred: BUG! exception in phase 'instruction selection' 
> >>> in source unit 'A.groovy' Tried to overwrite existing meta data 
> >>> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: 
> >>> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] 
> >>> property: ConstantExpression[fooNames]].
> >>> stacktrace:
> BUG! exception in phase 'instruction selection' in source unit 'A.groovy' 
> Tried to overwrite existing meta data 
> org.codehaus.groovy.ast.expr.PropertyExpression@d9f41[object: 
> org.codehaus.groovy.ast.expr.VariableExpression@d9f41[variable: this] 
> property: ConstantExpression[fooNames]].
>     at org.codehaus.groovy.ast.ASTNode.setNodeMetaData(ASTNode.java:154)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkOrMarkPrivateAccess(StaticTypeCheckingVisitor.java:501)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.storeField(StaticTypeCheckingVisitor.java:1711)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1473)
>     at 
> org.codehaus.groovy.transform.sc.StaticCompilationVisitor.existsProperty(StaticCompilationVisitor.java:522)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.existsProperty(StaticTypeCheckingVisitor.java:1381)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitPropertyExpressionSilent(StaticTypeCheckingVisitor.java:726)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.tryVariableExpressionAsProperty(StaticTypeCheckingVisitor.java:711)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitVariableExpression(StaticTypeCheckingVisitor.java:630)
>     at 
> org.codehaus.groovy.ast.expr.VariableExpression.visit(VariableExpression.java:72)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBinaryExpression(StaticTypeCheckingVisitor.java:785)
>     at 
> org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:51)
>     at 
> org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:197)
>     at 
> org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42)
>     at 
> org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:88)
>     at 
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:106)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitBlockStatement(StaticTypeCheckingVisitor.java:3628)
>     at 
> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71)
>     at 
> org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:227)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2286)
>     at 
> org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:49)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2596)
>     at 
> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3286)
>     at 
> org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:397)
>     at 
> org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:70)
>     at 
> org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:122)
>     at 
>