【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )
生活随笔
收集整理的這篇文章主要介紹了
【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、AST 語法樹分析
一、AST 語法樹分析
在上一篇博客 【Groovy】編譯時元編程 ( 編譯時元編程引入 | 聲明需要編譯時處理的類 | 分析 Groovy 類的 AST 語法樹 ) 中 , 使用 GroovyConsole 工具分析了
class Student{def namedef hello(){println "hello"} }類的 AST 語法樹 , 下面分析該語法樹 ;
展開 AST 語法樹后的效果 :
在最頂層的根節點是 ClassNode 節點 , 在根節點下 , 有 方法 Methods 節點 , 字段 Fields 節點 , 屬性 Properties 節點 ;
方法 Methods 節點 有 222 個 , 一個是默認的構造方法 , 一個是自定義的 hello 方法 , 對應
方法 ; 字段 Fields 節點 和 屬性 Properties 節點 各一個 , 就是自定義的 name 字段 , 對應
def name成員 ;
拿到了 AST 語法樹之后 , 就可以獲取到 Student 類的每一個節點 , 類 , 方法 , 屬性 , 字段 ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】编译时元编程 ( 编译时
- 下一篇: 【Groovy】编译时元编程 ( 编译时