Slide 8
Slide 8 text
unmarshal モジュールの実装 (コア実装は70行程度)
1. PreOrder(深さ優先探索)で抽象構文木の解析結果を取得
→ Pass.ResultOf の利用
2. ノードがレシーバを保持しているかチェック
→ Pass.ResultOf と Pass.TypesInfo の利用
3. ノードの名前が Unmarshal か Decode であるかチェック
→ Pass.ResultOf と Pass.TypesInfo の利用
4. 型情報から関数呼び出しノードの引数の型情報を取得。ポイ
ンタ型やインターフェース型の場合はOK
→ Pass.ResultOf と Pass.TypesInfo の利用
Pass 構造体のフィールドを利用してロジックを実装できる