diff options
author | Hans Bolinder <[email protected]> | 2016-01-20 12:13:42 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-01-20 12:13:42 +0100 |
commit | c45652ee1b43ba4501651182a6d3c9f4789c3429 (patch) | |
tree | ea6ea04c20aa2d9fd44fa783edb8bae654815d76 /lib/compiler | |
parent | f9f2bfcc846f1711a712947c87eb5e690900483a (diff) | |
parent | 6e2d941bf278191c11f6d1cebdfab5e51419d734 (diff) | |
download | otp-c45652ee1b43ba4501651182a6d3c9f4789c3429.tar.gz otp-c45652ee1b43ba4501651182a6d3c9f4789c3429.tar.bz2 otp-c45652ee1b43ba4501651182a6d3c9f4789c3429.zip |
Merge branch 'hb/stdlib/refine_abstr_types/OTP-10292'
* hb/stdlib/refine_abstr_types/OTP-10292:
erts: Improve readability of The Abstract Format
erts: Improve the documentation of the abstract format
stdlib: Update erl_parse(3)
stdlib: Refine the types of the abstract format
compiler: Improve type and specs
hipe: Improve types
dialyzer: Improve a type
doc: Update a refman example
syntax_tools: Correct a type
stdlib: Correct a type
Diffstat (limited to 'lib/compiler')
-rw-r--r-- | lib/compiler/src/compile.erl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl index b61c104b3c..72f1a767ed 100644 --- a/lib/compiler/src/compile.erl +++ b/lib/compiler/src/compile.erl @@ -40,6 +40,8 @@ %%---------------------------------------------------------------------- +-type abstract_code() :: [erl_parse:abstract_form()]. + -type option() :: atom() | {atom(), term()} | {'d', atom(), term()}. -type err_info() :: {erl_anno:line() | 'none', @@ -48,6 +50,9 @@ -type warnings() :: [{file:filename(), [err_info()]}]. -type mod_ret() :: {'ok', module()} | {'ok', module(), cerl:c_module()} %% with option 'to_core' + | {'ok', %% with option 'to_pp' + module() | [], %% module() if 'to_exp' + abstract_code()} | {'ok', module(), warnings()}. -type bin_ret() :: {'ok', module(), binary()} | {'ok', module(), binary(), warnings()}. @@ -78,7 +83,11 @@ file(File, Opts) when is_list(Opts) -> file(File, Opt) -> file(File, [Opt|?DEFAULT_OPTIONS]). -forms(File) -> forms(File, ?DEFAULT_OPTIONS). +-spec forms(abstract_code()) -> comp_ret(). + +forms(Forms) -> forms(Forms, ?DEFAULT_OPTIONS). + +-spec forms(abstract_code(), [option()] | option()) -> comp_ret(). forms(Forms, Opts) when is_list(Opts) -> do_compile({forms,Forms}, [binary|Opts++env_default_opts()]); @@ -106,6 +115,8 @@ noenv_file(File, Opts) when is_list(Opts) -> noenv_file(File, Opt) -> noenv_file(File, [Opt|?DEFAULT_OPTIONS]). +-spec noenv_forms(abstract_code(), [option()] | option()) -> comp_ret(). + noenv_forms(Forms, Opts) when is_list(Opts) -> do_compile({forms,Forms}, [binary|Opts]); noenv_forms(Forms, Opt) when is_atom(Opt) -> |