MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / find_recursive_call

Method find_recursive_call

addons/misra.py:3444–3458  ·  view source on GitHub ↗
(search_for_function, direct_call, calls_map, visited=None)

Source from the content-addressed store, hash-verified

3442 def misra_17_2(self, data):
3443 # find recursions..
3444 def find_recursive_call(search_for_function, direct_call, calls_map, visited=None):
3445 if visited is None:
3446 visited = set()
3447 if direct_call == search_for_function:
3448 return True
3449 for indirect_call in calls_map.get(direct_call, []):
3450 if indirect_call == search_for_function:
3451 return True
3452 if indirect_call in visited:
3453 # This has already been handled
3454 continue
3455 visited.add(indirect_call)
3456 if find_recursive_call(search_for_function, indirect_call, calls_map, visited):
3457 return True
3458 return False
3459
3460 # List functions called in each function
3461 function_calls = {}

Callers

nothing calls this directly

Calls 3

setFunction · 0.85
getMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected