aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
diff options
context:
space:
mode:
authorDan Gudmundsson <[email protected]>2016-05-25 13:44:44 +0200
committerDan Gudmundsson <[email protected]>2016-05-25 13:44:44 +0200
commitcd412d911efbda23e7dd3aef5cf910defc886211 (patch)
treef82ec6aba58c9eebb5d4b6c8b6245da631630329 /lib/stdlib/src
parentd5bacdbe0ff1a4327e5e502a0b8cfdddf76e5d86 (diff)
downloadotp-cd412d911efbda23e7dd3aef5cf910defc886211.tar.gz
otp-cd412d911efbda23e7dd3aef5cf910defc886211.tar.bz2
otp-cd412d911efbda23e7dd3aef5cf910defc886211.zip
Relax translation of initial calls
Remove the restriction to only do the translation for gen_server and gen_fsm. This enables user defined gen based generic callback modules to be displayed nicely in c:i() and observer.
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r--lib/stdlib/src/proc_lib.erl14
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/stdlib/src/proc_lib.erl b/lib/stdlib/src/proc_lib.erl
index 4a19603ec2..3dc1848550 100644
--- a/lib/stdlib/src/proc_lib.erl
+++ b/lib/stdlib/src/proc_lib.erl
@@ -479,18 +479,12 @@ trans_init(gen,init_it,[gen_server,_,_,supervisor_bridge,[Module|_],_]) ->
{supervisor_bridge,Module,1};
trans_init(gen,init_it,[gen_server,_,_,_,supervisor_bridge,[Module|_],_]) ->
{supervisor_bridge,Module,1};
-trans_init(gen,init_it,[GenMod,_,_,Module,_,_])
- when GenMod =:= gen_server;
- GenMod =:= gen_statem;
- GenMod =:= gen_fsm ->
- {Module,init,1};
-trans_init(gen,init_it,[GenMod,_,_,_,Module|_])
- when GenMod =:= gen_server;
- GenMod =:= gen_statem;
- GenMod =:= gen_fsm ->
- {Module,init,1};
trans_init(gen,init_it,[gen_event|_]) ->
{gen_event,init_it,6};
+trans_init(gen,init_it,[_GenMod,_,_,Module,_,_]) when is_atom(Module) ->
+ {Module,init,1};
+trans_init(gen,init_it,[_GenMod,_,_,_,Module|_]) when is_atom(Module) ->
+ {Module,init,1};
trans_init(M, F, A) when is_atom(M), is_atom(F) ->
{M,F,length(A)}.