this is nearly a complete new file, because many checks where added
* no dependancy on the VariableScope class used in ACG
* access to dynamic variables is checked
* different rules for classes and script parts
* checks if a used variable is really declared
* automatic declaration of undeclared variables when inside script parts
* check for multiple definitons of variables
* added some untested code for jrose proposal
(currently has to be enabled by setting the property groovy.jsr.check.rule.jrose to true)
to enable the checks set the property groovy.jsr.check to true
NOTE: the current tests may fail with that property enabled, because there needs more work to be done to the checker as well as to the tests
488 lines of code changed in:
GROOVY-601: Improved a number of test names
13 lines of code changed in:
GROOVY-601: ...
Updated groovy.psi.g to reflect the latest changes made to groovy.g in revision 1.27
Updated GroovyLexer to emit CommonHiddenStreamToken tokens
Updated GroovyRecognizer to use TokenStreamHiddenTokenFilter so that WS, SL_COMMENT, and ML_COMMENT tokens can be retrieved as adjacent to significant tokens
Housekeeping: ...
Updated the Groovy JSR-2 snapshot
Updated third-party libraries: jMock, CGLib, and ASM
785 lines of code changed in:
Fixed http://jira.codehaus.org/browse/GROOVY-852 by using the new "getScriptUriAsFile()" method from the AbstractHttpServlet.
Also removed the automatic renaming of "*.xyz"-mapped files to "*.groovy" - this only leads to 404 pages for me.
Made the AbstractHttpServlet implement ResourceConnector - maybe, the TemplateServlet (or others) can make use of it.
Added some comment to the servlet binding class.
162 lines of code changed in:
Simplified the assertScript method to avoid having to create directories and files.
1 lines of code changed in:
sorry, phk, for reverting your change, but the problem is an offset problem. The line counting starts with 1, but in ArrayList it starts with 0. So of course the correct number for the endLine is list.size()+1, but then you have to remove 1 as it is done with startLine in the for loop.
jez, please take a look
2 lines of code changed in:
reformatting due to an Windows/Linux newline mess
265 lines of code changed in:
To build successfully on Windows,
if (endLine > lines.size()) { endLine = lines.size() + 1; }
has been changed to
if (endLine > lines.size()) { endLine = lines.size(); }
1 lines of code changed in:
Removed code for adding extra testing on class file format failure that should not have been committed.
1 lines of code changed in:
After this patch, the build of the CVS head should be succeed.
(Patch 1) "Closure.java" has been changed for test-suits:
src/test/groovy/ClosureTest.groovy
src/test/groovy/ClosureCurryTest.groovy
src/test/groovy/ExpandoPropertyTest.groovy
(Patch 2) The method asArray() of "Invoker.java" has been enhanced.
Here are some error messages in building with the previous Closure.java (revision 1.48):
Testcase: testCurry(ClosureCurryTest): Caused an ERROR
Incorrect arguments to closure:
ClosureCurryTest$_testCurry_closure1@182c132. Expected: [class
java.lang.Object, class java.lang.Object], actual: [there]
groovy.lang.IncorrectClosureArgumentsException: Incorrect arguments to
closure: ClosureCurryTest$_testCurry_closure1@182c132. Expected: [class
java.lang.Object, class java.lang.Object], actual: [there]
Testcase: testVariableLengthParameterList(ClosureTest): Caused an ERROR
Incorrect arguments to closure:
ClosureTest$_testVariableLengthParameterList_closure3@6e41b5. Expected:
[class [Ljava.lang.Object;], actual: [1, 2, 3]
groovy.lang.IncorrectClosureArgumentsException: Incorrect arguments to
closure: ClosureTest$_testVariableLengthParameterList_closure3@6e41b5.
141 lines of code changed in:
Updated for ASM 2.0
5 lines of code changed in:
Reverting a change that is inexplicable and should never have happened.
4 lines of code changed in:
Upgrading from ASM 1.5.2 to ASM 2.0
165 lines of code changed in:
* Added custom AST node creation from antlr. This has the benefit of keeping
line/column information for AST nodes created within antlr.
* As an addition, these nodes also attempt to obtain the 'snippet' of source code
that was used to create them. Thus each instance of GroovySourceAST should have
a snippet property associated with it. e.g. "extends Foo" for the EXTENDS node etc
* Whilst the UnicodeEscapingReader slurps in the source code, an associated SourceBuffer
is filled (if present), so that adhoc requests for bits of source can be performed.
* It may be worth adding a post process step to the GroovySourceAST tree, one that
decorates the tree with snippets based upon the SourceBuffer. This could look at the
next sibling node, to figure out the end point of the snippet for the current node.
This would mean that automatic AST nodes created would also get the 'snippet' functionality
* to observe the effect of this, "export JAVA_OPTS=-Dantlr.ast=xml" then look at
the output xml of the GroovySourceAST tree after "groovyc Foo.groovy"
307 lines of code changed in:
included GroovyPsiLexer and GroovyPsiRecognizer in antlr.clean deletes for proper compiling and called antlr.clean from build.all
3 lines of code changed in:
update the native executable to work correctly on mac os x
12 lines of code changed in:
Remove unnecessary lines, which have been used for debugging.
0 lines of code changed in:
Remove some mistyped characters.
1 lines of code changed in:
enables the headless mode again and removes the conflict accidently checked in
1 lines of code changed in:
Fix the issue Groovy-850 (sInfinite Loop of Closures with at least two parameters).
140 lines of code changed in:
In the test suite IdentityClosureTest.groovy, we can find some disallowed
assignments expression twice such as
assert 3 = size()
which has been changed to
assert 3 == size()
and now it works to fix the GROOVY-813 (no assignments to literals).
48 lines of code changed in:
Cancel change and go back, because my previous revision have not
passed tests.
More checks is required to fix GROOVY-813.
9 lines of code changed in:
Fix the issue Groovy-813.
The following assignments should be disallowed:
"foo" = 123
3 + 4 = 5
x * 7 += 100
!true = "bar"
func(9) = 5
[1,2,3] = 4
[2:5] = 7
"foo$x" = 111
etc
70 lines of code changed in:
Trivial spelling error fix.
1 lines of code changed in:
added a missing parent assignment
2 lines of code changed in:
Housekeeping: Suppressed most Xlint warnings caused by the migration to JDK 1.5 / Updated supported IntelliJ IDEA Irida build number to 3326
96 lines of code changed in:
Housekeeping: Fixed broken upgrade to IntelliJ IDEA Irida build #3326, JDK 1.5, and Clover 1.3.7 by setting JUnit's working directory to be Ant's basedir
1 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
92 lines of code changed in:
The method testStringAsBool() has been changed so that
(string as Boolean) is equivalent to (string != null && string.length() > 0).
36 lines of code changed in:
A test method has been changed.
3 lines of code changed in:
Edit the mistyped characters in UberTestCase2.java for testing PropertyNameTest.groovy.
1 lines of code changed in:
Fix the issue Groovy-843.
It should be allowed to use non-Java-identifier characters in map keys.
For example,
def map = ["?+-*/:'{}[]();%^!": "any character in key"]
map."+++...---" = "plus dot minus"
println("${map."?+-*/:'{}[]();%^!"}")
println("${map."+++...---"}")
37 lines of code changed in:
GROOVY-601: Completed first significant step in the embedding of PsiBuilder usage within Groovy's ANTLR parser...
Restored groovy.psi.g to implement the grouping of newlines and whitespaces into the NLS token to be consistent with IntelliJ IDEA's handling of whitespaces
Removed lexer and parser generated by the patched groovy.g for ANTLR 2.8
Removed unused IMPORT_STATEMENT and STATIC_IMPORT_STATEMENT constants from GroovyElementTypes
3941 lines of code changed in:
Removed not needed imports and throw declarations.
Commented some code inline - preparing move of parse work to the abstract base class.
See http://jira.codehaus.org/browse/GROOVY-839
5 lines of code changed in:
GROOVY-840: String.replaceAll(regex, closure) to transform captured groups
28 lines of code changed in:
Fix build - UberTestCase could not find SpreadMapOperatorTest
0 lines of code changed in:
GROOVY-835: GroovyClassloader doesn't use CompilerConfiguration for classpath
34 lines of code changed in:
GROOVY-836: GStringTemplateEngine used to break on multi-line templates
176 lines of code changed in:
Add the file SpreadMapEvaluatingException.java
which has been missed for the spread map operator "*:".
52 lines of code changed in:
Support the spread map operator "*:".
For an example using "*:" in the map creation syntax,
def m = ['one':1, 'two':2, 'three':4]
def x = ['four':4, *:m]
assert x == ['one':1, 'two':2, 'three':4, 'four':4]
assert [*:m, *:m] == m
For another example using "*:" in the method invoking syntax,
def func(m, a) {
// The first argument m is a map.
asserrt m.one == 1
asserrt m.four == 4
}
def y = ['one':1, 'two':2, 'three':4]
func('four':4, *:y, 9)
431 lines of code changed in:
Backed out fix to GROOVY-812 as it was causing test cases to fail. Will also post a note to groovy-dev.
34 lines of code changed in:
Minor updates
33 lines of code changed in:
Added a new taskdef in antlib.xml to support the groovy ant task
1 lines of code changed in:
GROOVY-601: Added patch tool for deriving groovy.tree.g from groovy.g on Windows
0 lines of code changed in:
GROOVY-601: Started transition from using the PsiBuilder API to adding equivalent actions to the Groovy tree parser
316 lines of code changed in:
Housekeeping: Refreshed Groovy 1.0 (JSR-2) snapshot to include the updated UnicodeEscapingReader
0 lines of code changed in:
GROOVY-601: Added tree parser patch and generated ANTLR 2.8 artifacts given the restrictions on redistributing the associated JAR file
18245 lines of code changed in:
GROOVY-601: Renamed the baseline tree grammar
2695 lines of code changed in:
GROOVY-601: Updated tree construction patch for groovy.g and the resulting baseline tree parser
68 lines of code changed in:
Re-activated "generated-by-block" and removed Java 5 java.io.Writer method calls. Sorry for breaking the build -- will install and use a 1.4 JDK when working on Groovy.
7 lines of code changed in:
Fix the issues GROOVY-810, GROOVY-811 and GROOVY812 (object as Boolean).
74 lines of code changed in:
Build Error.
So I have commented out a few of lines of TemplateServlet.java.
2 lines of code changed in:
Fix the issue GROOVY-831 (Field initializing bug for classes).
46 lines of code changed in:
Updated javadoc and muted some too verbose logging.
31 lines of code changed in:
Introduced abstract base class for Groovy's HTTP servlets. Atm, it provides one method (inspired by Jaspers JspServlet) that parses the request for include attributes and merges them to the final URI hint.
Made GroovyServlet and TemplateServlet extend that new class.
Fixed NPE in GroovyServlet, which didn't initialized correctly in init(...). See comments in code.
More details here http://jira.codehaus.org/browse/GROOVY-815 and GROOVY-814.
177 lines of code changed in:
Sorted Eclipses ".classpath" entries.
Removed ".settings" from cvs ignore list.
Added Eclipse 3.1 project settings (jdt.core.prefs) to nail the compiler to read and produce Java 1.4 code. This solves those 3 ERRORS described here http://jira.codehaus.org/browse/GROOVY-833 - they will re-appear when switching to Java 1.5!
39 lines of code changed in:
Removed some iso-latin-1 characters (for those who compile Groovy as UTF-8)
35 lines of code changed in:
Inserted the proposal by Boris Petrovic posted here http://jira.codehaus.org/browse/GROOVY-815
10 lines of code changed in:
See http://jira.codehaus.org/browse/GROOVY-814 for details.
Note: this will break any extension of the TemplateServlet class as the signature is revamped, too. But converting to the new (and cleaner) version should not take longer than 30 minutes.
459 lines of code changed in:
Eclipse project files updated.
Added line ".settings" to the .cvsignore file -- this prevents the Eclipse project bound settings (used for this project) to get under CVS control. My local workspace already speaks 1.5, but Groovy targets 1.4. So all guys using Eclipse 3.1 w/ JDK1.5 will need this ".settings" folder. (Ignoring is one solution, putting it under CVS is another... any comments?)
Fixed ".classpath" by adding missing jars links hosted by Maven and removal of the "src/test" folder. The UberTest-things won't compile as they heavily depend on "*.groovy" turned into bytecode. (Removing is one solution, using "target/classes" was another... any comments?)
121 lines of code changed in:
Fixed NPE in log(...)-calls by calling super.init(...) in init(...).
http://jira.codehaus.org/browse/GROOVY-814
2 lines of code changed in:
Appended myself (Christian Stein) to the developers -- Hallo!
9 lines of code changed in:
Make jez' identity method use the closure's delegate, to be able to even omit the parameter of the closure, like so:
def a = new Expando()
a.foobar = "foobar"
a.barfoo = 555
a.identity{
assert foobar == "foobar"
assert barfoo == 555
}
22 lines of code changed in:
changed deprectaed partitioner class class - now inline with 3.1 api
2 lines of code changed in:
changed deprectaed base class - know inline with 3.1 api
2 lines of code changed in:
Make the Groovy Ant task Maven-friendly.
Allow to access Maven's POM.
22 lines of code changed in:
GROOVY-601: Updated tree construction patch for groovy.g and the baseline tree parser to reflect the recent grammar changes
59 lines of code changed in: