[root]/groovy/groovy-core/src/main/org/codehaus/groovy/syntax
lexer
(0 files, 0 lines)
parser
(0 files, 0 lines)
| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 112 (100.0%) | 6383 (100.0%) | 56.9 |
| cpoirier | 12 (10.7%) | 3004 (47.1%) | 250.3 |
| jstrachan | 60 (53.6%) | 2874 (45.0%) | 47.9 |
| bob | 11 (9.8%) | 120 (1.9%) | 10.9 |
| jez | 2 (1.8%) | 118 (1.8%) | 59.0 |
| spullara | 4 (3.6%) | 107 (1.7%) | 26.7 |
| phk | 3 (2.7%) | 68 (1.1%) | 22.6 |
| blackdrag | 10 (8.9%) | 59 (0.9%) | 5.9 |
| goetze | 2 (1.8%) | 15 (0.2%) | 7.5 |
| bran | 2 (1.8%) | 9 (0.1%) | 4.5 |
| zohar | 1 (0.9%) | 5 (0.1%) | 5.0 |
| mguillem | 4 (3.6%) | 4 (0.1%) | 1.0 |
| alang | 1 (0.9%) | 0 (0.0%) | 0.0 |
fixed most of the warnings reported by Eclipse (javadoc, unused imports, ...)
4 lines of code changed in:
with this change groovy now resolves import statments to classes if a full class name is given. If the resolving failes, the class generation fails. This should ensure that there are no surprises if a class is imported.
6 lines of code changed in:
Fixed SourceUnit.failedWithUnexpectedEOF() to correctly recognise incomplete source, allowing the InteractiveShell to be a bit more useful - GROOVY-472 and GROOVY-1021
Removed UnexpectedTokenException class as it does not appear to be used any longer.
0 lines of code changed in:
this committ removes the class org.codehaus.groovy.ast.Type completely and transferes its functuanality to ClassNode and ClassHelper. A ClassNode can now be a primitive type or any other type created with an class file available. ClassNodes can now be primary, which means they are the a result of a class definiton in a file - unlike a ClassNode created from a Class. All phases till actual class creation should work on ClassNode instead of Class. So all Class handling code in ACG is transformed to ahndle ClassNode instead. A ClassNode can contain a redirect now. This is used when multiple names point to the same ClassNode. This mechanism was used instead of a replacing like with the Type class. This was needed because all class resolving code is transfered into a single phase right after creation of the groovy ast and to avoid creation of huge amounts of code to replace a ClassNode in statements and expressions.
The Compiler is now able to enqueue source files. This means when ever a compiler phase found out it is necessary to compile another source file it can put this file into the compiler using the addSource method of CompilationUnit and leave the rest to the compiler. The compiler will then go back to the initialization phase and proceed to the goal phase ignoring all already handled files but the new added file.
10 lines of code changed in:
* Added a compilationUnit.isPublicClass(String) method that enables you
to determine if the given class is known to be available
* this is the first stage of getting early type resolution in the parser, I hope
118 lines of code changed in:
This patch removes many string descriptons of types from the class generator and enfocres the usage of the class Type instead. A new interface is introduced for nodes which are possible variables
5 lines of code changed in:
a try to enable compiling circular references
5 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:
added some fall throughs fpr NoClassDefFound problems and avoid to return a null class
3 lines of code changed in:
enables groovy to give compilation errors for dependent scripts
24 lines of code changed in:
a first try to implement some simple scope checks and some modified tests
0 lines of code changed in:
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.
366 lines of code changed in:
Change the operator precedence of the power opertor **. For example, assert -x**2 == -(x**2)
3 lines of code changed in:
Support power operations ** and **= (for example, x = 2**3; x **= 2 )
19 lines of code changed in:
Support bitwise operations &, |, ^, ~, =&, =|, =^, <<=, >>=. and >>>=.
46 lines of code changed in:
added operator support for <<= and >>=
needs wiring into runtime though
3 lines of code changed in:
Got all of the classic test cases ported over (apart from those which hit a parser bug). They don't all work yet - am waiting until the parser bugs are fixed first :)
3 lines of code changed in:
Added better exception handling to report errors in the Antlr plugin and AST validation through the control framework
13 lines of code changed in:
(46 more)