aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/code.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-01-25 15:56:59 +0100
committerBjörn Gustavsson <[email protected]>2016-01-28 12:16:01 +0100
commit28f7a47ab4d533cc72090484eb3a7e5713fa58bc (patch)
tree29453b347691a04899a30d3b1888c6edd3c0f37c /lib/kernel/src/code.erl
parent1ddab9c7b66237ea6dd429fb75e4c81247d88920 (diff)
downloadotp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.tar.gz
otp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.tar.bz2
otp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.zip
code: Correct the types for error returns
The specifications for functions that load code in the 'code' module (e.g. code:load_file/1) have some problems: * The specs claim that the functions can return {error,on_load}, but they never do. However, they can return {error,on_load_failure} if the -on_load function in a module fails. * The specs claim that the functions can return {error,native_code}, but they never do. While we are it, also extend the on_load_errors/1 test case to test that the load functions return {error,on_load_failure} when an -on_load function fails.
Diffstat (limited to 'lib/kernel/src/code.erl')
-rw-r--r--lib/kernel/src/code.erl5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/kernel/src/code.erl b/lib/kernel/src/code.erl
index 7d0102d4ef..7237550786 100644
--- a/lib/kernel/src/code.erl
+++ b/lib/kernel/src/code.erl
@@ -77,10 +77,9 @@
%%----------------------------------------------------------------------------
-type load_error_rsn() :: 'badfile'
- | 'native_code'
| 'nofile'
| 'not_purged'
- | 'on_load'
+ | 'on_load_failure'
| 'sticky_directory'.
-type load_ret() :: {'error', What :: load_error_rsn()}
| {'module', Module :: module()}.
@@ -135,7 +134,7 @@ load_file(Mod) when is_atom(Mod) ->
-spec ensure_loaded(Module) -> {module, Module} | {error, What} when
Module :: module(),
- What :: embedded | badfile | native_code | nofile | on_load.
+ What :: embedded | badfile | nofile | on_load_failure.
ensure_loaded(Mod) when is_atom(Mod) ->
call({ensure_loaded,Mod}).