
groovydoc
* added default constructors
* added java constructors
* fixed font for all classes in top frame
40 lines of code changed in:
groovydoc
* added constructor documentation for groovy source (but not java yet).
* main page now has alphabetically sorted list of classes.
* refactored SimpleGroovyClassDocAssembler to avoid duplication of parameter handling
* moved "Generating..." message slightly earlier in the proceedings, so the template rendering is included.
139 lines of code changed in:
Added Groovydoc tests
82 lines of code changed in:
Added initial implementation of Groovydoc
Java and Groovy files are read into a tree of value objects from GroovyDoclet API ( org.codehaus.groovy.groovydoc.* )
This tree is then used to generate root, package and class level template renderings
using the GStringTemplateEngine.
The default templates are included within the base groovy jar, so groovydoc can be used 'fresh out of the box'
use from ant:
<taskdef name="groovydoc" classname="org.codehaus.groovy.ant.Groovydoc">
<groovydoc sourcepath="${src.dir}"
destdir="${groovydoc.dir}"
packagenames="${groovydoc.packages}"
use="true"
windowtitle="groovydoc"
private="true"/>
I hope people will enjoy these classes, and I invite you to come and put some flesh onto this skeleton implementation.
Limitations:
- class html files only lists method summaries so far
- comments are not treated properly yet
- groovydoc ant task has only very basic parameters so far
Cheers
Jez.
2566 lines of code changed in:
* Added comments to some of the SourcePrinterTests
o '// not in java' - those bits of syntax which are uniquely groovy
o '// fails after parser' - those bits of syntax which parse in antlr but fail somewhere onwards, these are copied to UnimplementedSyntaxTest.java
* Added UnimplementedSyntaxTest.java which has assertions on the failure of a number of language
features in the parser but vocal in their failure below the parser (i.e. error messages)
[ silent ignoring of syntax features are not included, e.g. the current usage of annotations in bytecode ]
* Added SPREAD_DOT (*.) operator to pretty printer, whoops missed this one in 1.0
Cheers
Jez
377 lines of code changed in:
Enhanced newline capabilities of java2groovy
109 lines of code changed in:
* added files generated by java.g (this allows people to bootstrap into the java2groovy experience)
9748 lines of code changed in:
* deprecated the range operator '...' , all groovy code should now use '..<' instead
* added initial java2groovy tool, use at your own risk
Enjoy
Jez.
2506 lines of code changed in:
Finally... finished going through every token type the parser can
handle. Tests for every token type that can occur on the AST.
This means the SourceCodeTraversal class is complete (barring edge cases)
* Added better cast handling (casting to arrays), type args, type params,
lower and upper bounds for type arg/params, variable arity parameter.
Try this...
$ export JAVA_OPTS=-Dantlr.ast=html
$ groovyc MyExample.groovy
$ open MyExample.groovy.html # then oooh and ahhhh :-)
Enjoy :-)
Jez.
73 lines of code changed in:
* added to pretty printer <<= >> >>= *= ** **=
spread arguments (f(*list)), spread map arguments (f(*:myMap))
super(), unary plus
* more tests for above and static initializers,
strictfp, string literals, and gstrings
99 lines of code changed in:
added ==~ .@ << to pretty printer
added tests for =~ ==~ .@ << and SLIST
51 lines of code changed in:
Added regex_find =~ to pretty printer
Added more tests for parameters, range exclusive, regex literals.
Marked a couple of deprecated items in the grammar
32 lines of code changed in:
Added even more to pretty printer:
parameters, float literals, long literals,
modifiers, strictfp, with, volatile, transient,
threadsafe, synchronized blocks, switch,
-= % %= ?. += ++ ?:
Fixed wildcards and
type argument bounds (i.e. <? extends F> and <? super F> )
159 lines of code changed in:
dded to pretty printer:
implements, import, in, interface,
long, native!, new, package, return,
short, static, super, synchronized,
this, static imports.
112 lines of code changed in:
Added tests and functionality to pretty printer for:
enum, interface, implements,
implicit parameters,
instance initialiser,
labeled statements,
++, <=, any, as, assert, break,
byte, case, catch, char,
class, continue, def, default,
double, else, extends, for.
193 lines of code changed in:
* Added GE to source printer
* Added tests for GE (>=) and one form of Hex Digit literal
27 lines of code changed in:
* Added literal 'final' to pretty printer
* Added tests for annotation, final, classic for loop, double literals and float literals
* Added reminder for wildcard type arguments
24 lines of code changed in:
* fixed ENUM_CONSTANT_DEF to allow for expressions e.g. Penny(1),Quarter(25)
* added interface definitions
* added double literals, including exponents
33 lines of code changed in:
* added classic for loop, POST_INC(++) and enum definitions to pretty printer
* added some more tests for ELIST
42 lines of code changed in:
* added DYNAMIC_MEMBER to pretty printer
* modified METHOD_CALL to allow for 'commands' e.g. "println 2 + 2" instead of "println(2+2)"
* added more test cases for DOT
28 lines of code changed in:
(202 more)