1
コード内でtypespecの定義にどのようにアクセスできますか?いくつかのコード生成を行うためにマクロ内で使用したいと思います。プログラム内でtypespecの定義にアクセスする
このようなものは理想的でしょう。私は、このようなCode.get_type(MyMod, :t)
としての機能を呼び出すことができますし、それが定義式のAST返す
defmodule MyMod do
@type t :: :ok | :error
end
:
{:::, [], [{:my_type, [], Elixir}, {:|, [], [:ok, :error]}]}
または代わりのちょうどASTを
は、このモジュールとtypespecを考えますタイプ:
{:|, [], [:ok, :error]}
モジュールがコンパイルされた後、またはモジュール内からアクセスしますか? – Dogbert