diff options
author | Björn Gustavsson <[email protected]> | 2016-12-15 08:20:22 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-01-12 12:10:10 +0100 |
commit | 1672b3cc2ccab5057cb09e3d234557d1133e0fad (patch) | |
tree | bf94445f5c9dee1257132e1e608eda7c76afa4b8 /lib/compiler/src/sys_pre_attributes.erl | |
parent | 04e7370eabd3e36345c032139ab185ea64f169ac (diff) | |
download | otp-1672b3cc2ccab5057cb09e3d234557d1133e0fad.tar.gz otp-1672b3cc2ccab5057cb09e3d234557d1133e0fad.tar.bz2 otp-1672b3cc2ccab5057cb09e3d234557d1133e0fad.zip |
sys_pre_attributes: Remove unnecessary flexibility
The compiler passes always Options as list to parse_transform/2.
There is no need accept a non-list.
There is also no need to handle an improper Options list. The compiler
itself will crash if the Options list is improper.
Diffstat (limited to 'lib/compiler/src/sys_pre_attributes.erl')
-rw-r--r-- | lib/compiler/src/sys_pre_attributes.erl | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/lib/compiler/src/sys_pre_attributes.erl b/lib/compiler/src/sys_pre_attributes.erl index bc93c85989..57937d48aa 100644 --- a/lib/compiler/src/sys_pre_attributes.erl +++ b/lib/compiler/src/sys_pre_attributes.erl @@ -61,7 +61,7 @@ parse_transform(Forms, Options) -> S = #state{forms = Forms, options = Options}, - S2 = init_transform(S), + S2 = init_transform(Options, S), report_verbose("Pre options: ~p~n", [S2#state.pre_ops], S2), report_verbose("Post options: ~p~n", [S2#state.post_ops], S2), S3 = pre_transform(S2), @@ -71,13 +71,6 @@ parse_transform(Forms, Options) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Computes the lists of pre_ops and post_ops that are %% used in the real transformation. -init_transform(S) -> - case S#state.options of - Options when is_list(Options) -> - init_transform(Options, S); - Option -> - init_transform([Option], S) - end. init_transform([{attribute, insert, Name, Val} | Tail], S) -> Op = {insert, Name, Val}, @@ -92,12 +85,9 @@ init_transform([{attribute, delete, Name} | Tail], S) -> Op = {delete, Name}, PreOps = [Op | S#state.pre_ops], init_transform(Tail, S#state{pre_ops = PreOps}); -init_transform([], S) -> - S; init_transform([_ | T], S) -> init_transform(T, S); -init_transform(BadOpt, S) -> - report_error("Illegal option (ignored): ~p~n", [BadOpt], S), +init_transform([], S) -> S. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -176,18 +166,9 @@ attrs([], _, _) -> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Report functions. %% -%% Errors messages are controlled with the 'report_errors' compiler option %% Warning messages are controlled with the 'report_warnings' compiler option %% Verbose messages are controlled with the 'verbose' compiler option -report_error(Format, Args, S) -> - case is_error(S) of - true -> - io:format("~p: * ERROR * " ++ Format, [?MODULE | Args]); - false -> - ok - end. - report_warning(Format, Args, S) -> case is_warning(S) of true -> @@ -204,9 +185,6 @@ report_verbose(Format, Args, S) -> ok end. -is_error(S) -> - lists:member(report_errors, S#state.options) or is_verbose(S). - is_warning(S) -> lists:member(report_warnings, S#state.options) or is_verbose(S). |