The following items need documentation.
When documenting, please create a page for each and link to it.
- Closure's variable resolving strategy
- Joint Groovy/Java compiler, and its options and impact on the Groovyc Ant task
- Explain the new Foo(a:1, b:2) shortcut notation calls setA() and setB() after new Foo() is created and initialized, and that this is not an atomic thread-safe operation
- Type handling
- 'as' keyword with its different meanings
- conversion vs coercion vs autoboxing
- closure and map coercion to interfaces and classes
- general typing approach (explicit static typing vs duck typing)
- static methods called from instances (see GROOVY-1706)
- Conversion rules, in all their complexity
- handling of "return, break, and continue"
- open blocks vs closed blocks
- Name scoping rules
- scoping rules for Closures
- method dispatch algorithm
- Method calls and property references, in all their complexity
- 'special' variables like -'owner' in Closures-, 'out' in Groovlets etc.
- Class member naming conventions, and other JVM interfaces
Also, when you are working on a page that is unfinished, label that page with
"TODO" and it will appear in this list: