|
|
@ -19,11 +19,11 @@ load(Module, KVs) -> |
|
|
|
forms(Module, KVs) -> |
|
|
|
%% -module(Module). |
|
|
|
Mod = erl_syntax:attribute(erl_syntax:atom(module), [erl_syntax:atom(Module)]), |
|
|
|
%% -export([
get/0]). |
|
|
|
ExportList = [erl_syntax:arity_qualifier(erl_syntax:atom(
get), erl_syntax:integer(1))], |
|
|
|
%% -export([getV/0]). |
|
|
|
ExportList = [erl_syntax:arity_qualifier(erl_syntax:atom(getV), erl_syntax:integer(1))], |
|
|
|
Export = erl_syntax:attribute(erl_syntax:atom(export), [erl_syntax:list(ExportList)]), |
|
|
|
%%
get(K) -> V |
|
|
|
Function = erl_syntax:function(erl_syntax:atom(
get), lookup_clauses(KVs, [])), |
|
|
|
%% getV(K) -> V |
|
|
|
Function = erl_syntax:function(erl_syntax:atom(getV), lookup_clauses(KVs, [])), |
|
|
|
[erl_syntax:revert(X) || X <- [Mod, Export, Function]]. |
|
|
|
|
|
|
|
lookup_clause(Key, Value) -> |
|
|
@ -39,4 +39,4 @@ lookup_clause_anon() -> |
|
|
|
lookup_clauses([], Acc) -> |
|
|
|
lists:reverse(lists:flatten([lookup_clause_anon() | Acc])); |
|
|
|
lookup_clauses([{Key, Value} | T], Acc) -> |
|
|
|
lookup_clauses(T, [lookup_clause(Key, Value) | Acc]). |
|
|
|
lookup_clauses(T, [lookup_clause(Key, Value) | Acc]). |