MCPcopy Index your code
hub / github.com/python/cpython / cmd_analyze

Function cmd_analyze

Tools/c-analyzer/c_analyzer/__main__.py:373–401  ·  view source on GitHub ↗
(filenames, *,
                fmt=None,
                iter_filenames=None,
                relroot=fsutil.USE_CWD,
                track_progress=None,
                verbosity=None,
                _analyze=_analyze,
                formats=FORMATS,
                **kwargs
                )

Source from the content-addressed store, hash-verified

371
372# XXX Support filtering by kind.
373def cmd_analyze(filenames, *,
374 fmt=None,
375 iter_filenames=None,
376 relroot=fsutil.USE_CWD,
377 track_progress=None,
378 verbosity=None,
379 _analyze=_analyze,
380 formats=FORMATS,
381 **kwargs
382 ):
383 verbosity = verbosity if verbosity is not None else 3
384
385 try:
386 do_fmt = formats[fmt]
387 except KeyError:
388 raise ValueError(f'unsupported fmt {fmt!r}')
389
390 filenames, relroot = fsutil.fix_filenames(filenames, relroot=relroot)
391 filenames = filter_filenames(filenames, iter_filenames, relroot)
392 if track_progress:
393 filenames = track_progress(filenames)
394
395 logger.info('analyzing files...')
396 analyzed = _analyze(filenames, **kwargs)
397 analyzed.fix_filenames(relroot, normalize=False)
398 decls = filter_forward(analyzed, markpublic=True)
399
400 for line in do_fmt(decls):
401 print(line)
402
403
404def _cli_data(parser, filenames=None, known=None):

Callers

nothing calls this directly

Calls 4

filter_filenamesFunction · 0.90
filter_forwardFunction · 0.85
fix_filenamesMethod · 0.80
infoMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…