aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/v3_life.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-01-13 12:07:06 +0100
committerGitHub <[email protected]>2017-01-13 12:07:06 +0100
commitfa208870c24b7b3cddf3ac0317371b419d1a08d8 (patch)
tree9c4290a7d6b6902ce68ad18e1358478b2add67ce /lib/compiler/src/v3_life.erl
parentee3f93aec3f2e8b49e0fa9a84ec4d68b687103c5 (diff)
parent4efd9935a5618fa6622e33eadb3d6add49ab1089 (diff)
downloadotp-fa208870c24b7b3cddf3ac0317371b419d1a08d8.tar.gz
otp-fa208870c24b7b3cddf3ac0317371b419d1a08d8.tar.bz2
otp-fa208870c24b7b3cddf3ac0317371b419d1a08d8.zip
Merge pull request #1285 from bjorng/bjorn/compiler/type-specs
Add types and specs for all compiler modules
Diffstat (limited to 'lib/compiler/src/v3_life.erl')
-rw-r--r--lib/compiler/src/v3_life.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/compiler/src/v3_life.erl b/lib/compiler/src/v3_life.erl
index 0f2aeda87f..be3ade47ff 100644
--- a/lib/compiler/src/v3_life.erl
+++ b/lib/compiler/src/v3_life.erl
@@ -52,10 +52,15 @@
-include("v3_kernel.hrl").
-include("v3_life.hrl").
+-type fa() :: {atom(),arity()}.
+
%% These are not defined in v3_kernel.hrl.
get_kanno(Kthing) -> element(2, Kthing).
%%set_kanno(Kthing, Anno) -> setelement(2, Kthing, Anno).
+-spec module(#k_mdef{}, [compile:option()]) ->
+ {'ok',{module(),[fa()],[_],[_]}}.
+
module(#k_mdef{name=M,exports=Es,attributes=As,body=Fs0}, _Opts) ->
Fs1 = functions(Fs0, []),
{ok,{M,Es,As,Fs1}}.
@@ -416,6 +421,10 @@ add_var(V, F, L, Vdb) ->
vdb_new(Vs) ->
sort([{V,0,0} || {var,V} <- Vs]).
+-type var() :: atom().
+
+-spec vdb_find(var(), [vdb_entry()]) -> 'error' | vdb_entry().
+
vdb_find(V, Vdb) ->
case lists:keyfind(V, 1, Vdb) of
false -> error;