[root]/groovy/groovy-core/src/main/org/codehaus/groovy/ast/expr
| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 285 (100.0%) | 5221 (100.0%) | 18.3 |
| jstrachan | 92 (32.3%) | 3039 (58.2%) | 33.0 |
| bran | 27 (9.5%) | 913 (17.5%) | 33.8 |
| blackdrag | 114 (40.0%) | 611 (11.7%) | 5.3 |
| phk | 10 (3.5%) | 360 (6.9%) | 36.0 |
| spullara | 7 (2.5%) | 129 (2.5%) | 18.4 |
| popescu | 1 (0.4%) | 73 (1.4%) | 73.0 |
| russel | 25 (8.8%) | 52 (1.0%) | 2.0 |
| cpoirier | 3 (1.1%) | 38 (0.7%) | 12.6 |
| bob | 1 (0.4%) | 3 (0.1%) | 3.0 |
| paulk | 1 (0.4%) | 2 (0.0%) | 2.0 |
| cstein | 3 (1.1%) | 1 (0.0%) | 0.3 |
| mguillem | 1 (0.4%) | 0 (0.0%) | 0.0 |
removes unused code in PropertyExpression
0 lines of code changed in:
Completed support for annotations usage.
73 lines of code changed in:
* changes ProxyMetaClass to call intialise in Constructor
* corrects the assertion text message for constructor calls
* changes the method call caching to respect calls to super (fix for 1631)
* adds a test for closure handling in static methods
* fixes the order of traversal of primary ClassNodes to sort in interfaces before normal classes (fix for 1632)
9 lines of code changed in:
* changes the meaning of "this" and "super" to the surrounding class
* reverts the ObjectRange.contains() method change
* some test are corrected because of their usage of "this" in them
* fields and properties are now accessed using the new MOP logic (but not the MOP methods)
10 lines of code changed in:
change getText() for range to use round brackets instead of square
2 lines of code changed in:
* adds assertion text for ranges
* implements the "in" keyword for use as binary expression, for example "if(6 in myRange) return false"
5 lines of code changed in:
MOP preparations: a new typehandling package contains now the number math classes and many methods from Invoker. ScriptBytecodeAdapter and InvokerHelper do now use these functions. The bytecode is changed to provide an additional "sender class" that can be used later for handling visibility. As part of the clean up AsmClassGenerator has been changed and got a unified way for method calling Object gained a iterator() method, that was before implicitly handled by Invoker.
The wrong property name for the conf file in GroovyStarter is corrected now. The error reporting has been adjusted to show exceptions better.
Interfaces of the kind "interface T{ T t}" are now possible and no longer resulting in class loading problems
4 lines of code changed in:
add delegation to getText for assert statement printout
2 lines of code changed in:
fixed most of the warnings reported by Eclipse (javadoc, unused imports, ...)
0 lines of code changed in:
bleeding edge implementation of asType (operator for "as") With this code it is possible to add a asType method to a class and let it do type conversions. Example: assert ([1] as Set).class == HashSet.class
2 lines of code changed in:
makes an AttributeExpression to a child of PropertyExpression and completes the dynamic member selection. It is then possible to not only do "$name"() but also this."$name"(), or this.@"$name" or this."$name". Now even this is possible: this.("foo"+bar)(), building a method name through an Expession, where bar is a local variable. Of course that is just another variant of the GStTring way. the Expression is always(!) casted to String at the end,
37 lines of code changed in:
support code for ArgumentListExpression
5 lines of code changed in:
avoids having something diferent than tuple expressione as argument for ConstructorCallExpressions
7 lines of code changed in:
changes calls for this(...) and super(...) to ConstructorCallExpression and fixes GROOVY-1224
14 lines of code changed in:
this commit contains the reimplementation of the scoping. The complete scoping is removed from the ACG. Additionally some code from the ACG is transfered in a Helper that manges labels, scopes and variable creation in a stack. All checks from JSRVariableScopeCodeVisitor are transfered into the ClassCompletion verifier or the new VariableScopeVisitor. Additionally some checks for labels were added with the LabelVerifier. ACG was changed so a DeclarationExpression will no longer create a local variable and if a variable is a filed or protperty accessed from inside a closure ACG will no longer try to access that field directly. Instead the closure has to resolve these cases at runtime.
Note: this commit should pass the tests but is imcomplete due to missing tests.
128 lines of code changed in:
second half of the multi dimensional arrays implementation. It is now possible to do def x= new int[5][3][2][]
Currently no illegal mixing of sized and nonsized parts is checked
30 lines of code changed in:
this patch tries to correct some odds in the method dispatching process, additionally this enables multid arrays for groovy. It now possible to do:
def foo = [[1,2,3,],[],null] as int[][]
int[][] x = [[1,2,3,]]
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.
114 lines of code changed in:
another migration step for scoping
9 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
143 lines of code changed in:
(57 more)