diff options
author | Hans Bolinder <[email protected]> | 2015-12-17 15:49:33 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-01-20 10:06:10 +0100 |
commit | 130eb1e9f3af384f13c38e93365c5917f25fd798 (patch) | |
tree | d20c5c85c339a54703fabddb259fd56538285bc2 /lib | |
parent | 034e28c340d38a34c0e00590321380c407ff5faf (diff) | |
download | otp-130eb1e9f3af384f13c38e93365c5917f25fd798.tar.gz otp-130eb1e9f3af384f13c38e93365c5917f25fd798.tar.bz2 otp-130eb1e9f3af384f13c38e93365c5917f25fd798.zip |
compiler: Improve type and specs
Diffstat (limited to 'lib')
-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) -> |