From ebb23450719ef519f066546582c8415719086bb9 Mon Sep 17 00:00:00 2001 From: Shunichi Shinohara Date: Thu, 9 Feb 2012 00:33:12 +0900 Subject: [PATCH] Treat callback attributes same as behaviour_info Automatically include modules with callback attributes in erl_first_files. --- src/rebar_erlc_compiler.erl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/rebar_erlc_compiler.erl b/src/rebar_erlc_compiler.erl index edb8156..c7c0e65 100644 --- a/src/rebar_erlc_compiler.erl +++ b/src/rebar_erlc_compiler.erl @@ -141,6 +141,8 @@ doterl_compile(Config, OutDir, MoreSources) -> [[F | A], B, C]; behaviour -> [A, [F | B], C]; + callback -> + [A, [F | B], C]; _ -> [A, B, [F | C]] end @@ -334,6 +336,7 @@ delete_dir(Dir, Subdirs) -> file:del_dir(Dir). -spec compile_priority(File::file:filename()) -> 'normal' | 'behaviour' | + 'callback' | 'parse_transform'. compile_priority(File) -> case epp_dodger:parse_file(File) of @@ -356,6 +359,9 @@ compile_priority(File) -> {attribute, {tree, atom, _, export}, [{tree, list, _, {list, List, none}}]}}, Acc) -> lists:foldl(F2, Acc, List); + ({tree, attribute, _, + {attribute, {tree, atom, _, callback},_}}, _Acc) -> + callback; (_, Acc) -> Acc end,