[root]/groovy/groovy-core/src/test/org/codehaus/groovy/syntax/lexer
Moved the classic parser out into a separate module (groovy/modules/classic) to avoid distributing code with folks using the JSR. Moved the old classic test cases over too to avoid us getting mixed up.
0 lines of code changed in:
more tests
4 lines of code changed in:
* added UnicodeEscapingReader before the lexer starts, thanks to Alan Green (alang) for this patch.
- altered Base64Test for now to not check \u0000, until we resolve why \u0000..\u0002 being left out of lexer
* reenabled tests in maven.xml and Uber*
* migrated EscapedMetaCharacterTest to the jsr syntax
* provided additional error messages for MetaClass and the groovy console
9 lines of code changed in:
updated the test cases to use JSR parser syntax
0 lines of code changed in:
test case for bug 655
10 lines of code changed in:
Overhaul of Groovy parser and lexer. Includes numerous bug fixes, enhancements,
and changes.
30 lines of code changed in:
Applied parser changes from Chris which include...
further refactoring/cleanup of the parser, added
(parser-/ast-only) support for labels, added (untested,
parser-/ast-only) support for defaulted parameters, changes to the
handling of blocks, and the wiring-up of the error handling system for
the Groovyc Ant task.
4 lines of code changed in:
Applied patches kindly submitted by Chris Poirier to refactor the code, add better warning level support to the compiler and to document the code.
Details from Chris....
Multiple error handling is in place, but not fully completed. It works
best in the parsing phase, but I'm only about half-way through an
overhaul of the parser code. I've fixed about a dozen bugs in the
parser, and refactored a lot of the code. I've added parser (only)
support for nested classes, static initializers, and interfaces. I'll
continue with the process tonight.
The FileSystemCompiler has a new flag, --exception, that can be used to
output full stack traces for exceptions. By default, only uncaught
exceptions will get the full report. The code that outputs the line on
which the error occurred will probably only work with invokations
through the FileSystemCompiler, and I don't know exactly how well
CompilerFacade will currently behave.
3 lines of code changed in:
refactor the parser exception tree to have better error information, particularly lines etc
1 lines of code changed in:
Fixes for GROOVY-94, GROOVY-118, GROOVY-114, GROOVY-113, GROOVY-111, GROOVY-99
Also added the first cut of the user guide
Patched the JUnit test case generation from the wiki to handle scripts as well as methods.
Patched the $ escaping logic to allow $${foo} to be used to represent the ${foo} string
Made strings support multi-line spanning
Improved some of the lexical exception messages
Added sample script to convert HTML into wiki notation
Added useWriter/Reader/InputStream/OutputStream making it easier to work with streams without having to clutter your code with resource closing code.
315 lines of code changed in:
Applied John's refactorings of the Lexer to simplify the code and make it easier to throw exceptions in the lexer itself
23 lines of code changed in:
First cut of the parser refactorings to handle newlines cleanly so that we can make newlines part of the synatx - such as to differentiate between method declarations and non-typed fields etc.
4 lines of code changed in:
Added support for the compareTo operator <=> so its easy to write a comparator via a closure...
sortBy { a, b | a.length <=> b.length }
16 lines of code changed in:
Groovy-44: FIXED You can now use numbers as objects.
24 lines of code changed in:
Fixed the parser so that # can be used as a comment rather like //
This allows Groovy scripts to be used as Unix commands
13 lines of code changed in:
Minor refactor - moved the AntBuillder and GroovyMBean classes into the groovy.util package to make the groovy APIs simpler to use.
Also cleaned up the javadoc somewhat ensuring there's a package descriptor for each package
4 lines of code changed in:
Fix for GROOVY-18.
:= has gone away, in favour of == for EQUALITY testing.
==, which previously meant IDENTITY testing has, as noted immediately
above, has become an EQUALITY test.
So, to do IDENTITY testing, you need === (yes, that's right, 3 of'em).
Three equals, ===, for IDENTITY testing.
Two for EQUALITY.
There is no :=
Hi mom.
2 lines of code changed in:
Refactoring of compilation stuff.
Broke FileSystemCompiler apart from core compilation engine.
Added a StringCompiler.
Introduced GroovyClass as a container of class name and bytes.
6 lines of code changed in:
refactored code so that groovy.lang is the core package available to groovy scripts which is implicitly imported
6 lines of code changed in:
Fixing test of || and | lexing. No code was broken, just the test.
3 lines of code changed in:
(5 more)