* added labeled arguments, member pointers, addition and closures to the 'pretty printer'
* amended MindMapPrinter to have folding on Expressions, Method Definitions and Variable Definitions, which gives a more managable AST view in the average case. And added more type information to each node.
for example:
MindMapPrinter - http://groovy.javanicus.com/Console.groovy.mindmap.gif
SourcePrinter + NodeAsHTMLPrinter - http://groovy.javanicus.com/Console.groovy.html
is the output from...
http://cvs.codehaus.org/viewrep/groovy/groovy/groovy-core/src/main/groovy/ui/Console.groovy?r=1.25
93 lines of code changed in:
This patch should help to avoid the usage of relfection in servlets. The reason for the problems was a cast to an invisible class from another classloader. Tomcat for example uses it's own implementaion of the Servlet API, but in newer versions these classes are hidden. Normally this is no problem in Java as we can uses these hidden classes through interfaces or objects, that are visible. But the Reflector used always the object name, so this resulted in a strange ClassNotFoundException. The class couldn't be found because the Reflector is part of another class laoder and can't be part of the same ClassLoader as the orignal class in all cases (for exmaple if the groovy classes are not visible).
To solve that problem this patch goes up in the hirarchy of the object and casts to the object the method was first declared on.
55 lines of code changed in:
to reduce memory only one instance of Invoker/MetaClass will now be used instead fo 37 instances (1 for each test)
1 lines of code changed in:
Added 'pretty printer' and other visitor/traversal algorithms for the Antlr AST
These are most obvious by using the system properties...
-Dantlr.ast=groovy - pretty prints to Foo.groovy.pretty.groovy
-Dantlr.ast=mindmap - outputs AST as a mind map (using http://freemind.sf.net ) to Foo.groovy.mm
-Dantlr.ast=html - outputs coloured version of source, with each AST node as rollover, to Foo.groovy.html
e.g.
export JAVA_OPTS=-Dantlr.ast=html
groovyc Foo.groovy
open Foo.groovy.html (open the source in a browser)
This is an implementation of the Visitor pattern from GoF, but as the
Antlr AST nodes are homogenous, I have created a tree traversal process
that walks over the tree calling the supplied visitor(s).
The visitors are not responsible for any traversal of nodes themselves,
so they have the added subtlety of opening/subsequent/closing visits to
cover cases such as expression lists (a,b,c)
3399 lines of code changed in:
GROOVY-835 / GROOVY-607 : Added tests to ensure that the classpath of a given CompilerConfiguration gets appended to that of a GroovyClassLoader used by a CompilationUnit
118 lines of code changed in:
Housekeeping: Upgraded jMockto the 20050625-111115 snapshot (support for complex constructors + new HasProperty constraint)
0 lines of code changed in:
GROOVY-835: Replaced _searchPaths with searchPaths as requested by the author of the patch so that the classpath of the associated CompilerConfiguration is used instead of java.class.path
9 lines of code changed in:
Resolved GROOVY-889 (duplicate MetaMethods under JDK 1.5) and related issues in Inspector and MetaClass where MetaMethods were added multiple times to the MetaClass.
39 lines of code changed in:
Added a test for GROOVY-872. Unnecessary really but you can't have too many tests.
23 lines of code changed in:
Added a test associated with GROOVY-662 to codify decisions in an (anti-)regression test.
82 lines of code changed in:
avoids an empty compiler configuration
2 lines of code changed in:
GROOVY-602 / GROOVY-607: Removed classloading-related setup from GroovyController following the resolution of GROOVY-902
6 lines of code changed in:
Housekeeping: ...
Added support for IntelliJ IDEA Irida build #3378 to reflect the latest Open API changes
Reduced the number of JAR files required at runtime by using the the groovy-all JAR instead
34 lines of code changed in:
some early returns added for better readability
4 lines of code changed in:
GROOVY-797: Restored default no-args constructor in GroovySupportLoader so that PicoContainer can load it at runtime
10 lines of code changed in:
Housekeeping: ...
Removed the obsolete RunAction as it has since been replaced by the use of Run Configurations
Simplified the creation of a GroovyLibraryModuleListener in GroovyJProjectComponent
94 lines of code changed in:
GROOVY-797: first attempt at removing the build-time dependency on the presence of the GroovyJ plug-in inside IDEA
26 lines of code changed in:
GROOVY-797: Implemented the automatic installation of a default Groovy runtime as a Global Library in IDEA
406 lines of code changed in:
resolve GROOVY-907 : empty ranges. not yet sure how equals() should behave.
182 lines of code changed in:
Marked new line bug work-around as deprecated. Needs more testing, especially under Linux!
5 lines of code changed in:
Fixed 818, 901 and potentially 904. Last one needs verification.
New line characters are parsed and produce more correct script source w/ WYSIWYG style.
36 lines of code changed in:
Fixed bug, that prevented element attibutes to be printed.
Added 'gsp:expression' handling.
Refactored some methods and cleaned things up.
No tests yet, still in alpha state. :)
135 lines of code changed in:
GROOVY-797: Updated project build to add the build-time dependency on xstream.jar
8 lines of code changed in:
GROOVY-602: A few refactorings around the way module source folders are appended to the classpath of a Run Configuration
84 lines of code changed in:
GROOVY-797: Updated project build to add the build-time dependency on commons-collections.jar
7 lines of code changed in:
GROOVY-602: Replaced JSR-02 JAR with the latest JSR-03 snapshot JAR in order to fix the classloading bug - see GROOVY-902
0 lines of code changed in:
The spaces in classpaths should only be applied in manifests. In regular classpaths you must use a File.pathSeparator.
9 lines of code changed in:
Use the GroovyClassLoader instead of the braindead CompilerClassLoader.
5 lines of code changed in:
Category methods need to be sorted properly so we apply the correct one.
41 lines of code changed in:
Added defensiv null pointer check, as some subclasses use the field w/o checking for null configuration.
5 lines of code changed in:
Using default CompilerConfiguration instead of null. Fixes partly http://jira.codehaus.org/browse/GROOVY-898 ... need to find all usages of class CompilerConfiguration to close the issue.
10 lines of code changed in:
GROOVY-607: Updated GroovyController to append a given module's source folders to the classpath of a corresponding compiler configuration
Housekeeping: Replaced old-style for loops with 1.5 ones for Iterable instances
197 lines of code changed in:
Housekeeping: Upgraded codebase to IntelliJ IDEA Irida build #3326 / Upgraded build to JDK 1.5 and Clover 1.3.7
2 lines of code changed in:
Inital commit of the future 'gsp:scriptlet & Co' engine.
See http://jira.codehaus.org/browse/GROOVY-839 for details and examples.
ALPHA revision: needs testing! :-)
265 lines of code changed in:
Updated javdoc comments and examples to jsr-02 behaviour.
Correcte exception messages.
11 lines of code changed in:
Changed indent printer field access level from 'private' to 'protected final' - easier sub-classing.
Added null-pointer check to constructor.
5 lines of code changed in:
Modified the Eclipse compiler warning settings.
2 lines of code changed in:
improving groovyConsole with font zooming, ObjectBrowser with Property support
33 lines of code changed in:
Housekeeping: Replaced the Groovy JSR-2 snapshot JAR with the released one
0 lines of code changed in:
small GUI enhancements on ObjectBrowser and GroovyConsole (use System L&F, use Tabs)
17 lines of code changed in:
make the ObjectBrowser available in groovyConsole by Ctrl-I and through Menu Item
15 lines of code changed in:
make the ObjectBrowser available in groovysh through the inspect command.
31 lines of code changed in:
post release version change & patch for site:deploy
3 lines of code changed in:
add asc/desc Sorting to the ObjectBrowser Tables and add the fields table
512 lines of code changed in:
getting ready for JSR-02 release
10 lines of code changed in:
GROOVY-607: Added the unpacking of GroovyRuntimeException's occuring during the processing of compilation errors
43 lines of code changed in:
GROOVY-607: Added getMessageWithoutLocationText to GroovyRuntimeException for unpacking concise error messages
5 lines of code changed in:
Housekeeping: Refreshed the JAR for the latest Groovy JSR-2 snapshot
0 lines of code changed in:
enables the class loader to write dependent classes if the config contains a target directory
3 lines of code changed in:
update to JSR Version. (oh, that one was very old...)
5 lines of code changed in:
* Added Comparable interface to GroovySourceAST, based on line/col positions
so that facilities such as Collections.sort() can be used on collections of
these AST nodes
92 lines of code changed in:
a first step into an interactive ObjectBrowser. currently shows only class info and method infos. reveals some problems with duplicated entries in MetaClass. still subject to improvement.
100 lines of code changed in:
avoid NPE when a stack element has no file name
2 lines of code changed in:
avoid compiling a dependent script multiple times
17 lines of code changed in:
update Widgets example to latest JSR 02 rules
10 lines of code changed in:
Housekeeping: Refreshed the JAR for the latest Groovy JSR-2 snapshot
0 lines of code changed in:
dummy change to trigger the build
2 lines of code changed in:
another change to avoid NPEs during handling dependent scripts
23 lines of code changed in:
relaxed assertions to let the tests run for blackdrag. An issue remains concerning JDK 1.5 and doubled entries for static meta methods.
88 lines of code changed in:
commented out the package tag used by javadoc plugin, because javadoc was confused
1 lines of code changed in:
expose bug GROOVY-886 (each(){} throws NPE when called on a Java Object[], that contains String[]'s with null entries)
23 lines of code changed in:
Housekeeping: Updated project build to produce JDK 1.4 compatible bytecode
3 lines of code changed in:
Housekeeping: Refreshed the JAR for the latest Groovy JSR-2 snapshot
0 lines of code changed in:
correct closure parameter check
1 lines of code changed in:
Housekeeping: Added support for versions of Ant greater than 1.6.2
9 lines of code changed in:
one def too much
0 lines of code changed in:
removed some non valid defs inside the gstring
0 lines of code changed in:
Housekeeping: Refreshed the JAR for the latest Groovy JSR-2 snapshot
0 lines of code changed in:
GROOVY-601: Updated groovy.psi.g to reflect the recent changes made to groovy.g
4 lines of code changed in:
clarify the use of multi-dim arrays and provide a workaround
30 lines of code changed in:
* Removed 'default method pointer' which caused non determinism in
the parser (due to confusion with 'binary and')
Alternative...
instead of
&myMethod()
use
this.&myMethod()
13 lines of code changed in:
Housekeeping: Refreshed the JAR for the latest Groovy JSR-2 snapshot
0 lines of code changed in:
expose String[][] bug when given from Java to Groovy
8 lines of code changed in:
provide a unified way of retrieving object-information at runtime. This is pre-work that can later be used for code-completion, interactive object browsing, etc.
387 lines of code changed in:
enables the scope checks by default, only when the sysproperty groovy.jsr.check is set to false, they are skipped
1 lines of code changed in:
changed the created class to a script
2 lines of code changed in:
another fall through (the last I hope)
2 lines of code changed in:
another fall through was needed
2 lines of code changed in:
added a fall through to avoid collision of variable names with class names (example "import org.codehaus.groovy.ast.; def classNode" collides with org.codehaus.groovy.ast.ClassNode and throws a NoClassDef instead a ClassNotFound
2 lines of code changed in:
disable checking if no source unit is available
1 lines of code changed in:
added missing defs
3 lines of code changed in:
some modifications to avoid double definitons of variables
27 lines of code changed in:
added some fall throughs fpr NoClassDefFound problems and avoid to return a null class
15 lines of code changed in:
enables groovy to give compilation errors for dependent scripts
117 lines of code changed in:
Applying patch from Hein, GROOVY-875
11 lines of code changed in:
should have checked the target better
1 lines of code changed in:
make it much more efficient
26 lines of code changed in:
Fixing tests to enable the scoping checks to work
13 lines of code changed in: