aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_callgraph.erl
diff options
context:
space:
mode:
authorStavros Aronis <[email protected]>2012-02-19 01:40:54 +0100
committerHenrik Nord <[email protected]>2012-05-21 15:31:18 +0200
commit08d6fa6c97be82c4b4a480ec04aa06ae8e781783 (patch)
treeabd073769c037142bd19719e10b35ea5d0e234df /lib/dialyzer/src/dialyzer_callgraph.erl
parentaf4247993e9b68bd123df37d08b06690c0640259 (diff)
downloadotp-08d6fa6c97be82c4b4a480ec04aa06ae8e781783.tar.gz
otp-08d6fa6c97be82c4b4a480ec04aa06ae8e781783.tar.bz2
otp-08d6fa6c97be82c4b4a480ec04aa06ae8e781783.zip
Parallel compilation of files under analysis
Diffstat (limited to 'lib/dialyzer/src/dialyzer_callgraph.erl')
-rw-r--r--lib/dialyzer/src/dialyzer_callgraph.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/dialyzer/src/dialyzer_callgraph.erl b/lib/dialyzer/src/dialyzer_callgraph.erl
index 9eba64dd57..bf939655d0 100644
--- a/lib/dialyzer/src/dialyzer_callgraph.erl
+++ b/lib/dialyzer/src/dialyzer_callgraph.erl
@@ -28,6 +28,7 @@
-module(dialyzer_callgraph).
-export([add_edges/2,
+ add_edges/3,
all_nodes/1,
delete/1,
finalize/1,
@@ -358,10 +359,10 @@ scan_core_tree(Tree, #callgraph{calls = ETSCalls,
name_map = ETSNameMap,
rec_var_map = ETSRecVarMap,
rev_name_map = ETSRevNameMap,
- self_rec = ETSSelfRec} = CG) ->
+ self_rec = ETSSelfRec}) ->
%% Build name map and recursion variable maps.
build_maps(Tree, ETSRecVarMap, ETSNameMap, ETSRevNameMap),
-
+
%% First find the module-local dependencies.
{Deps0, EscapingFuns, Calls} = dialyzer_dep:analyze(Tree),
true = ets:insert(ETSCalls, dict:to_list(Calls)),
@@ -399,7 +400,7 @@ scan_core_tree(Tree, #callgraph{calls = ETSCalls,
NewNamedEdges1 =
[E || {From, To} = E <- NamedEdges1, From =/= top, To =/= top],
NamedEdges3 = NewNamedEdges1 ++ NewNamedEdges2,
- add_edges(NamedEdges3, Names3, CG).
+ {Names3, NamedEdges3}.
build_maps(Tree, ETSRecVarMap, ETSNameMap, ETSRevNameMap) ->
%% We only care about the named (top level) functions. The anonymous