Enviar búsqueda
Cargar
Groovy AST Demystified
•
1 recomendación
•
7,712 vistas
Andres Almiray
Seguir
Tecnología
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 42
Descargar ahora
Descargar para leer sin conexión
Recomendados
Groovy AST Demyistified - 33degree
Groovy AST Demyistified - 33degree
Andres Almiray
Frida Android run time hooking - Bhargav Gajera & Vitthal Shinde
Frida Android run time hooking - Bhargav Gajera & Vitthal Shinde
NSConclave
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
鉄次 尾形
JS Fest 2018. Виталий Ратушный. ES X
JS Fest 2018. Виталий Ратушный. ES X
JSFestUA
Refactoring a go project
Refactoring a go project
Dan Tran
Test Driven In Groovy
Test Driven In Groovy
Christopher Bartling
Kurzeinführung: Atom Publishing Protocol
Kurzeinführung: Atom Publishing Protocol
Dirk Haun
JavaScript Qualitätssicherung
JavaScript Qualitätssicherung
Sebastian Springer
Recomendados
Groovy AST Demyistified - 33degree
Groovy AST Demyistified - 33degree
Andres Almiray
Frida Android run time hooking - Bhargav Gajera & Vitthal Shinde
Frida Android run time hooking - Bhargav Gajera & Vitthal Shinde
NSConclave
Perl ウェブ開発の中世〜CGI と Plack の間〜
Perl ウェブ開発の中世〜CGI と Plack の間〜
鉄次 尾形
JS Fest 2018. Виталий Ратушный. ES X
JS Fest 2018. Виталий Ратушный. ES X
JSFestUA
Refactoring a go project
Refactoring a go project
Dan Tran
Test Driven In Groovy
Test Driven In Groovy
Christopher Bartling
Kurzeinführung: Atom Publishing Protocol
Kurzeinführung: Atom Publishing Protocol
Dirk Haun
JavaScript Qualitätssicherung
JavaScript Qualitätssicherung
Sebastian Springer
Development Principles & Philosophy
Development Principles & Philosophy
François-Guillaume Ribreau
Testing of javacript
Testing of javacript
Lei Kang
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JSFestUA
Heroku & Sinatra
Heroku & Sinatra
myles_byrne
Introduction to Griffon
Introduction to Griffon
James Williams
Navigating the wild seas of es6 modules
Navigating the wild seas of es6 modules
Gil Tayar
PuppetConf 2014 Killer R10K Workflow Without Notes
PuppetConf 2014 Killer R10K Workflow Without Notes
Phil Zimmerman
Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises
Senthil Kumar
New adventures in 3D
New adventures in 3D
Rob Bateman
Flexible Types in Kotlin - JVMLS 2015
Flexible Types in Kotlin - JVMLS 2015
Andrey Breslav
AwayJS - Open Source Workflow for WebGL
AwayJS - Open Source Workflow for WebGL
Rob Bateman
Gtg12
Gtg12
Poga Po
Designing Imperfection in Tiqav
Designing Imperfection in Tiqav
Shimpei Makimoto
Javaone - Getting Funky with Groovy
Javaone - Getting Funky with Groovy
Andres Almiray
Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008
Andrea Francia
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
Felipe Prado
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Boise Web Technologies Group
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Icinga
Null, the Abyss
Null, the Abyss
Keishin Yokomaku
GitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo Management
John Anderson
Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013
Andres Almiray
GroovyでJSON2014
GroovyでJSON2014
Yasuharu Hayami
Más contenido relacionado
La actualidad más candente
Development Principles & Philosophy
Development Principles & Philosophy
François-Guillaume Ribreau
Testing of javacript
Testing of javacript
Lei Kang
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JSFestUA
Heroku & Sinatra
Heroku & Sinatra
myles_byrne
Introduction to Griffon
Introduction to Griffon
James Williams
Navigating the wild seas of es6 modules
Navigating the wild seas of es6 modules
Gil Tayar
PuppetConf 2014 Killer R10K Workflow Without Notes
PuppetConf 2014 Killer R10K Workflow Without Notes
Phil Zimmerman
Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises
Senthil Kumar
New adventures in 3D
New adventures in 3D
Rob Bateman
Flexible Types in Kotlin - JVMLS 2015
Flexible Types in Kotlin - JVMLS 2015
Andrey Breslav
AwayJS - Open Source Workflow for WebGL
AwayJS - Open Source Workflow for WebGL
Rob Bateman
Gtg12
Gtg12
Poga Po
Designing Imperfection in Tiqav
Designing Imperfection in Tiqav
Shimpei Makimoto
Javaone - Getting Funky with Groovy
Javaone - Getting Funky with Groovy
Andres Almiray
Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008
Andrea Francia
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
Felipe Prado
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Boise Web Technologies Group
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Icinga
Null, the Abyss
Null, the Abyss
Keishin Yokomaku
GitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo Management
John Anderson
La actualidad más candente
(20)
Development Principles & Philosophy
Development Principles & Philosophy
Testing of javacript
Testing of javacript
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
JS Fest 2018. Никита Галкин. Микросервисная архитектура с переиспользуемыми к...
Heroku & Sinatra
Heroku & Sinatra
Introduction to Griffon
Introduction to Griffon
Navigating the wild seas of es6 modules
Navigating the wild seas of es6 modules
PuppetConf 2014 Killer R10K Workflow Without Notes
PuppetConf 2014 Killer R10K Workflow Without Notes
Asynchronous JavaScript and Promises
Asynchronous JavaScript and Promises
New adventures in 3D
New adventures in 3D
Flexible Types in Kotlin - JVMLS 2015
Flexible Types in Kotlin - JVMLS 2015
AwayJS - Open Source Workflow for WebGL
AwayJS - Open Source Workflow for WebGL
Gtg12
Gtg12
Designing Imperfection in Tiqav
Designing Imperfection in Tiqav
Javaone - Getting Funky with Groovy
Javaone - Getting Funky with Groovy
Google C++ Testing Framework in Visual Studio 2008
Google C++ Testing Framework in Visual Studio 2008
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
DEF CON 23 - Topher Timzen and Ryan Allen - hijacking arbitrary NET APP Contr...
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Connecting NSClient++ to Icinga, Elasticsearch and Graphite - Icinga Camp Sto...
Null, the Abyss
Null, the Abyss
GitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo Management
Destacado
Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013
Andres Almiray
GroovyでJSON2014
GroovyでJSON2014
Yasuharu Hayami
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
kyon mm
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
Grailsでシステム構築
Grailsでシステム構築
Megumi Sato
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
Desktop|Embedded Application API JSR
Desktop|Embedded Application API JSR
Andres Almiray
簡単!Groovy入門
簡単!Groovy入門
Lee Choong Geun
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
Xtext And Grails20091218
Xtext And Grails20091218
Akira Tanaka
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
Yohei Yasukawa
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
Ryota Murohoshi
Destacado
(12)
Griffon Update Gr8conf 2013
Griffon Update Gr8conf 2013
GroovyでJSON2014
GroovyでJSON2014
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Grailsでシステム構築
Grailsでシステム構築
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Desktop|Embedded Application API JSR
Desktop|Embedded Application API JSR
簡単!Groovy入門
簡単!Groovy入門
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Xtext And Grails20091218
Xtext And Grails20091218
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
Similar a Groovy AST Demystified
AST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres Almiray
ZeroTurnaround
Groovy AST Demystified
Groovy AST Demystified
Andres Almiray
Groovy AST Transformations
Groovy AST Transformations
hendersk
Effecient javascript
Effecient javascript
mpnkhan
The Ring programming language version 1.8 book - Part 91 of 202
The Ring programming language version 1.8 book - Part 91 of 202
Mahmoud Samir Fayed
Code documentation
Code documentation
Adégòkè Obasá
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
GWTcon
Ast transformation
Ast transformation
Gagan Agrawal
Commenting in Agile Development
Commenting in Agile Development
Jan Rybák Benetka
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
James Williams
Boosting Your Testing Productivity with Groovy
Boosting Your Testing Productivity with Groovy
James Williams
Javaone2008 Bof 5101 Groovytesting
Javaone2008 Bof 5101 Groovytesting
Andres Almiray
Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX Go
Rodolfo Carvalho
Charla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo Web
Mikel Torres Ugarte
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
Guillaume Laforge
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
Guillaume Laforge
All things that are not code
All things that are not code
Mobile Delivery Days
New comand autocad
New comand autocad
edikuroc
Midiendo la calidad de código en WTF/Min (Revisado EUI Abril 2014)
Midiendo la calidad de código en WTF/Min (Revisado EUI Abril 2014)
David Gómez García
Groovy in the Enterprise - Case Studies - TSSJS Prague 2008 - Guillaume Laforge
Groovy in the Enterprise - Case Studies - TSSJS Prague 2008 - Guillaume Laforge
Guillaume Laforge
Similar a Groovy AST Demystified
(20)
AST Transformations: Groovy’s best kept secret by Andres Almiray
AST Transformations: Groovy’s best kept secret by Andres Almiray
Groovy AST Demystified
Groovy AST Demystified
Groovy AST Transformations
Groovy AST Transformations
Effecient javascript
Effecient javascript
The Ring programming language version 1.8 book - Part 91 of 202
The Ring programming language version 1.8 book - Part 91 of 202
Code documentation
Code documentation
"Xapi-lang For declarative code generation" By James Nelson
"Xapi-lang For declarative code generation" By James Nelson
Ast transformation
Ast transformation
Commenting in Agile Development
Commenting in Agile Development
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
Boosting Your Testing Productivity with Groovy
Boosting Your Testing Productivity with Groovy
Javaone2008 Bof 5101 Groovytesting
Javaone2008 Bof 5101 Groovytesting
Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX Go
Charla EHU Noviembre 2014 - Desarrollo Web
Charla EHU Noviembre 2014 - Desarrollo Web
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
JavaOne 2008 - TS-5793 - Groovy and Grails, changing the landscape of Java EE...
Groovy Introduction - JAX Germany - 2008
Groovy Introduction - JAX Germany - 2008
All things that are not code
All things that are not code
New comand autocad
New comand autocad
Midiendo la calidad de código en WTF/Min (Revisado EUI Abril 2014)
Midiendo la calidad de código en WTF/Min (Revisado EUI Abril 2014)
Groovy in the Enterprise - Case Studies - TSSJS Prague 2008 - Guillaume Laforge
Groovy in the Enterprise - Case Studies - TSSJS Prague 2008 - Guillaume Laforge
Más de Andres Almiray
Creando, creciendo, y manteniendo una comunidad de codigo abierto
Creando, creciendo, y manteniendo una comunidad de codigo abierto
Andres Almiray
Liberando a produccion con confianza
Liberando a produccion con confianza
Andres Almiray
Liberando a produccion con confidencia
Liberando a produccion con confidencia
Andres Almiray
OracleDB Ecosystem for Java Developers
OracleDB Ecosystem for Java Developers
Andres Almiray
Softcon.ph - Maven Puzzlers
Softcon.ph - Maven Puzzlers
Andres Almiray
Maven Puzzlers
Maven Puzzlers
Andres Almiray
Oracle Database Ecosystem for Java Developers
Oracle Database Ecosystem for Java Developers
Andres Almiray
JReleaser - Releasing at the speed of light
JReleaser - Releasing at the speed of light
Andres Almiray
Building modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and Layrry
Andres Almiray
Going Reactive with g rpc
Going Reactive with g rpc
Andres Almiray
Building modular applications with JPMS and Layrry
Building modular applications with JPMS and Layrry
Andres Almiray
Taking Micronaut out for a spin
Taking Micronaut out for a spin
Andres Almiray
Apache Groovy's Metaprogramming Options and You
Apache Groovy's Metaprogramming Options and You
Andres Almiray
What I wish I knew about Maven years ago
What I wish I knew about Maven years ago
Andres Almiray
What I wish I knew about maven years ago
What I wish I knew about maven years ago
Andres Almiray
The impact of sci fi in tech
The impact of sci fi in tech
Andres Almiray
Gradle Ex Machina - Devoxx 2019
Gradle Ex Machina - Devoxx 2019
Andres Almiray
Creating Better Builds with Gradle
Creating Better Builds with Gradle
Andres Almiray
Interacting with the Oracle Cloud Java SDK with Gradle
Interacting with the Oracle Cloud Java SDK with Gradle
Andres Almiray
Gradle ex-machina
Gradle ex-machina
Andres Almiray
Más de Andres Almiray
(20)
Creando, creciendo, y manteniendo una comunidad de codigo abierto
Creando, creciendo, y manteniendo una comunidad de codigo abierto
Liberando a produccion con confianza
Liberando a produccion con confianza
Liberando a produccion con confidencia
Liberando a produccion con confidencia
OracleDB Ecosystem for Java Developers
OracleDB Ecosystem for Java Developers
Softcon.ph - Maven Puzzlers
Softcon.ph - Maven Puzzlers
Maven Puzzlers
Maven Puzzlers
Oracle Database Ecosystem for Java Developers
Oracle Database Ecosystem for Java Developers
JReleaser - Releasing at the speed of light
JReleaser - Releasing at the speed of light
Building modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and Layrry
Going Reactive with g rpc
Going Reactive with g rpc
Building modular applications with JPMS and Layrry
Building modular applications with JPMS and Layrry
Taking Micronaut out for a spin
Taking Micronaut out for a spin
Apache Groovy's Metaprogramming Options and You
Apache Groovy's Metaprogramming Options and You
What I wish I knew about Maven years ago
What I wish I knew about Maven years ago
What I wish I knew about maven years ago
What I wish I knew about maven years ago
The impact of sci fi in tech
The impact of sci fi in tech
Gradle Ex Machina - Devoxx 2019
Gradle Ex Machina - Devoxx 2019
Creating Better Builds with Gradle
Creating Better Builds with Gradle
Interacting with the Oracle Cloud Java SDK with Gradle
Interacting with the Oracle Cloud Java SDK with Gradle
Gradle ex-machina
Gradle ex-machina
Último
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Último
(20)
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Slack Application Development 101 Slides
Slack Application Development 101 Slides
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Groovy AST Demystified
1.
GROOVY AST CÉDRIC CHAMPEAU ANDRES ALMIRAY
2.
GET THE CODE https://github.com/melix/ast-workshop Setup
gradle 1.6 (or use gradlew) Browse docs/gen/workshop.html
3.
AGENDA AST, How did
we get here? AST Transformations Building your own AST Excercises
4.
AST, HOW DID WE GET HERE?
5.
6.
7.
8.
9.
10.
11.
AST TRANSFOR MATIONS
12.
E V I L G E N I U S
13.
14.
15.
16.
17.
STANDARD GROOVY DISTRO INCLUDES: *
@EqualsAndHashCode * @ToString * @TupleConstructor * @Canonical * @InheritConstructors * @IndexedProperty * @Lazy * @PackageScope * @NotYetImplemented * @AutoClone * @AutoExternalize * @Synchronized * @Field * @Grab * @GrabResolver * @CompileStatic * @TypeChecked * @ASTTest
18.
STANDARD GROOVY DISTRO INCLUDES: *
@Bindable * @Vetoable * @ListenerList * @ConditionalInterrupt * @ThreadInterrupt * @TimedInterrupt * @WithReadLock * @WithWriteLock * @Newify * @Log * @Slf4j * @Log4j * @Commons * @Singleton * @Immutable * @Delegate * @Category * @Mixin
19.
GROOVY ECOSYSTEM BRINGS: * @ByteCode *
@Scalify * GContracts * @Invariant * @Requires * @Ensures * Grails * @Entity * @TestFor * Griffon * @EventPublisher * @Threading * @PropertyListener * @MVCAware * @MessageSourceAware * @ResourceResolverAware * @ResourcesAware * @ThreadingAware
20.
GLOBALAST TRANSFORMATIONS Groovy – Grab Grails
– GORM API Griffon – Threading injection Spock – the whole shebang
21.
BUILDING YOUR OWN AST
22.
23.
LOCALAST TRANSFORMATION 1. Define an
@interface • Easy peasy … right? 2. Define AST implementation • huh …… 3. Profit!
24.
GLOBALAST TRANSFORMATION 1. Add AST
implementation entry to • META-INF/services/ org.codehaus.groovy.transform.ASTTransformation 2. Define AST implementation • ??? !!! ??? !!! 3. Profit!
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
ADDITIONAL TOOLS AST browser AST
Builder
37.
38.
39.
40.
41.
42.
Thank You! @cedricchampeau @aalmiray
Descargar ahora