GRECLIPSE

"Organize Imports" causes StackOverflow while editing a Groovy enum

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 2.0.0Release
  • Fix Version/s: 2.0.1Release
  • Component/s: Editor
  • Labels:
    None
  • Environment:
    Ubuntu Karmic 9.10. 64-bit. STS 2.3.0.
  • Number of attachments :
    0

Description

Create a file like:

MyEnum.groovy
enum MyEnum {
   ONE_VALUE, ANOTHER_VALUE
}

Then press Ctrl-O ('Organize Imports'). This fails and a StackOverflow pops up.

(I had the Organize Imports save-action enabled in Eclipse..)

Activity

Hide
Roel van Dijk added a comment -

On a related note: If this enum is in a package, the syntax highlighting had troubles with the word 'package' (a blue italic p), and the keyword 'enum' was not recognized at all.

Show
Roel van Dijk added a comment - On a related note: If this enum is in a package, the syntax highlighting had troubles with the word 'package' (a blue italic p), and the keyword 'enum' was not recognized at all.
Hide
Andy Clement added a comment -

I presume this is the stack trace you mean.

java.lang.StackOverflowError
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:206)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)

Show
Andy Clement added a comment - I presume this is the stack trace you mean. java.lang.StackOverflowError at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:206) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253) at org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports$FindUnresolvedReferencesVisitor.handleType(OrganizeGroovyImports.java:253)
Hide
Roel van Dijk added a comment -

I had to dig a bit deeper, but yes, that is the stack trace.

Show
Roel van Dijk added a comment - I had to dig a bit deeper, but yes, that is the stack trace.
Hide
Andrew Eisenberg added a comment -

Have you tried with the latest snapshot of Groovy-Eclipse. I fixed a very similar bug for rename refactoring and this may also have been fixed.

I'm on leave right now and not able to try this out, but the latest snapshot may fix your problem.

Show
Andrew Eisenberg added a comment - Have you tried with the latest snapshot of Groovy-Eclipse. I fixed a very similar bug for rename refactoring and this may also have been fixed. I'm on leave right now and not able to try this out, but the latest snapshot may fix your problem.
Hide
Roel van Dijk added a comment - - edited

Is it possible to upgrade to the latest snapshot from within STS?

Nevermind, I've used the update URL: http://ci.repository.codehaus.org/greclipse/snapshot/e35/

Show
Roel van Dijk added a comment - - edited Is it possible to upgrade to the latest snapshot from within STS? Nevermind, I've used the update URL: http://ci.repository.codehaus.org/greclipse/snapshot/e35/
Hide
Roel van Dijk added a comment -

Update: The latest snapshot did not resolve this problem.

The obvious workaround is to define a Java enum instead of a Groovy enum.

Show
Roel van Dijk added a comment - Update: The latest snapshot did not resolve this problem. The obvious workaround is to define a Java enum instead of a Groovy enum.
Hide
Andrew Eisenberg added a comment -

This has now been fixed in the latest dev build. I have tried this out locally and it is working for me.

Show
Andrew Eisenberg added a comment - This has now been fixed in the latest dev build. I have tried this out locally and it is working for me.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: