as announced before (groovy-eclipse mailinglist) we created some patches for the groovy core and the grammar. The changes affect line / column information of various AST nodes, we needed to fix these four our project where we're working on a refactoring feature for groovy-eclipse.
The changes are described in our report that is available on http://sifsstud4.hsr.ch/groovy-refactoring.pdf
description of the three patch files:
- added method getOriginType() to the Interface "Variable.java" (Description in Chapter: 220.127.116.11 Primitive Types)
- calling setReturnType(returnType) from c'tor in "MethodNode.java", extended this method (Description in Chapter: 18.104.22.168 Dynamic Return Types)
- left expression col. infos where to long in declaration expression node (Description in Chapter: 22.214.171.124 Declaration)
- initial expression col. infos were wrong in field node (Description in Chapter: 126.96.36.199 FieldNode)
- Changed the collection in "AnnotatedNode.java" to a LinkedHashMap, this way we were able to write the annotations back in the order they we're written.
- file contains new tests to test the getOriginType() method in the class VariableExpression
- the 2nd testclass tests the DynamicReturnType information of methodNodes
- adding tests to suite
- changes are described in Chapter: 5.5.1 Grammar Changes