From 885c7c7f5a666f416e077705ee460ac7e5135e17 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 691d4ef..8c2d1bc 100644 --- a/lib/ex_type/custom_env.ex +++ b/lib/ex_type/custom_env.ex @@ -111,6 +111,13 @@ defmodule ExType.CustomEnv do new_alias = {:__aliases__, meta, new_alias_prefix ++ 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