【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
文章目錄
- 一、編譯時元編程引入
- 二、聲明需要編譯時處理的類
- 三、分析 Groovy 類的 AST 語法樹
一、編譯時元編程引入
在之前的 " 【Groovy】MOP 元對象協議與元編程 " 系列博客中 , 都是圍繞 MetaClass 的 " 運行時元編程 " , 其在運行時才進行相關的元編程操作 , 如方法注入 , 方法委托等 ;
在編譯時也可以進行元編程操作 ;
在 Java 和 Android 中 , 可以使用 注解處理器 AbstractProcessor 實現 APT 編譯時技術 , 參考 【Android APT】 專欄 ;
在 Groovy 中實現的編譯時技術 , 類似于 Java 中的編譯時技術 ;
二、聲明需要編譯時處理的類
聲明一個 Student 類 , 在其中定義成員變量和成員方法 ; 之后需要在編譯時處理該類 ;
class Student{def namedef hello(){println "hello"} }三、分析 Groovy 類的 AST 語法樹
參考 【Groovy】Groovy 環境搭建 ( 下載 Groovy | 安裝 Groovy | 配置 Groovy 環境變量 ) 博客 , 配置環境變量后 , 執行
groovyConsole命令 , 啟動 Y:\001_DevelopTools\024_Groovy\groovy-4.0.0\bin\groovyConsole.bat 程序 , 如果在 Linux 中啟動的是 groovyConsole 可執行文件 ;
啟動后 , 彈出 GroovyConsole 工具如下 :
向其中拷貝 Student 類代碼 ,
選擇 GroovyConsole 工具菜單欄 Script 下的 Inspect AST 選項 , 分析上述 Student 類的 AST 語法樹 ;
分析結果在 Groovy AST Browser 對話框中顯示 ;
總結
以上是生活随笔為你收集整理的【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】MOP 元对象协议与元编
- 下一篇: 【Groovy】编译时元编程 ( AST