Copyright © (c) WhatsApp Inc. and its affiliates. All rights reserved.
Behaviours: gen_server.
Authors: Maxim Fedorov (maximfca@gmail.com).
Loads abstract module code, either from debug_info *.beam chunk, or from *.erl source file.
Caching server may not be started, in this case get_module() does not use caching logic and creates AST every call. If loaded module md5 hash is changed, or *.beam/*.erl file modification date is different from the last call, module AST gets reloaded from the corresponding file.function_clause() = {function, integer(), atom(), arity(), {clauses, erl_eval:clauses()}}
function_map() = #{{atom(), arity()} => function_clause()}
get_module/1 | Extracts AST of all functions defined in Mod. |
start_link/0 | Starts power_shell_cache server that keeps track of already decompiled modules. |
get_module(Mod::module()) -> function_map()
Extracts AST of all functions defined in Mod. Caches this if power_shell_cache server is running.
start_link() -> {ok, Pid::pid()} | ignore | {error, Reason::term()}
Starts power_shell_cache server that keeps track of already decompiled modules.
Generated by EDoc