diff options
author | Hans Bolinder <[email protected]> | 2017-03-15 11:34:36 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-06-13 13:40:25 +0200 |
commit | 020a8817caca2684f8241dc5f9c84a37d53b4ff7 (patch) | |
tree | d2a9e1e455a292777d9d90b17e21a1d5ec186e33 /lib/dialyzer/src/dialyzer_plt.erl | |
parent | f05dd185fe56cccdefeca8bd3fa92ec6c0e7979d (diff) | |
download | otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.tar.gz otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.tar.bz2 otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.zip |
dialyzer: Minor optimizations
Avoid some ETS-lookups. Marginal speed-ups.
Diffstat (limited to 'lib/dialyzer/src/dialyzer_plt.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_plt.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl index f36a008739..fa242555c2 100644 --- a/lib/dialyzer/src/dialyzer_plt.erl +++ b/lib/dialyzer/src/dialyzer_plt.erl @@ -39,6 +39,7 @@ insert_types/2, insert_exported_types/2, lookup/2, + is_contract/2, lookup_contract/2, lookup_callbacks/2, lookup_module/2, @@ -156,6 +157,12 @@ insert_callbacks(#plt{callbacks = Callbacks} = Plt, Codeserver) -> List = dialyzer_codeserver:get_callbacks(Codeserver), Plt#plt{callbacks = table_insert_list(Callbacks, List)}. +-spec is_contract(plt(), mfa()) -> boolean(). + +is_contract(#mini_plt{contracts = ETSContracts}, + {M, F, _} = MFA) when is_atom(M), is_atom(F) -> + ets:member(ETSContracts, MFA). + -spec lookup_contract(plt(), mfa_patt()) -> 'none' | {'value', #contract{}}. lookup_contract(#mini_plt{contracts = ETSContracts}, |