More Related Content Similar to Groovy AST Demyistified - 33degree (20) More from Andres Almiray (20) Groovy AST Demyistified - 33degree2. ABOUT THE SPEAKER
Java developer since the beginning
True believer in Open Source
Groovy committer since 2007
Project lead of the Griffon framework
Currently working for
17. STANDARD GROOVY
DISTRO INCLUDES:
* @EqualsAndHashCode * @AutoClone
* @ToString * @AutoExternalize
* @TupleConstructor * @Synchronized
* @Canonical * @Field
* @InheritConstructors * @Grab
* @IndexedProperty * @GrabResolver
* @Lazy * @CompileStatic
* @PackageScope * @TypeChecked
* @NotYetImplemented
18. STANDARD GROOVY
DISTRO INCLUDES:
* @Bindable * @Log
* @Vetoable * @Slf4j
* @ListenerList * @Log4j
* @ConditionalInterrupt * @Commons
* @ThreadInterrupt * @Singleton
* @TimedInterrupt * @Immutable
* @WithReadLock * @Delegate
* @WithWriteLock * @Category
* @Newify * @Mixin
19. GROOVY ECOSYSTEM
BRINGS:
* @ByteCode * Griffon
* @Scalify * @EventPublisher
* @Threading
* GContracts * @PropertyListener
* @Invariant * @MVCAware
* @Requires * @MessageSourceAware
* @Ensures * @ResourceResolverAware
* Grails * @ResourcesAware
* @Entity * @ThreadingAware
* @TestFor
24. GLOBAL AST
TRANSFORMATION
1. Add AST implementation entry to
• META-INF/services/
org.codehaus.groovy.transform.ASTTransformation
2. Define AST implementation
• ??? !!! ??? !!!
3. Profit!