nnkUInt16Lit
列挙バリアントとこの AST 表現を説明することを除いて、これに関するドキュメントはありません42'i16 - nnkInt16Lit(intVal = 42)
。
通常のように使用するnnkIntLit
と失敗します。
macro test(): stmt =
var n = newNimNode(nnkUInt16Lit)
n.intVal = 1
result = newLetStmt(ident("foo"), n)
test()
echo foo
これによりエラーが発生します。
フィールド
intVal
が見つかりません
(これは私の実際の使用法ではありません。問題を示すための単なるデモです。)
でさまざまなバリエーションを試しましintVal
たが、エラーは常に になりundeclared identifier
ます。を使用しますparseExpr()
が、 の$
procint
はコンパイル時に機能しないようです。
NimNode
型定義のソース コードを探して調べてみましたが、今のところ見つかりません。
uint16
では、マクロで NimNodeを作成するにはどうすればよいでしょうか?