From 34eebad940e0e9930f492cd75b587a1467f6d6ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20B=C3=A4renz?= Date: Wed, 9 Dec 2020 10:45:41 +0100 Subject: [PATCH] Expand `alias __MODULE__` manually. Fixes #27 --- lib/ex_type/custom_env.ex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/ex_type/custom_env.ex b/lib/ex_type/custom_env.ex index 4c26e68..4913f4b 100644 --- a/lib/ex_type/custom_env.ex +++ b/lib/ex_type/custom_env.ex @@ -96,6 +96,13 @@ defmodule ExType.CustomEnv do {:__aliases__, meta, tokens} = alias new_alias = {:__aliases__, meta, [:ExType, :Module | tokens]} + # Manually expand `alias __MODULE__`, see https://github.com/gyson/ex_type/issues/27 + block = block + |> Macro.prewalk(fn + {:alias, meta_alias, [{:__MODULE__, meta_module, nil}]} -> {:alias, meta_alias, [{:__aliases__, meta_module, tokens}]} + token -> token + end) + quote do Kernel.defmodule unquote(new_alias) do @before_compile ExType.CustomEnv.BeforeCompile