diff options
author | Hans Bolinder <[email protected]> | 2017-03-14 14:15:47 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-03-14 14:15:47 +0100 |
commit | dcba34b6295edca4cc9c899152612f410d23c1ef (patch) | |
tree | 37d87f0b5189d6056c94d49ce395e96795c986b1 /lib/stdlib/src/erl_pp.erl | |
parent | 318e9dfbba306e7b18f2e74d6f468c81e1ac1f57 (diff) | |
parent | 568706c4c4b8261e7a63e20be9a355ebe5d6562e (diff) | |
download | otp-dcba34b6295edca4cc9c899152612f410d23c1ef.tar.gz otp-dcba34b6295edca4cc9c899152612f410d23c1ef.tar.bz2 otp-dcba34b6295edca4cc9c899152612f410d23c1ef.zip |
Merge branch 'hasse/fix_erl_anno_use'
* hasse/fix_erl_anno_use:
parsetools: Fix handling of locations and annotations
diameter: Fix handling of locations and annotations
kernel: Fix handling of locations and annotations
compiler: Fix handling of locations and annotations
eunit: Fix handling of locations and annotations
Update preloaded
erts: Fix handling of locations and annotations
dialyzer: Fix handling of annotations in a test
debugger: Fix handling of locations and annotations
stdlib: Extend functions in erl_parse to handle form_info()
stdlib: Fix handling of locations and annotations
erts: Correct the documentation of abstract end-of-file
stdlib: Add debug tests to the erl_parse module
stdlib: improve the erl_anno module's debug tests
stdlib: Improve the erl_pp module's debug tests
Diffstat (limited to 'lib/stdlib/src/erl_pp.erl')
-rw-r--r-- | lib/stdlib/src/erl_pp.erl | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/stdlib/src/erl_pp.erl b/lib/stdlib/src/erl_pp.erl index d30cd508c1..6068afb293 100644 --- a/lib/stdlib/src/erl_pp.erl +++ b/lib/stdlib/src/erl_pp.erl @@ -51,6 +51,15 @@ %-define(DEBUG, true). -ifdef(DEBUG). +-define(FORM_TEST(T), + _ = case T of + {eof, _Line} -> ok; + {warning, _W} -> ok; + {error, _E} -> ok; + _ -> ?TEST(T) + end). +-define(EXPRS_TEST(L), + [?TEST(E) || E <- L]). -define(TEST(T), %% Assumes that erl_anno has been compiled with DEBUG=true. %% erl_pp does not use the annoations, but test it anyway. @@ -62,6 +71,8 @@ erlang:error(badarg, [T]) end). -else. +-define(FORM_TEST(T), ok). +-define(EXPRS_TEST(T), ok). -define(TEST(T), ok). -endif. @@ -80,7 +91,7 @@ form(Thing) -> Options :: options()). form(Thing, Options) -> - ?TEST(Thing), + ?FORM_TEST(Thing), State = state(Options), frmt(lform(Thing, options(Options)), State). @@ -124,7 +135,7 @@ guard(Gs) -> Options :: options()). guard(Gs, Options) -> - ?TEST(Gs), + ?EXPRS_TEST(Gs), frmt(lguard(Gs, options(Options)), state(Options)). -spec(exprs(Expressions) -> io_lib:chars() when @@ -146,7 +157,7 @@ exprs(Es, Options) -> Options :: options()). exprs(Es, I, Options) -> - ?TEST(Es), + ?EXPRS_TEST(Es), frmt({seq,[],[],[$,],lexprs(Es, options(Options))}, I, state(Options)). -spec(expr(Expression) -> io_lib:chars() when |