ci: add escript xref check
Check all the released modules
This commit is contained in:
parent
8c7bc2ff13
commit
5d91deb83e
1
Makefile
1
Makefile
|
@ -116,6 +116,7 @@ $(PROFILES:%=deps-%): $(REBAR) get-dashboard
|
|||
.PHONY: xref
|
||||
xref: $(REBAR)
|
||||
@$(REBAR) as check xref
|
||||
@scripts/xref-check.escript
|
||||
|
||||
.PHONY: dialyzer
|
||||
dialyzer: $(REBAR)
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env escript
|
||||
|
||||
main(_) ->
|
||||
{ok, [Jobs]} = file:consult("scripts/xref_check.eterm"),
|
||||
lists:foreach(fun(#{ name := Name
|
||||
, analysis := Analysis
|
||||
, excl_apps := ExclApps
|
||||
, excl_mods := ExclMods
|
||||
, filters := Filters
|
||||
}) ->
|
||||
xref:start(Name),
|
||||
Tid = ets:new(Name, [ordered_set, named_table]),
|
||||
xref:set_default(Name, [{verbose,false}, {warnings,false}]),
|
||||
xref:add_release(Name, "_build/emqx/rel/emqx/lib/"),
|
||||
xref:add_application(Name, code:lib_dir(erts)),
|
||||
[ok = xref:remove_application(Name, App) ||
|
||||
App <- ExclApps
|
||||
],
|
||||
|
||||
[ok = xref:remove_module(Name, M) ||
|
||||
M <- ExclMods
|
||||
],
|
||||
|
||||
ModuleInfos = xref:info(Name, modules),
|
||||
LibInfos = xref:info(Name, modules),
|
||||
true = ets:insert(Tid, ModuleInfos ++ LibInfos),
|
||||
{ok, Res0} = xref:analyse(Name, Analysis),
|
||||
Res = Res0 -- Filters,
|
||||
Res =/= [] andalso
|
||||
begin
|
||||
put(is_warn_found, true),
|
||||
io:format("** Warnings for ~p~n : ~p~n", [Name, Res])
|
||||
end,
|
||||
xref:stop(Name)
|
||||
end, Jobs),
|
||||
case get(is_warn_found) of
|
||||
true ->
|
||||
halt(1);
|
||||
_ ->
|
||||
ok
|
||||
end.
|
|
@ -0,0 +1,863 @@
|
|||
[ %% Check undefined_function_calls
|
||||
#{ name => undefined_function_calls
|
||||
, analysis => undefined_function_calls
|
||||
, excl_apps =>
|
||||
[ observer
|
||||
, redbug
|
||||
]
|
||||
, excl_mods =>
|
||||
[ hipe_unified_loader
|
||||
, systools_make
|
||||
, basho_bench_driver_erldis
|
||||
]
|
||||
, filters =>
|
||||
[{{coap_client,channel_apply,3},{coap_dtls_socket,close,1}},
|
||||
{{coap_client,channel_apply,3},{coap_dtls_socket,connect,2}},
|
||||
{{coap_client,channel_apply,3},{coap_udp_socket,close,1}},
|
||||
{{coap_client,channel_apply,3},{coap_udp_socket,get_channel,2}},
|
||||
{{coap_client,channel_apply,3},{coap_udp_socket,start_link,0}},
|
||||
{{coap_client,test,0},{eunit,test,1}},
|
||||
{{coap_core_link,test,0},{eunit,test,1}},
|
||||
{{coap_message_parser,test,0},{eunit,test,1}},
|
||||
{{coap_observer,init,1},{coap_dtls_socket,connect,2}},
|
||||
{{coap_observer,init,1},{coap_udp_socket,get_channel,2}},
|
||||
{{coap_observer,init,1},{coap_udp_socket,start_link,0}},
|
||||
{{coap_observer,terminate,2},{coap_dtls_socket,close,1}},
|
||||
{{coap_observer,terminate,2},{coap_udp_socket,close,1}},
|
||||
{{code,beam_file_native_md5,2},{hipe_unified_loader,chunk_name,1}},
|
||||
{{code,get_native_fun,0},{hipe_unified_loader,chunk_name,1}},
|
||||
{{code,load_native_code_for_all_loaded,1},
|
||||
{hipe_unified_loader,chunk_name,1}},
|
||||
{{code_server,handle_call,3},{hipe_unified_loader,load,3}},
|
||||
{{code_server,handle_call,3},{hipe_unified_loader,load_module,4}},
|
||||
{{code_server,try_load_module_2,6},
|
||||
{hipe_unified_loader,load_native_code,3}},
|
||||
{{compile,embed_native_code,2},{hipe_unified_loader,chunk_name,1}},
|
||||
{{compile,native_compile_1,2},{hipe,compile,4}},
|
||||
{{core_link,test,0},{eunit,test,1}},
|
||||
{{cuttlefish_rebar_plugin,generate,2},{rebar_rel_utils,get_target_dir,2}},
|
||||
{{cuttlefish_rebar_plugin,make_default_file,3},{rebar_config,get_local,3}},
|
||||
{{cuttlefish_rebar_plugin,should_i_run,2},{rebar_rel_utils,is_rel_dir,0}},
|
||||
{{cuttlefish_rebar_plugin,should_i_run,2},{rebar_rel_utils,load_config,2}},
|
||||
{{emqx_bridge_worker,common,4},{replayq,append,2}},
|
||||
{{emqx_bridge_worker,drop_acked_batches,2},{replayq,ack,2}},
|
||||
{{emqx_bridge_worker,open_replayq,1},{replayq,open,1}},
|
||||
{{emqx_bridge_worker,pop_and_send_loop,2},{replayq,is_empty,1}},
|
||||
{{emqx_bridge_worker,pop_and_send_loop,2},{replayq,pop,2}},
|
||||
{{emqx_bridge_worker,terminate,3},{replayq,close,1}},
|
||||
{{emqx_misc,ipv6_probe,1},{gen_tcp,ipv6_probe,0}},
|
||||
{{eredis_parser,test,0},{eunit,test,1}},
|
||||
{{gen_rpc_driver_ssl,authenticate_client,3},
|
||||
{ssl_verify_hostname,verify_cert_hostname,2}},
|
||||
{{gen_rpc_driver_ssl,merge_ssl_options,2},
|
||||
{ssl_verify_hostname,verify_fun,3}},
|
||||
{{gproc_dist,from_leader,3},{gen_leader,leader_cast,2}},
|
||||
{{gproc_dist,handle_call,4},{gen_leader,leader_node,1}},
|
||||
{{gproc_dist,handle_leader_cast,3},{gen_leader,alive,1}},
|
||||
{{gproc_dist,handle_leader_cast,3},{gen_leader,broadcast,3}},
|
||||
{{gproc_dist,initiate_sync,3},{gen_leader,alive,1}},
|
||||
{{gproc_dist,initiate_sync,3},{gen_leader,broadcast,3}},
|
||||
{{gproc_dist,leader_call,1},{gen_leader,leader_call,2}},
|
||||
{{gproc_dist,leader_cast,1},{gen_leader,leader_cast,2}},
|
||||
{{gproc_dist,send_sync_complete,3},{gen_leader,broadcast,3}},
|
||||
{{gproc_dist,start_link,1},{gen_leader,start_link,6}},
|
||||
{{inets_ftp_wrapper,start_service,1},{ftp,start_service,1}},
|
||||
{{inets_ftp_wrapper,start_standalone,1},{ftp,start_standalone,1}},
|
||||
{{inets_ftp_wrapper,stop_service,1},{ftp,stop_service,1}},
|
||||
{{inets_tftp_wrapper,start_service,1},{tftp,start_service,1}},
|
||||
{{inets_tftp_wrapper,start_standalone,1},{tftp,start_standalone,1}},
|
||||
{{inets_tftp_wrapper,stop_service,1},{tftp,stop_service,1}},
|
||||
{{jose_chacha20_poly1305_libsodium,authenticate,3},
|
||||
{libsodium_crypto_onetimeauth_poly1305,crypto_onetimeauth_poly1305,2}},
|
||||
{{jose_chacha20_poly1305_libsodium,decrypt,5},
|
||||
{libsodium_crypto_aead_chacha20poly1305,ietf_decrypt_detached,5}},
|
||||
{{jose_chacha20_poly1305_libsodium,encrypt,4},
|
||||
{libsodium_crypto_aead_chacha20poly1305,ietf_encrypt_detached,4}},
|
||||
{{jose_chacha20_poly1305_libsodium,one_time_key,2},
|
||||
{libsodium_crypto_stream_chacha20,ietf_xor_ic,4}},
|
||||
{{jose_chacha20_poly1305_libsodium,verify,4},
|
||||
{libsodium_crypto_onetimeauth_poly1305,verify,3}},
|
||||
{{jose_curve25519_libdecaf,ed25519_sign,2},
|
||||
{libdecaf_curve25519,ed25519_sign,2}},
|
||||
{{jose_curve25519_libdecaf,ed25519_verify,3},
|
||||
{libdecaf_curve25519,ed25519_verify,3}},
|
||||
{{jose_curve25519_libdecaf,ed25519ph_sign,2},
|
||||
{libdecaf_curve25519,ed25519ph_sign,2}},
|
||||
{{jose_curve25519_libdecaf,ed25519ph_verify,3},
|
||||
{libdecaf_curve25519,ed25519ph_verify,3}},
|
||||
{{jose_curve25519_libdecaf,eddsa_keypair,0},
|
||||
{libdecaf_curve25519,eddsa_keypair,0}},
|
||||
{{jose_curve25519_libdecaf,eddsa_keypair,1},
|
||||
{libdecaf_curve25519,eddsa_keypair,1}},
|
||||
{{jose_curve25519_libdecaf,eddsa_secret_to_public,1},
|
||||
{libdecaf_curve25519,eddsa_secret_to_pk,1}},
|
||||
{{jose_curve25519_libdecaf,x25519_keypair,0},
|
||||
{libdecaf_curve25519,x25519_keypair,0}},
|
||||
{{jose_curve25519_libdecaf,x25519_keypair,1},
|
||||
{libdecaf_curve25519,x25519_keypair,1}},
|
||||
{{jose_curve25519_libdecaf,x25519_secret_to_public,1},
|
||||
{libdecaf_curve25519,x25519,1}},
|
||||
{{jose_curve25519_libdecaf,x25519_shared_secret,2},
|
||||
{libdecaf_curve25519,x25519,2}},
|
||||
{{jose_curve25519_libsodium,ed25519_sign,2},
|
||||
{libsodium_crypto_sign_ed25519,detached,2}},
|
||||
{{jose_curve25519_libsodium,ed25519_verify,3},
|
||||
{libsodium_crypto_sign_ed25519,verify_detached,3}},
|
||||
{{jose_curve25519_libsodium,ed25519ph_sign,2},
|
||||
{libsodium_crypto_hash_sha512,crypto_hash_sha512,1}},
|
||||
{{jose_curve25519_libsodium,ed25519ph_verify,3},
|
||||
{libsodium_crypto_hash_sha512,crypto_hash_sha512,1}},
|
||||
{{jose_curve25519_libsodium,eddsa_keypair,0},
|
||||
{libsodium_crypto_sign_ed25519,keypair,0}},
|
||||
{{jose_curve25519_libsodium,eddsa_keypair,1},
|
||||
{libsodium_crypto_sign_ed25519,seed_keypair,1}},
|
||||
{{jose_curve25519_libsodium,eddsa_secret_to_public,1},
|
||||
{libsodium_crypto_sign_ed25519,seed_keypair,1}},
|
||||
{{jose_curve25519_libsodium,x25519_keypair,0},
|
||||
{libsodium_crypto_box_curve25519xsalsa20poly1305,keypair,0}},
|
||||
{{jose_curve25519_libsodium,x25519_secret_to_public,1},
|
||||
{libsodium_crypto_scalarmult_curve25519,base,1}},
|
||||
{{jose_curve25519_libsodium,x25519_shared_secret,2},
|
||||
{libsodium_crypto_scalarmult_curve25519,crypto_scalarmult_curve25519,2}},
|
||||
{{jose_curve448_libdecaf,ed448_sign,2},{libdecaf_curve448,ed448_sign,2}},
|
||||
{{jose_curve448_libdecaf,ed448_sign,3},{libdecaf_curve448,ed448_sign,3}},
|
||||
{{jose_curve448_libdecaf,ed448_verify,3},
|
||||
{libdecaf_curve448,ed448_verify,3}},
|
||||
{{jose_curve448_libdecaf,ed448_verify,4},
|
||||
{libdecaf_curve448,ed448_verify,4}},
|
||||
{{jose_curve448_libdecaf,ed448ph_sign,2},
|
||||
{libdecaf_curve448,ed448ph_sign,2}},
|
||||
{{jose_curve448_libdecaf,ed448ph_sign,3},
|
||||
{libdecaf_curve448,ed448ph_sign,3}},
|
||||
{{jose_curve448_libdecaf,ed448ph_verify,3},
|
||||
{libdecaf_curve448,ed448ph_verify,3}},
|
||||
{{jose_curve448_libdecaf,ed448ph_verify,4},
|
||||
{libdecaf_curve448,ed448ph_verify,4}},
|
||||
{{jose_curve448_libdecaf,eddsa_keypair,0},
|
||||
{libdecaf_curve448,eddsa_keypair,0}},
|
||||
{{jose_curve448_libdecaf,eddsa_keypair,1},
|
||||
{libdecaf_curve448,eddsa_keypair,1}},
|
||||
{{jose_curve448_libdecaf,eddsa_secret_to_public,1},
|
||||
{libdecaf_curve448,eddsa_secret_to_pk,1}},
|
||||
{{jose_curve448_libdecaf,x448_keypair,0},
|
||||
{libdecaf_curve448,x448_keypair,0}},
|
||||
{{jose_curve448_libdecaf,x448_keypair,1},
|
||||
{libdecaf_curve448,x448_keypair,1}},
|
||||
{{jose_curve448_libdecaf,x448_secret_to_public,1},
|
||||
{libdecaf_curve448,x448,1}},
|
||||
{{jose_curve448_libdecaf,x448_shared_secret,2},{libdecaf_curve448,x448,2}},
|
||||
{{jose_json_jason,decode,1},{'Elixir.Jason','decode!',1}},
|
||||
{{jose_json_jason,encode,1},{'Elixir.Jason','encode!',1}},
|
||||
{{jose_json_jsone,decode,1},{jsone,decode,1}},
|
||||
{{jose_json_jsone,encode,1},{jsone,encode,2}},
|
||||
{{jose_json_jsx,decode,1},{jsx,decode,2}},
|
||||
{{jose_json_jsx,encode,1},{jsx,encode,1}},
|
||||
{{jose_json_ojson,decode,1},{ojson,'decode!',1}},
|
||||
{{jose_json_ojson,encode,1},{ojson,'encode!',1}},
|
||||
{{jose_json_poison,decode,1},{'Elixir.Poison','decode!',1}},
|
||||
{{jose_json_poison,encode,1},{'Elixir.Poison','encode!',1}},
|
||||
{{jose_json_poison_compat_encoder,decode,1},{'Elixir.Poison','decode!',1}},
|
||||
{{jose_json_poison_compat_encoder,encode,1},
|
||||
{'Elixir.IO',iodata_to_binary,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode,1},
|
||||
{'Elixir.Poison.EncodeError',exception,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode,1},
|
||||
{'Elixir.Poison.Encoder.Atom',encode,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode,1},
|
||||
{'Elixir.Poison.Encoder.BitString',encode,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode,1},
|
||||
{'Elixir.Poison.Encoder.Float',encode,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode,1},
|
||||
{'Elixir.Poison.Encoder.Integer',encode,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_map,1},
|
||||
{'Elixir.Poison.Encoder.BitString',encode,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_name,1},
|
||||
{'Elixir.Atom',to_string,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_name,1},
|
||||
{'Elixir.Kernel',inspect,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_name,1},
|
||||
{'Elixir.Poison.EncodeError',exception,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_struct,2},
|
||||
{'Elixir.Enum',flat_map,2}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_struct,2},
|
||||
{'Elixir.HashDict',size,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_struct,2},
|
||||
{'Elixir.Map',from_struct,1}},
|
||||
{{jose_json_poison_compat_encoder,lexical_encode_struct,2},
|
||||
{'Elixir.Poison.Encoder.BitString',encode,2}},
|
||||
{{jose_json_poison_lexical_encoder,decode,1},
|
||||
{'Elixir.Poison','decode!',1}},
|
||||
{{jose_json_poison_lexical_encoder,encode,1},
|
||||
{'Elixir.JOSE.Poison','lexical_encode!',1}},
|
||||
{{jose_jwk_kty_rsa,try_generate_key,3},{cutkey,rsa,3}},
|
||||
{{jose_sha3_keccakf1600_driver,sha3_224,1},
|
||||
{keccakf1600_fips202,sha3_224,1}},
|
||||
{{jose_sha3_keccakf1600_driver,sha3_256,1},
|
||||
{keccakf1600_fips202,sha3_256,1}},
|
||||
{{jose_sha3_keccakf1600_driver,sha3_384,1},
|
||||
{keccakf1600_fips202,sha3_384,1}},
|
||||
{{jose_sha3_keccakf1600_driver,sha3_512,1},
|
||||
{keccakf1600_fips202,sha3_512,1}},
|
||||
{{jose_sha3_keccakf1600_driver,shake128,2},
|
||||
{keccakf1600_fips202,shake128,2}},
|
||||
{{jose_sha3_keccakf1600_driver,shake256,2},
|
||||
{keccakf1600_fips202,shake256,2}},
|
||||
{{jose_sha3_keccakf1600_nif,sha3_224,1},{keccakf1600,hash,2}},
|
||||
{{jose_sha3_keccakf1600_nif,sha3_256,1},{keccakf1600,hash,2}},
|
||||
{{jose_sha3_keccakf1600_nif,sha3_384,1},{keccakf1600,hash,2}},
|
||||
{{jose_sha3_keccakf1600_nif,sha3_512,1},{keccakf1600,hash,2}},
|
||||
{{jose_sha3_keccakf1600_nif,shake128,2},{keccakf1600,hash,3}},
|
||||
{{jose_sha3_keccakf1600_nif,shake256,2},{keccakf1600,hash,3}},
|
||||
{{jose_sha3_libdecaf,sha3_224,1},{libdecaf_sha3,hash,2}},
|
||||
{{jose_sha3_libdecaf,sha3_256,1},{libdecaf_sha3,hash,2}},
|
||||
{{jose_sha3_libdecaf,sha3_384,1},{libdecaf_sha3,hash,2}},
|
||||
{{jose_sha3_libdecaf,sha3_512,1},{libdecaf_sha3,hash,2}},
|
||||
{{jose_sha3_libdecaf,shake128,2},{libdecaf_sha3,hash,3}},
|
||||
{{jose_sha3_libdecaf,shake256,2},{libdecaf_sha3,hash,3}},
|
||||
{{lwm2m_coap_client,channel_apply,3},{lwm2m_coap_dtls_socket,close,1}},
|
||||
{{lwm2m_coap_client,channel_apply,3},{lwm2m_coap_dtls_socket,connect,2}},
|
||||
{{lwm2m_coap_client,channel_apply,3},{lwm2m_coap_udp_socket,close,1}},
|
||||
{{lwm2m_coap_client,channel_apply,3},
|
||||
{lwm2m_coap_udp_socket,get_channel,2}},
|
||||
{{lwm2m_coap_client,channel_apply,3},{lwm2m_coap_udp_socket,start_link,0}},
|
||||
{{lwm2m_coap_client,test,0},{eunit,test,1}},
|
||||
{{lwm2m_coap_message_parser,test,0},{eunit,test,1}},
|
||||
{{lwm2m_coap_observer,init,1},{lwm2m_coap_dtls_socket,connect,2}},
|
||||
{{lwm2m_coap_observer,init,1},{lwm2m_coap_udp_socket,get_channel,2}},
|
||||
{{lwm2m_coap_observer,init,1},{lwm2m_coap_udp_socket,start_link,0}},
|
||||
{{lwm2m_coap_observer,terminate,2},{lwm2m_coap_dtls_socket,close,1}},
|
||||
{{lwm2m_coap_observer,terminate,2},{lwm2m_coap_udp_socket,close,1}},
|
||||
{{ranch_app,consider_profiling,0},{eprof,start,0}},
|
||||
{{ranch_app,consider_profiling,0},{eprof,start_profiling,1}},
|
||||
{{ranch_app,profile_output,0},{eprof,analyze,1}},
|
||||
{{ranch_app,profile_output,0},{eprof,log,1}},
|
||||
{{ranch_app,profile_output,0},{eprof,stop_profiling,0}},
|
||||
{{release_handler,new_emulator_make_hybrid_boot,6},
|
||||
{systools_make,make_hybrid_boot,4}},
|
||||
{{release_handler,read_app,3},{systools_make,read_application,4}},
|
||||
{{systools,compile_rel,3},{systools_make,make_script,3}},
|
||||
{{systools,make_script,2},{systools_make,make_script,2}},
|
||||
{{systools,make_tar,2},{systools_make,make_tar,2}},
|
||||
{{systools,script2boot,1},{systools_make,format_error,1}},
|
||||
{{systools,script2boot,3},{systools_make,format_error,1}},
|
||||
{{systools_relup,do_mk_relup,5},{systools_make,get_release,2}},
|
||||
{{systools_relup,foreach_baserel_dn,7},{systools_make,get_release,2}},
|
||||
{{systools_relup,foreach_baserel_up,7},{systools_make,get_release,2}}]
|
||||
}
|
||||
|
||||
%% Check undefined_functions
|
||||
, #{ name => undefined_functions
|
||||
, analysis => undefined_functions
|
||||
, excl_apps =>
|
||||
[
|
||||
|
||||
]
|
||||
, excl_mods =>
|
||||
[
|
||||
]
|
||||
, filters =>
|
||||
[{'Elixir.Atom',to_string,1},
|
||||
{'Elixir.Enum',flat_map,2},
|
||||
{'Elixir.HashDict',size,1},
|
||||
{'Elixir.IO',iodata_to_binary,1},
|
||||
{'Elixir.JOSE.Poison','lexical_encode!',1},
|
||||
{'Elixir.Jason','decode!',1},
|
||||
{'Elixir.Jason','encode!',1},
|
||||
{'Elixir.Kernel',inspect,1},
|
||||
{'Elixir.Map',from_struct,1},
|
||||
{'Elixir.Poison','decode!',1},
|
||||
{'Elixir.Poison','encode!',1},
|
||||
{'Elixir.Poison.EncodeError',exception,1},
|
||||
{'Elixir.Poison.Encoder.Atom',encode,2},
|
||||
{'Elixir.Poison.Encoder.BitString',encode,2},
|
||||
{'Elixir.Poison.Encoder.Float',encode,2},
|
||||
{'Elixir.Poison.Encoder.Integer',encode,2},
|
||||
{coap_dtls_socket,close,1},
|
||||
{coap_dtls_socket,connect,2},
|
||||
{coap_udp_socket,close,1},
|
||||
{coap_udp_socket,get_channel,2},
|
||||
{coap_udp_socket,start_link,0},
|
||||
{ct_slave,start,2},
|
||||
{ct_slave,stop,1},
|
||||
{cutkey,rsa,3},
|
||||
{eprof,analyze,1},
|
||||
{eprof,log,1},
|
||||
{eprof,start,0},
|
||||
{eprof,start_profiling,1},
|
||||
{eprof,stop_profiling,0},
|
||||
{erldis,mget,2},
|
||||
{erldis,set,3},
|
||||
{erldis_client,connect,0},
|
||||
{et_collector,iterate,5},
|
||||
{et_collector,report,2},
|
||||
{et_selector,parse_event,2},
|
||||
{et_viewer,get_collector_pid,1},
|
||||
{et_viewer,start_link,1},
|
||||
{eunit,test,1},
|
||||
{ftp,start_service,1},
|
||||
{ftp,start_standalone,1},
|
||||
{ftp,stop_service,1},
|
||||
{gen_leader,alive,1},
|
||||
{gen_leader,broadcast,3},
|
||||
{gen_leader,leader_call,2},
|
||||
{gen_leader,leader_cast,2},
|
||||
{gen_leader,leader_node,1},
|
||||
{gen_leader,start_link,6},
|
||||
{gen_tcp,ipv6_probe,0},
|
||||
{hipe,compile,4},
|
||||
{hipe_bifs,add_ref,2},
|
||||
{hipe_bifs,alloc_data,3},
|
||||
{hipe_bifs,alloc_loader_state,1},
|
||||
{hipe_bifs,atom_to_word,1},
|
||||
{hipe_bifs,bif_address,3},
|
||||
{hipe_bifs,check_crc,1},
|
||||
{hipe_bifs,commit_patch_load,1},
|
||||
{hipe_bifs,enter_code,3},
|
||||
{hipe_bifs,enter_sdesc,2},
|
||||
{hipe_bifs,find_na_or_make_stub,1},
|
||||
{hipe_bifs,fun_to_address,1},
|
||||
{hipe_bifs,get_fe,2},
|
||||
{hipe_bifs,merge_term,1},
|
||||
{hipe_bifs,patch_call,3},
|
||||
{hipe_bifs,patch_insn,3},
|
||||
{hipe_bifs,primop_address,1},
|
||||
{hipe_bifs,set_funinfo_native_address,3},
|
||||
{hipe_bifs,set_native_address,3},
|
||||
{hipe_bifs,set_native_address_in_fe,2},
|
||||
{hipe_bifs,term_to_word,1},
|
||||
{hipe_bifs,write_u32,2},
|
||||
{hipe_bifs,write_u64,2},
|
||||
{hipe_bifs,write_u8,2},
|
||||
{jsone,decode,1},
|
||||
{jsone,encode,2},
|
||||
{jsx,decode,2},
|
||||
{jsx,encode,1},
|
||||
{keccakf1600,hash,2},
|
||||
{keccakf1600,hash,3},
|
||||
{keccakf1600_fips202,sha3_224,1},
|
||||
{keccakf1600_fips202,sha3_256,1},
|
||||
{keccakf1600_fips202,sha3_384,1},
|
||||
{keccakf1600_fips202,sha3_512,1},
|
||||
{keccakf1600_fips202,shake128,2},
|
||||
{keccakf1600_fips202,shake256,2},
|
||||
{libdecaf_curve25519,ed25519_sign,2},
|
||||
{libdecaf_curve25519,ed25519_verify,3},
|
||||
{libdecaf_curve25519,ed25519ph_sign,2},
|
||||
{libdecaf_curve25519,ed25519ph_verify,3},
|
||||
{libdecaf_curve25519,eddsa_keypair,0},
|
||||
{libdecaf_curve25519,eddsa_keypair,1},
|
||||
{libdecaf_curve25519,eddsa_secret_to_pk,1},
|
||||
{libdecaf_curve25519,x25519,1},
|
||||
{libdecaf_curve25519,x25519,2},
|
||||
{libdecaf_curve25519,x25519_keypair,0},
|
||||
{libdecaf_curve25519,x25519_keypair,1},
|
||||
{libdecaf_curve448,ed448_sign,2},
|
||||
{libdecaf_curve448,ed448_sign,3},
|
||||
{libdecaf_curve448,ed448_verify,3},
|
||||
{libdecaf_curve448,ed448_verify,4},
|
||||
{libdecaf_curve448,ed448ph_sign,2},
|
||||
{libdecaf_curve448,ed448ph_sign,3},
|
||||
{libdecaf_curve448,ed448ph_verify,3},
|
||||
{libdecaf_curve448,ed448ph_verify,4},
|
||||
{libdecaf_curve448,eddsa_keypair,0},
|
||||
{libdecaf_curve448,eddsa_keypair,1},
|
||||
{libdecaf_curve448,eddsa_secret_to_pk,1},
|
||||
{libdecaf_curve448,x448,1},
|
||||
{libdecaf_curve448,x448,2},
|
||||
{libdecaf_curve448,x448_keypair,0},
|
||||
{libdecaf_curve448,x448_keypair,1},
|
||||
{libdecaf_sha3,hash,2},
|
||||
{libdecaf_sha3,hash,3},
|
||||
{libsodium_crypto_aead_chacha20poly1305,ietf_decrypt_detached,5},
|
||||
{libsodium_crypto_aead_chacha20poly1305,ietf_encrypt_detached,4},
|
||||
{libsodium_crypto_box_curve25519xsalsa20poly1305,keypair,0},
|
||||
{libsodium_crypto_hash_sha512,crypto_hash_sha512,1},
|
||||
{libsodium_crypto_onetimeauth_poly1305,crypto_onetimeauth_poly1305,2},
|
||||
{libsodium_crypto_onetimeauth_poly1305,verify,3},
|
||||
{libsodium_crypto_scalarmult_curve25519,base,1},
|
||||
{libsodium_crypto_scalarmult_curve25519,crypto_scalarmult_curve25519,2},
|
||||
{libsodium_crypto_sign_ed25519,detached,2},
|
||||
{libsodium_crypto_sign_ed25519,keypair,0},
|
||||
{libsodium_crypto_sign_ed25519,seed_keypair,1},
|
||||
{libsodium_crypto_sign_ed25519,verify_detached,3},
|
||||
{libsodium_crypto_stream_chacha20,ietf_xor_ic,4},
|
||||
{lwm2m_coap_dtls_socket,close,1},
|
||||
{lwm2m_coap_dtls_socket,connect,2},
|
||||
{lwm2m_coap_udp_socket,close,1},
|
||||
{lwm2m_coap_udp_socket,get_channel,2},
|
||||
{lwm2m_coap_udp_socket,start_link,0},
|
||||
{ojson,'decode!',1},
|
||||
{ojson,'encode!',1},
|
||||
{rebar_config,get_local,3},
|
||||
{rebar_rel_utils,get_target_dir,2},
|
||||
{rebar_rel_utils,is_rel_dir,0},
|
||||
{rebar_rel_utils,load_config,2},
|
||||
{replayq,ack,2},
|
||||
{replayq,append,2},
|
||||
{replayq,close,1},
|
||||
{replayq,is_empty,1},
|
||||
{replayq,open,1},
|
||||
{replayq,pop,2},
|
||||
{ssl_verify_hostname,verify_cert_hostname,2},
|
||||
{ssl_verify_hostname,verify_fun,3},
|
||||
{tftp,start_service,1},
|
||||
{tftp,start_standalone,1},
|
||||
{tftp,stop_service,1},
|
||||
{wx,batch,1},
|
||||
{wx,destroy,0},
|
||||
{wx,foldl,3},
|
||||
{wx,foreach,2},
|
||||
{wx,getObjectType,1},
|
||||
{wx,get_env,0},
|
||||
{wx,is_null,1},
|
||||
{wx,new,0},
|
||||
{wx,null,0},
|
||||
{wx,set_env,1},
|
||||
{wx,typeCast,2},
|
||||
{wxBoxSizer,new,1},
|
||||
{wxBrush,new,1},
|
||||
{wxBufferedPaintDC,new,1},
|
||||
{wxButton,connect,3},
|
||||
{wxButton,new,3},
|
||||
{wxCheckBox,connect,3},
|
||||
{wxCheckBox,getValue,1},
|
||||
{wxCheckBox,isChecked,1},
|
||||
{wxCheckBox,new,3},
|
||||
{wxCheckBox,new,4},
|
||||
{wxCheckBox,set3StateValue,2},
|
||||
{wxCheckBox,setValue,2},
|
||||
{wxCheckListBox,check,3},
|
||||
{wxCheckListBox,connect,3},
|
||||
{wxCheckListBox,isChecked,2},
|
||||
{wxCheckListBox,new,3},
|
||||
{wxClientDC,new,1},
|
||||
{wxCursor,destroy,1},
|
||||
{wxCursor,new,1},
|
||||
{wxDC,clear,1},
|
||||
{wxDC,drawLine,3},
|
||||
{wxDC,drawLines,2},
|
||||
{wxDC,drawRoundedRectangle,4},
|
||||
{wxDC,drawText,3},
|
||||
{wxDC,getCharHeight,1},
|
||||
{wxDC,getCharWidth,1},
|
||||
{wxDC,getMultiLineTextExtent,2},
|
||||
{wxDC,getSize,1},
|
||||
{wxDC,getTextExtent,2},
|
||||
{wxDC,setBrush,2},
|
||||
{wxDC,setFont,2},
|
||||
{wxDC,setPen,2},
|
||||
{wxDC,setTextForeground,2},
|
||||
{wxDialog,createButtonSizer,2},
|
||||
{wxDialog,destroy,1},
|
||||
{wxDialog,endModal,2},
|
||||
{wxDialog,getAffirmativeId,1},
|
||||
{wxDialog,new,4},
|
||||
{wxDialog,show,1},
|
||||
{wxDialog,showModal,1},
|
||||
{wxEvent,skip,1},
|
||||
{wxFileDialog,destroy,1},
|
||||
{wxFileDialog,getDirectory,1},
|
||||
{wxFileDialog,getFilename,1},
|
||||
{wxFileDialog,getPath,1},
|
||||
{wxFileDialog,new,2},
|
||||
{wxFileDialog,showModal,1},
|
||||
{wxFont,getFamily,1},
|
||||
{wxFont,getPointSize,1},
|
||||
{wxFont,isFixedWidth,1},
|
||||
{wxFont,new,4},
|
||||
{wxFont,setPointSize,2},
|
||||
{wxFrame,center,1},
|
||||
{wxFrame,connect,2},
|
||||
{wxFrame,connect,3},
|
||||
{wxFrame,createStatusBar,2},
|
||||
{wxFrame,destroy,1},
|
||||
{wxFrame,new,4},
|
||||
{wxFrame,raise,1},
|
||||
{wxFrame,setFocus,1},
|
||||
{wxFrame,setIcon,2},
|
||||
{wxFrame,setMenuBar,2},
|
||||
{wxFrame,setStatusBar,2},
|
||||
{wxFrame,setTitle,2},
|
||||
{wxFrame,show,1},
|
||||
{wxGauge,new,4},
|
||||
{wxGauge,pulse,1},
|
||||
{wxGauge,setValue,2},
|
||||
{wxGraphicsContext,create,1},
|
||||
{wxGraphicsContext,destroy,1},
|
||||
{wxGraphicsContext,drawRoundedRectangle,6},
|
||||
{wxGraphicsContext,drawText,4},
|
||||
{wxGraphicsContext,getTextExtent,2},
|
||||
{wxGraphicsContext,setBrush,2},
|
||||
{wxGraphicsContext,setFont,3},
|
||||
{wxGraphicsContext,setPen,2},
|
||||
{wxGraphicsContext,strokeLine,5},
|
||||
{wxGraphicsContext,strokeLines,2},
|
||||
{wxGraphicsContext,translate,3},
|
||||
{wxGraphicsRenderer,getDefaultRenderer,0},
|
||||
{wxHtmlWindow,connect,2},
|
||||
{wxHtmlWindow,new,2},
|
||||
{wxHtmlWindow,setPage,2},
|
||||
{wxIcon,destroy,1},
|
||||
{wxIcon,new,2},
|
||||
{wxListBox,append,3},
|
||||
{wxListBox,appendStrings,2},
|
||||
{wxListBox,clear,1},
|
||||
{wxListBox,connect,2},
|
||||
{wxListBox,connect,3},
|
||||
{wxListBox,delete,2},
|
||||
{wxListBox,disconnect,1},
|
||||
{wxListBox,getClientData,2},
|
||||
{wxListBox,getCount,1},
|
||||
{wxListBox,getSelection,1},
|
||||
{wxListBox,getString,2},
|
||||
{wxListBox,getStringSelection,1},
|
||||
{wxListBox,new,3},
|
||||
{wxListBox,setClientData,3},
|
||||
{wxListBox,setSelection,2},
|
||||
{wxListBox,setString,3},
|
||||
{wxListCtrl,connect,2},
|
||||
{wxListCtrl,connect,3},
|
||||
{wxListCtrl,deleteAllItems,1},
|
||||
{wxListCtrl,ensureVisible,2},
|
||||
{wxListCtrl,getColumnCount,1},
|
||||
{wxListCtrl,getColumnWidth,2},
|
||||
{wxListCtrl,getItemCount,1},
|
||||
{wxListCtrl,getItemText,2},
|
||||
{wxListCtrl,getNextItem,3},
|
||||
{wxListCtrl,getParent,1},
|
||||
{wxListCtrl,insertColumn,3},
|
||||
{wxListCtrl,insertItem,3},
|
||||
{wxListCtrl,new,2},
|
||||
{wxListCtrl,refreshItem,2},
|
||||
{wxListCtrl,refreshItems,3},
|
||||
{wxListCtrl,setColumnWidth,3},
|
||||
{wxListCtrl,setItem,4},
|
||||
{wxListCtrl,setItemBackgroundColour,3},
|
||||
{wxListCtrl,setItemCount,2},
|
||||
{wxListCtrl,setItemState,4},
|
||||
{wxListCtrl,setToolTip,2},
|
||||
{wxListItem,destroy,1},
|
||||
{wxListItem,new,0},
|
||||
{wxListItem,setAlign,2},
|
||||
{wxListItem,setText,2},
|
||||
{wxListItemAttr,destroy,1},
|
||||
{wxListItemAttr,new,3},
|
||||
{wxMenu,'Destroy',2},
|
||||
{wxMenu,append,3},
|
||||
{wxMenu,append,4},
|
||||
{wxMenu,appendSeparator,1},
|
||||
{wxMenu,check,3},
|
||||
{wxMenu,connect,2},
|
||||
{wxMenu,connect,3},
|
||||
{wxMenu,delete,2},
|
||||
{wxMenu,destroy,1},
|
||||
{wxMenu,findItem,2},
|
||||
{wxMenu,getMenuItems,1},
|
||||
{wxMenu,insert,3},
|
||||
{wxMenu,insert,4},
|
||||
{wxMenu,insertCheckItem,5},
|
||||
{wxMenu,insertRadioItem,5},
|
||||
{wxMenu,insertSeparator,2},
|
||||
{wxMenu,new,0},
|
||||
{wxMenuBar,append,3},
|
||||
{wxMenuBar,check,3},
|
||||
{wxMenuBar,findMenu,2},
|
||||
{wxMenuBar,getMenu,2},
|
||||
{wxMenuBar,insert,4},
|
||||
{wxMenuBar,new,0},
|
||||
{wxMenuBar,remove,2},
|
||||
{wxMessageDialog,destroy,1},
|
||||
{wxMessageDialog,new,2},
|
||||
{wxMessageDialog,new,3},
|
||||
{wxMessageDialog,setTitle,2},
|
||||
{wxMessageDialog,showModal,1},
|
||||
{wxMiniFrame,new,4},
|
||||
{wxNotebook,addPage,3},
|
||||
{wxNotebook,addPage,4},
|
||||
{wxNotebook,connect,2},
|
||||
{wxNotebook,connect,3},
|
||||
{wxNotebook,getPageText,2},
|
||||
{wxNotebook,getSelection,1},
|
||||
{wxNotebook,new,3},
|
||||
{wxNotebook,setSelection,2},
|
||||
{wxPaintDC,new,1},
|
||||
{wxPanel,connect,2},
|
||||
{wxPanel,connect,3},
|
||||
{wxPanel,new,1},
|
||||
{wxPanel,new,2},
|
||||
{wxPanel,setSizer,2},
|
||||
{wxPanel,setSizerAndFit,3},
|
||||
{wxPen,new,1},
|
||||
{wxPen,new,2},
|
||||
{wxRadioBox,getSelection,1},
|
||||
{wxRadioBox,new,7},
|
||||
{wxRadioButton,getValue,1},
|
||||
{wxRadioButton,new,3},
|
||||
{wxRadioButton,new,4},
|
||||
{wxRadioButton,setValue,2},
|
||||
{wxScrolledWindow,calcScrolledPosition,2},
|
||||
{wxScrolledWindow,calcUnscrolledPosition,3},
|
||||
{wxScrolledWindow,doPrepareDC,2},
|
||||
{wxScrolledWindow,enableScrolling,3},
|
||||
{wxScrolledWindow,new,1},
|
||||
{wxScrolledWindow,new,2},
|
||||
{wxScrolledWindow,setScrollbars,5},
|
||||
{wxScrolledWindow,setSizer,2},
|
||||
{wxSizer,add,2},
|
||||
{wxSizer,add,3},
|
||||
{wxSizer,add,4},
|
||||
{wxSizer,addSpacer,2},
|
||||
{wxSizer,detach,2},
|
||||
{wxSizer,getChildren,1},
|
||||
{wxSizer,getMinSize,1},
|
||||
{wxSizer,hide,2},
|
||||
{wxSizer,layout,1},
|
||||
{wxSizer,recalcSizes,1},
|
||||
{wxSizer,remove,2},
|
||||
{wxSizer,setItemMinSize,4},
|
||||
{wxSizer,setSizeHints,2},
|
||||
{wxSizer,setVirtualSizeHints,2},
|
||||
{wxSizer,show,2},
|
||||
{wxSizerItem,deleteWindows,1},
|
||||
{wxSlider,connect,3},
|
||||
{wxSlider,getValue,1},
|
||||
{wxSlider,new,6},
|
||||
{wxSlider,setValue,2},
|
||||
{wxSplitterWindow,new,2},
|
||||
{wxSplitterWindow,setMinimumPaneSize,2},
|
||||
{wxSplitterWindow,setSashGravity,2},
|
||||
{wxSplitterWindow,splitHorizontally,4},
|
||||
{wxSplitterWindow,splitVertically,4},
|
||||
{wxStaticBoxSizer,new,3},
|
||||
{wxStaticLine,new,2},
|
||||
{wxStaticText,destroy,1},
|
||||
{wxStaticText,new,3},
|
||||
{wxStaticText,new,4},
|
||||
{wxStaticText,setForegroundColour,2},
|
||||
{wxStaticText,setLabel,2},
|
||||
{wxStatusBar,new,1},
|
||||
{wxStatusBar,setStatusText,2},
|
||||
{wxStyledTextCtrl,getText,1},
|
||||
{wxStyledTextCtrl,new,1},
|
||||
{wxStyledTextCtrl,setKeyWords,3},
|
||||
{wxStyledTextCtrl,setLexer,2},
|
||||
{wxStyledTextCtrl,setMarginType,3},
|
||||
{wxStyledTextCtrl,setSelectionMode,2},
|
||||
{wxStyledTextCtrl,setText,2},
|
||||
{wxStyledTextCtrl,setUseHorizontalScrollBar,2},
|
||||
{wxStyledTextCtrl,styleClearAll,1},
|
||||
{wxStyledTextCtrl,styleSetFont,3},
|
||||
{wxStyledTextCtrl,styleSetForeground,3},
|
||||
{wxSystemOptions,setOption,2},
|
||||
{wxSystemSettings,getColour,1},
|
||||
{wxSystemSettings,getFont,1},
|
||||
{wxSystemSettings,getMetric,1},
|
||||
{wxTextAttr,destroy,1},
|
||||
{wxTextAttr,new,1},
|
||||
{wxTextAttr,new,2},
|
||||
{wxTextCtrl,appendText,2},
|
||||
{wxTextCtrl,clear,1},
|
||||
{wxTextCtrl,connect,2},
|
||||
{wxTextCtrl,connect,3},
|
||||
{wxTextCtrl,destroy,1},
|
||||
{wxTextCtrl,getTextExtent,2},
|
||||
{wxTextCtrl,getValue,1},
|
||||
{wxTextCtrl,new,2},
|
||||
{wxTextCtrl,new,3},
|
||||
{wxTextCtrl,saveFile,2},
|
||||
{wxTextCtrl,setDefaultStyle,2},
|
||||
{wxTextCtrl,setForegroundColour,2},
|
||||
{wxTextCtrl,setValue,2},
|
||||
{wxTextCtrl,writeText,2},
|
||||
{wxTextEntryDialog,destroy,1},
|
||||
{wxTextEntryDialog,getValue,1},
|
||||
{wxTextEntryDialog,new,2},
|
||||
{wxTextEntryDialog,new,3},
|
||||
{wxTextEntryDialog,showModal,1},
|
||||
{wxToggleButton,new,4},
|
||||
{wxToggleButton,setLabel,2},
|
||||
{wxToggleButton,setValue,2},
|
||||
{wxToolTip,new,1},
|
||||
{wxWindow,connect,2},
|
||||
{wxWindow,connect,3},
|
||||
{wxWindow,destroy,1},
|
||||
{wxWindow,disable,1},
|
||||
{wxWindow,enable,1},
|
||||
{wxWindow,enable,2},
|
||||
{wxWindow,findWindowById,1},
|
||||
{wxWindow,freeze,1},
|
||||
{wxWindow,getBackgroundColour,1},
|
||||
{wxWindow,getClientSize,1},
|
||||
{wxWindow,getParent,1},
|
||||
{wxWindow,getSize,1},
|
||||
{wxWindow,getTextExtent,2},
|
||||
{wxWindow,getTextExtent,3},
|
||||
{wxWindow,hasScrollbar,2},
|
||||
{wxWindow,layout,1},
|
||||
{wxWindow,popupMenu,2},
|
||||
{wxWindow,refresh,1},
|
||||
{wxWindow,setBackgroundStyle,2},
|
||||
{wxWindow,setClientSize,2},
|
||||
{wxWindow,setCursor,2},
|
||||
{wxWindow,setFocus,1},
|
||||
{wxWindow,setForegroundColour,2},
|
||||
{wxWindow,setMinSize,2},
|
||||
{wxWindow,setSizer,2},
|
||||
{wxWindow,setSizerAndFit,2},
|
||||
{wxWindow,setToolTip,2},
|
||||
{wxWindow,setVirtualSize,3},
|
||||
{wxWindow,thaw,1},
|
||||
{wxWindowDC,new,1},
|
||||
{wx_misc,beginBusyCursor,0},
|
||||
{wx_misc,endBusyCursor,0},
|
||||
{wx_misc,getKeyState,1},
|
||||
{wx_misc,launchDefaultBrowser,1},
|
||||
{wx_object,call,2},
|
||||
{wx_object,cast,2},
|
||||
{wx_object,get_pid,1},
|
||||
{wx_object,start,3},
|
||||
{wx_object,start_link,3},
|
||||
{wx_object,start_link,4},
|
||||
{wx_object,stop,1},
|
||||
{wxe_util,get_const,1},
|
||||
{xref,add_application,3},
|
||||
{xref,analyze,2},
|
||||
{xref,set_default,3},
|
||||
{xref,set_library_path,2},
|
||||
{xref,start,2},
|
||||
{xref,stop,1}]
|
||||
}
|
||||
|
||||
, #{ name => locals_not_used
|
||||
, analysis => locals_not_used
|
||||
, excl_apps =>
|
||||
[
|
||||
|
||||
]
|
||||
, excl_mods =>
|
||||
[
|
||||
]
|
||||
, filters =>
|
||||
[{coap_core_link_parser,return_error,2},
|
||||
{core_link_parser,return_error,2},
|
||||
{emqx_exhook_pb,e_type_double,3},
|
||||
{emqx_exhook_pb,e_type_fixed32,3},
|
||||
{emqx_exhook_pb,e_type_fixed64,3},
|
||||
{emqx_exhook_pb,e_type_float,3},
|
||||
{emqx_exhook_pb,e_type_int32,3},
|
||||
{emqx_exhook_pb,e_type_int64,3},
|
||||
{emqx_exhook_pb,e_type_sfixed32,3},
|
||||
{emqx_exhook_pb,e_type_sfixed64,3},
|
||||
{emqx_exhook_pb,e_type_sint,3},
|
||||
{emqx_exhook_pb,m_overwrite,3},
|
||||
{emqx_exhook_pb,v_ok,3},
|
||||
{emqx_exproto_pb,e_type_bool,3},
|
||||
{emqx_exproto_pb,e_type_double,3},
|
||||
{emqx_exproto_pb,e_type_fixed32,3},
|
||||
{emqx_exproto_pb,e_type_fixed64,3},
|
||||
{emqx_exproto_pb,e_type_float,3},
|
||||
{emqx_exproto_pb,e_type_int32,3},
|
||||
{emqx_exproto_pb,e_type_int64,3},
|
||||
{emqx_exproto_pb,e_type_sfixed32,3},
|
||||
{emqx_exproto_pb,e_type_sfixed64,3},
|
||||
{emqx_exproto_pb,e_type_sint,3},
|
||||
{emqx_exproto_pb,m_overwrite,3},
|
||||
{emqx_exproto_pb,v_ok,3},
|
||||
{grpc_health_pb,cons,3},
|
||||
{grpc_health_pb,e_type_bool,3},
|
||||
{grpc_health_pb,e_type_bytes,3},
|
||||
{grpc_health_pb,e_type_double,3},
|
||||
{grpc_health_pb,e_type_fixed32,3},
|
||||
{grpc_health_pb,e_type_fixed64,3},
|
||||
{grpc_health_pb,e_type_float,3},
|
||||
{grpc_health_pb,e_type_int32,3},
|
||||
{grpc_health_pb,e_type_int64,3},
|
||||
{grpc_health_pb,e_type_sfixed32,3},
|
||||
{grpc_health_pb,e_type_sfixed64,3},
|
||||
{grpc_health_pb,e_type_sint,3},
|
||||
{grpc_health_pb,e_varint,3},
|
||||
{grpc_health_pb,'erlang_++',3},
|
||||
{grpc_health_pb,lists_reverse,2},
|
||||
{grpc_health_pb,m_overwrite,3},
|
||||
{grpc_health_pb,v_ok,3},
|
||||
{grpc_reflection_pb,e_type_bool,3},
|
||||
{grpc_reflection_pb,e_type_double,3},
|
||||
{grpc_reflection_pb,e_type_fixed32,3},
|
||||
{grpc_reflection_pb,e_type_fixed64,3},
|
||||
{grpc_reflection_pb,e_type_float,3},
|
||||
{grpc_reflection_pb,e_type_int64,3},
|
||||
{grpc_reflection_pb,e_type_sfixed32,3},
|
||||
{grpc_reflection_pb,e_type_sfixed64,3},
|
||||
{grpc_reflection_pb,e_type_sint,3},
|
||||
{grpc_reflection_pb,e_varint,3},
|
||||
{grpc_reflection_pb,m_overwrite,3},
|
||||
{grpc_reflection_pb,v_ok,3},
|
||||
{prometheus_text_format,escape_metric_help,1},
|
||||
{redbug_parser,return_error,2},
|
||||
{rulesql,return_error,2},
|
||||
{xmerl_b64Bin,return_error,2},
|
||||
{xmerl_xpath_parse,return_error,2}]
|
||||
}
|
||||
|
||||
, #{ name => deprecated_function_calls
|
||||
, analysis => deprecated_function_calls
|
||||
, excl_apps =>
|
||||
[
|
||||
|
||||
]
|
||||
, excl_mods =>
|
||||
[
|
||||
]
|
||||
, filters =>
|
||||
[{{coap_core_link,join_uri,1},{http_uri,encode,1}},
|
||||
{{disk_log_server,dist_pids,1},{pg2,get_members,1}},
|
||||
{{disk_log_server,do_accessible_logs,0},{pg2,which_groups,0}},
|
||||
{{disk_log_server,do_get_log_pids,1},{pg2,get_members,1}},
|
||||
{{disk_log_server,do_open,3},{pg2,create,1}},
|
||||
{{disk_log_server,erase_log,2},{pg2,leave,2}},
|
||||
{{disk_log_server,handle_info,2},{pg2,join,2}},
|
||||
{{gen_fsm,error_info,7},{gen_fsm,format_log,1}},
|
||||
{{gen_fsm,error_info,7},{gen_fsm,format_log,2}},
|
||||
{{gen_fsm,handle_msg,8},{gen_fsm,format_log,1}},
|
||||
{{gen_fsm,handle_msg,8},{gen_fsm,format_log,2}},
|
||||
{{httpd_util,decode_hex,1},{http_uri,decode,1}},
|
||||
{{httpd_util,encode_hex,1},{http_uri,encode,1}},
|
||||
{{igor,tidy,2},{erl_tidy,module,2}},
|
||||
{{jose_public_key,pseudo_random_function,1},{crypto,hmac,4}},
|
||||
{{lwm2m_coap_client,make_segment,1},{http_uri,decode,1}},
|
||||
{{lwm2m_coap_client,resolve_uri,1},{http_uri,parse,2}},
|
||||
{{lwm2m_coap_responder,cancel_observer,2},{pg2,delete,1}},
|
||||
{{lwm2m_coap_responder,cancel_observer,2},{pg2,get_members,1}},
|
||||
{{lwm2m_coap_responder,cancel_observer,2},{pg2,leave,2}},
|
||||
{{lwm2m_coap_responder,handle_observe,4},{pg2,create,1}},
|
||||
{{lwm2m_coap_responder,handle_observe,4},{pg2,join,2}},
|
||||
{{lwm2m_coap_responder,notify,2},{pg2,get_members,1}},
|
||||
{{ranch_ssl,handshake,3},{ssl,ssl_accept,3}}]
|
||||
}
|
||||
|
||||
, #{ name => deprecated_functions
|
||||
, analysis => deprecated_functions
|
||||
, excl_apps =>
|
||||
[
|
||||
|
||||
]
|
||||
, excl_mods =>
|
||||
[
|
||||
]
|
||||
, filters =>
|
||||
[{crypto,hmac,4},
|
||||
{erl_tidy,module,2},
|
||||
{gen_fsm,format_log,1},
|
||||
{gen_fsm,format_log,2},
|
||||
{http_uri,decode,1},
|
||||
{http_uri,encode,1},
|
||||
{http_uri,parse,2},
|
||||
{pg2,create,1},
|
||||
{pg2,delete,1},
|
||||
{pg2,get_members,1},
|
||||
{pg2,join,2},
|
||||
{pg2,leave,2},
|
||||
{pg2,which_groups,0},
|
||||
{ssl,ssl_accept,3}]
|
||||
}
|
||||
].
|
Loading…
Reference in New Issue