ad1884ead22d6b96591e518dcf96bcdbf68d42dc
8 find $dirs -type f
-name '*.erl' -exec grep -Hn "\<$target_module\>:" '{}' \
; \
11 -F "${target_module}:" \
12 -v target_module
="$target_module" \
13 -v target_fun_regex
="$target_fun_regex" '
15 caller_module_file = $1
16 sub(":.*$", "", caller_module_file)
19 sub("\\(.*$", "", called_function)
21 if (called_function ~ /^[a-z][a-zA-Z_0-9]+$/) {
22 if (called_function ~ target_fun_regex) {
23 Calls[called_function]++
24 Calls_from[caller_module_file, called_function]++
25 Caller_modules[caller_module_file]++
29 "[WARN] skipped an invalid erlang function name. File: \"%s\", function: \"%s\", original line: \"%s\"\n", \
30 caller_module_file, called_function, $0 \
38 print "group-by-caller"
39 for (caller_module_file in Caller_modules) {
40 printf "%s%s\n", indent, caller_module_file;
41 sort = "sort -n -k 2 -r | column -t | sed \"s/^/" indent indent "/\""
42 for (cf in Calls_from) {
43 split(cf, call, SUBSEP);
44 if (call[1] == caller_module_file)
45 printf "%s %d\n", call[2], Calls_from[cf] | sort;
51 sort = "sort -n -k 2 -r | column -t | sed \"s/^/" indent "/\""
52 for (called_function in Calls)
53 printf "%s %d\n", called_function, Calls[called_function] | sort
This page took 0.048094 seconds and 3 git commands to generate.