Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

The following items need documentation.

When documenting, please create a page for each and link to it.

  • Generics
  • Closures
    • 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
  • Scoping
    • 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:

Content by Label
TODO
TODO
showLabelsfalse
showSpacefalse
maxResults999