diff options
author | Eric Snow <ericsnowcurrently@gmail.com> | 2020-11-20 22:39:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-20 22:39:28 (GMT) |
commit | 9f02b479e6b6b48d0c2aad621978cff82e530b15 (patch) | |
tree | 0632759170527a66070fc495bb832a5e7b256eb7 /Tools/c-analyzer | |
parent | a993e901ebe60c38d46ecb31f771d0b4a206828c (diff) | |
download | cpython-9f02b479e6b6b48d0c2aad621978cff82e530b15.zip cpython-9f02b479e6b6b48d0c2aad621978cff82e530b15.tar.gz cpython-9f02b479e6b6b48d0c2aad621978cff82e530b15.tar.bz2 |
bpo-36876: [c-analyzer tool] Tighten up the results and output. (GH-23431)
We also update the "ignored" file with a temporary list of all known globals.
Diffstat (limited to 'Tools/c-analyzer')
-rw-r--r-- | Tools/c-analyzer/c_analyzer/__main__.py | 18 | ||||
-rw-r--r-- | Tools/c-analyzer/c_analyzer/datafiles.py | 71 | ||||
-rw-r--r-- | Tools/c-analyzer/c_analyzer/info.py | 13 | ||||
-rw-r--r-- | Tools/c-analyzer/c_common/fsutil.py | 120 | ||||
-rw-r--r-- | Tools/c-analyzer/c_common/scriptutil.py | 34 | ||||
-rw-r--r-- | Tools/c-analyzer/c_common/tables.py | 13 | ||||
-rw-r--r-- | Tools/c-analyzer/c_parser/__main__.py | 10 | ||||
-rw-r--r-- | Tools/c-analyzer/c_parser/datafiles.py | 35 | ||||
-rw-r--r-- | Tools/c-analyzer/c_parser/info.py | 44 | ||||
-rw-r--r-- | Tools/c-analyzer/cpython/__main__.py | 7 | ||||
-rw-r--r-- | Tools/c-analyzer/cpython/_analyzer.py | 4 | ||||
-rw-r--r-- | Tools/c-analyzer/cpython/_parser.py | 6 | ||||
-rw-r--r-- | Tools/c-analyzer/cpython/ignored.tsv | 2936 |
13 files changed, 3202 insertions, 109 deletions
diff --git a/Tools/c-analyzer/c_analyzer/__main__.py b/Tools/c-analyzer/c_analyzer/__main__.py index 4cff1d4..44325f2 100644 --- a/Tools/c-analyzer/c_analyzer/__main__.py +++ b/Tools/c-analyzer/c_analyzer/__main__.py @@ -5,6 +5,7 @@ import os.path import re import sys +from c_common import fsutil from c_common.logging import VERBOSITY, Printer from c_common.scriptutil import ( add_verbosity_cli, @@ -298,9 +299,9 @@ def cmd_check(filenames, *, checks=None, ignored=None, fmt=None, - relroot=None, failfast=False, iter_filenames=None, + relroot=fsutil.USE_CWD, track_progress=None, verbosity=VERBOSITY, _analyze=_analyze, @@ -317,14 +318,14 @@ def cmd_check(filenames, *, (handle_failure, handle_after, div ) = _get_check_handlers(fmt, printer, verbosity) - filenames = filter_filenames(filenames, iter_filenames) + filenames, relroot = fsutil.fix_filenames(filenames, relroot=relroot) + filenames = filter_filenames(filenames, iter_filenames, relroot) if track_progress: filenames = track_progress(filenames) logger.info('analyzing files...') analyzed = _analyze(filenames, **kwargs) - if relroot: - analyzed.fix_filenames(relroot) + analyzed.fix_filenames(relroot, normalize=False) decls = filter_forward(analyzed, markpublic=True) logger.info('checking analysis results...') @@ -374,6 +375,7 @@ def _cli_analyze(parser, **kwargs): def cmd_analyze(filenames, *, fmt=None, iter_filenames=None, + relroot=fsutil.USE_CWD, track_progress=None, verbosity=None, _analyze=_analyze, @@ -387,12 +389,14 @@ def cmd_analyze(filenames, *, except KeyError: raise ValueError(f'unsupported fmt {fmt!r}') - filenames = filter_filenames(filenames, iter_filenames) + filenames, relroot = fsutil.fix_filenames(filenames, relroot=relroot) + filenames = filter_filenames(filenames, iter_filenames, relroot) if track_progress: filenames = track_progress(filenames) logger.info('analyzing files...') analyzed = _analyze(filenames, **kwargs) + analyzed.fix_filenames(relroot, normalize=False) decls = filter_forward(analyzed, markpublic=True) for line in do_fmt(decls): @@ -434,7 +438,7 @@ def cmd_data(datacmd, filenames, known=None, *, _analyze=_analyze, formats=FORMATS, extracolumns=None, - relroot=None, + relroot=fsutil.USE_CWD, track_progress=None, **kwargs ): @@ -447,9 +451,11 @@ def cmd_data(datacmd, filenames, known=None, *, for line in do_fmt(known): print(line) elif datacmd == 'dump': + filenames, relroot = fsutil.fix_filenames(filenames, relroot=relroot) if track_progress: filenames = track_progress(filenames) analyzed = _analyze(filenames, **kwargs) + analyzed.fix_filenames(relroot, normalize=False) if known is None or usestdout: outfile = io.StringIO() _datafiles.write_known(analyzed, outfile, extracolumns, diff --git a/Tools/c-analyzer/c_analyzer/datafiles.py b/Tools/c-analyzer/c_analyzer/datafiles.py index d37a4ee..d5db3bd 100644 --- a/Tools/c-analyzer/c_analyzer/datafiles.py +++ b/Tools/c-analyzer/c_analyzer/datafiles.py @@ -1,3 +1,6 @@ +import os.path + +from c_common import fsutil import c_common.tables as _tables import c_parser.info as _info import c_parser.match as _match @@ -13,31 +16,10 @@ EXTRA_COLUMNS = [ ] -def analyze_known(known, *, - analyze_resolved=None, - handle_unresolved=True, - ): - knowntypes = knowntypespecs = {} - collated = _match.group_by_kinds(known) - types = {decl: None for decl in collated['type']} - typespecs = _analyze.get_typespecs(types) - def analyze_decl(decl): - return _analyze.analyze_decl( - decl, - typespecs, - knowntypespecs, - types, - knowntypes, - analyze_resolved=analyze_resolved, - ) - _analyze.analyze_type_decls(types, analyze_decl, handle_unresolved) - return types, typespecs - - def get_known(known, extracolumns=None, *, analyze_resolved=None, handle_unresolved=True, - relroot=None, + relroot=fsutil.USE_CWD, ): if isinstance(known, str): known = read_known(known, extracolumns, relroot) @@ -48,7 +30,7 @@ def get_known(known, extracolumns=None, *, ) -def read_known(infile, extracolumns=None, relroot=None): +def read_known(infile, extracolumns=None, relroot=fsutil.USE_CWD): extracolumns = EXTRA_COLUMNS + ( list(extracolumns) if extracolumns else [] ) @@ -58,8 +40,29 @@ def read_known(infile, extracolumns=None, relroot=None): return known +def analyze_known(known, *, + analyze_resolved=None, + handle_unresolved=True, + ): + knowntypes = knowntypespecs = {} + collated = _match.group_by_kinds(known) + types = {decl: None for decl in collated['type']} + typespecs = _analyze.get_typespecs(types) + def analyze_decl(decl): + return _analyze.analyze_decl( + decl, + typespecs, + knowntypespecs, + types, + knowntypes, + analyze_resolved=analyze_resolved, + ) + _analyze.analyze_type_decls(types, analyze_decl, handle_unresolved) + return types, typespecs + + def write_known(rows, outfile, extracolumns=None, *, - relroot=None, + relroot=fsutil.USE_CWD, backup=True, ): extracolumns = EXTRA_COLUMNS + ( @@ -86,22 +89,34 @@ IGNORED_COLUMNS = [ IGNORED_HEADER = '\t'.join(IGNORED_COLUMNS) -def read_ignored(infile): - return dict(_iter_ignored(infile)) +def read_ignored(infile, relroot=fsutil.USE_CWD): + return dict(_iter_ignored(infile, relroot)) -def _iter_ignored(infile): +def _iter_ignored(infile, relroot): + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) + bogus = {_tables.EMPTY, _tables.UNKNOWN} for row in _tables.read_table(infile, IGNORED_HEADER, sep='\t'): *varidinfo, reason = row + if _tables.EMPTY in varidinfo or _tables.UNKNOWN in varidinfo: + varidinfo = tuple(None if v in bogus else v + for v in varidinfo) + if reason in bogus: + reason = None varid = _info.DeclID.from_row(varidinfo) + varid = varid.fix_filename(relroot, formatted=False, fixroot=False) yield varid, reason -def write_ignored(variables, outfile): +def write_ignored(variables, outfile, relroot=fsutil.USE_CWD): raise NotImplementedError + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) reason = '???' #if not isinstance(varid, DeclID): # varid = getattr(varid, 'parsed', varid).id + decls = (d.fix_filename(relroot, fixroot=False) for d in decls) _tables.write_table( outfile, IGNORED_HEADER, diff --git a/Tools/c-analyzer/c_analyzer/info.py b/Tools/c-analyzer/c_analyzer/info.py index be92815..b75918e 100644 --- a/Tools/c-analyzer/c_analyzer/info.py +++ b/Tools/c-analyzer/c_analyzer/info.py @@ -1,5 +1,7 @@ from collections import namedtuple +import os.path +from c_common import fsutil from c_common.clsutil import classonly import c_common.misc as _misc from c_parser.info import ( @@ -223,8 +225,9 @@ class Analyzed: else: return UNKNOWN not in self.typedecl - def fix_filename(self, relroot): - self.item.fix_filename(relroot) + def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs): + self.item.fix_filename(relroot, **kwargs) + return self def as_rowdata(self, columns=None): # XXX finsih! @@ -309,9 +312,11 @@ class Analysis: else: return self._analyzed[key] - def fix_filenames(self, relroot): + def fix_filenames(self, relroot=fsutil.USE_CWD, **kwargs): + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) for item in self._analyzed: - item.fix_filename(relroot) + item.fix_filename(relroot, fixroot=False, **kwargs) def _add_result(self, info, resolved): analyzed = type(self).build_item(info, resolved) diff --git a/Tools/c-analyzer/c_common/fsutil.py b/Tools/c-analyzer/c_common/fsutil.py index 56023f3..120a140 100644 --- a/Tools/c-analyzer/c_common/fsutil.py +++ b/Tools/c-analyzer/c_common/fsutil.py @@ -8,6 +8,9 @@ import stat from .iterutil import iter_many +USE_CWD = object() + + C_SOURCE_SUFFIXES = ('.c', '.h') @@ -30,6 +33,78 @@ def create_backup(old, backup=None): ################################## +# filenames + +def fix_filename(filename, relroot=USE_CWD, *, + fixroot=True, + _badprefix=f'..{os.path.sep}', + ): + """Return a normalized, absolute-path copy of the given filename.""" + if not relroot or relroot is USE_CWD: + return os.path.abspath(filename) + if fixroot: + relroot = os.path.abspath(relroot) + return _fix_filename(filename, relroot) + + +def _fix_filename(filename, relroot, *, + _badprefix=f'..{os.path.sep}', + ): + orig = filename + + # First we normalize. + filename = os.path.normpath(filename) + if filename.startswith(_badprefix): + raise ValueError(f'bad filename {orig!r} (resolves beyond relative root') + + # Now make sure it is absolute (relative to relroot). + if not os.path.isabs(filename): + filename = os.path.join(relroot, filename) + else: + relpath = os.path.relpath(filename, relroot) + if os.path.join(relroot, relpath) != filename: + raise ValueError(f'expected {relroot!r} as lroot, got {orig!r}') + + return filename + + +def fix_filenames(filenames, relroot=USE_CWD): + if not relroot or relroot is USE_CWD: + filenames = (os.path.abspath(v) for v in filenames) + else: + relroot = os.path.abspath(relroot) + filenames = (_fix_filename(v, relroot) for v in filenames) + return filenames, relroot + + +def format_filename(filename, relroot=USE_CWD, *, + fixroot=True, + normalize=True, + _badprefix=f'..{os.path.sep}', + ): + """Return a consistent relative-path representation of the filename.""" + orig = filename + if normalize: + filename = os.path.normpath(filename) + if relroot is None: + # Otherwise leave it as-is. + return filename + elif relroot is USE_CWD: + # Make it relative to CWD. + filename = os.path.relpath(filename) + else: + # Make it relative to "relroot". + if fixroot: + relroot = os.path.abspath(relroot) + elif not relroot: + raise ValueError('missing relroot') + filename = os.path.relpath(filename, relroot) + if filename.startswith(_badprefix): + raise ValueError(f'bad filename {orig!r} (resolves beyond relative root') + return filename + + +################################## # find files def match_glob(filename, pattern): @@ -54,34 +129,29 @@ def match_glob(filename, pattern): return fnmatch.fnmatch(filename, pattern.replace('**/', '', 1)) -def iter_filenames(filenames, *, - start=None, - include=None, - exclude=None, - ): +def process_filenames(filenames, *, + start=None, + include=None, + exclude=None, + relroot=USE_CWD, + ): + if relroot and relroot is not USE_CWD: + relroot = os.path.abspath(relroot) + if start: + start = fix_filename(start, relroot, fixroot=False) + if include: + include = set(fix_filename(v, relroot, fixroot=False) + for v in include) + if exclude: + exclude = set(fix_filename(v, relroot, fixroot=False) + for v in exclude) + onempty = Exception('no filenames provided') for filename, solo in iter_many(filenames, onempty): + filename = fix_filename(filename, relroot, fixroot=False) + relfile = format_filename(filename, relroot, fixroot=False, normalize=False) check, start = _get_check(filename, start, include, exclude) - yield filename, check, solo -# filenames = iter(filenames or ()) -# try: -# first = next(filenames) -# except StopIteration: -# raise Exception('no filenames provided') -# try: -# second = next(filenames) -# except StopIteration: -# check, _ = _get_check(first, start, include, exclude) -# yield first, check, False -# return -# -# check, start = _get_check(first, start, include, exclude) -# yield first, check, True -# check, start = _get_check(second, start, include, exclude) -# yield second, check, True -# for filename in filenames: -# check, start = _get_check(filename, start, include, exclude) -# yield filename, check, True + yield filename, relfile, check, solo def expand_filenames(filenames): diff --git a/Tools/c-analyzer/c_common/scriptutil.py b/Tools/c-analyzer/c_common/scriptutil.py index 2220590..50dd754 100644 --- a/Tools/c-analyzer/c_common/scriptutil.py +++ b/Tools/c-analyzer/c_common/scriptutil.py @@ -307,7 +307,9 @@ def add_file_filtering_cli(parser, *, excluded=None): exclude=tuple(_parse_files(_exclude)), # We use the default for "show_header" ) - ns[key] = (lambda files: fsutil.iter_filenames(files, **kwargs)) + def process_filenames(filenames, relroot=None): + return fsutil.process_filenames(filenames, relroot=relroot, **kwargs) + ns[key] = process_filenames return process_args @@ -529,42 +531,46 @@ def set_command(name, add_cli): ################################## # main() helpers -def filter_filenames(filenames, iter_filenames=None): - for filename, check, _ in _iter_filenames(filenames, iter_filenames): +def filter_filenames(filenames, process_filenames=None, relroot=fsutil.USE_CWD): + # We expect each filename to be a normalized, absolute path. + for filename, _, check, _ in _iter_filenames(filenames, process_filenames, relroot): if (reason := check()): logger.debug(f'{filename}: {reason}') continue yield filename -def main_for_filenames(filenames, iter_filenames=None): - for filename, check, show in _iter_filenames(filenames, iter_filenames): +def main_for_filenames(filenames, process_filenames=None, relroot=fsutil.USE_CWD): + filenames, relroot = fsutil.fix_filenames(filenames, relroot=relroot) + for filename, relfile, check, show in _iter_filenames(filenames, process_filenames, relroot): if show: print() + print(relfile) print('-------------------------------------------') - print(filename) if (reason := check()): print(reason) continue - yield filename + yield filename, relfile -def _iter_filenames(filenames, iter_files): - if iter_files is None: - iter_files = fsutil.iter_filenames - yield from iter_files(filenames) +def _iter_filenames(filenames, process, relroot): + if process is None: + yield from fsutil.process_filenames(filenames, relroot=relroot) return onempty = Exception('no filenames provided') - items = iter_files(filenames) + items = process(filenames, relroot=relroot) items, peeked = iterutil.peek_and_iter(items) if not items: raise onempty if isinstance(peeked, str): + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) check = (lambda: True) for filename, ismany in iterutil.iter_many(items, onempty): - yield filename, check, ismany - elif len(peeked) == 3: + relfile = fsutil.format_filename(filename, relroot, fixroot=False) + yield filename, relfile, check, ismany + elif len(peeked) == 4: yield from items else: raise NotImplementedError diff --git a/Tools/c-analyzer/c_common/tables.py b/Tools/c-analyzer/c_common/tables.py index 70a230a..411152e 100644 --- a/Tools/c-analyzer/c_common/tables.py +++ b/Tools/c-analyzer/c_common/tables.py @@ -26,13 +26,14 @@ def fix_row(row, **markers): unknown = parse_markers(markers.pop('unknown', ('???',))) row = (val if val else None for val in row) if not empty: - if not unknown: - return row - return (UNKNOWN if val in unknown else val for val in row) + if unknown: + row = (UNKNOWN if val in unknown else val for val in row) elif not unknown: - return (EMPTY if val in empty else val for val in row) - return (EMPTY if val in empty else (UNKNOWN if val in unknown else val) - for val in row) + row = (EMPTY if val in empty else val for val in row) + else: + row = (EMPTY if val in empty else (UNKNOWN if val in unknown else val) + for val in row) + return tuple(row) def _fix_read_default(row): diff --git a/Tools/c-analyzer/c_parser/__main__.py b/Tools/c-analyzer/c_parser/__main__.py index 1752a70..539cec5 100644 --- a/Tools/c-analyzer/c_parser/__main__.py +++ b/Tools/c-analyzer/c_parser/__main__.py @@ -2,6 +2,7 @@ import logging import os.path import sys +from c_common import fsutil from c_common.scriptutil import ( CLIArgSpec as Arg, add_verbosity_cli, @@ -64,8 +65,9 @@ def fmt_raw(filename, item, *, showfwd=None): def fmt_summary(filename, item, *, showfwd=None): - if item.filename and item.filename != os.path.join('.', filename): + if item.filename != filename: yield f'> {item.filename}' + if showfwd is None: LINE = ' {lno:>5} {kind:10} {funcname:40} {fwd:1} {name:40} {data}' else: @@ -172,6 +174,7 @@ def cmd_parse(filenames, *, fmt='summary', showfwd=None, iter_filenames=None, + relroot=None, **kwargs ): if 'get_file_preprocessor' not in kwargs: @@ -180,9 +183,10 @@ def cmd_parse(filenames, *, do_fmt = FORMATS[fmt] except KeyError: raise ValueError(f'unsupported fmt {fmt!r}') - for filename in main_for_filenames(filenames, iter_filenames): + for filename, relfile in main_for_filenames(filenames, iter_filenames, relroot): for item in _iter_parsed(filename, **kwargs): - for line in do_fmt(filename, item, showfwd=showfwd): + item = item.fix_filename(relroot, fixroot=False, normalize=False) + for line in do_fmt(relfile, item, showfwd=showfwd): print(line) diff --git a/Tools/c-analyzer/c_parser/datafiles.py b/Tools/c-analyzer/c_parser/datafiles.py index cdd69b1..f053056 100644 --- a/Tools/c-analyzer/c_parser/datafiles.py +++ b/Tools/c-analyzer/c_parser/datafiles.py @@ -1,5 +1,6 @@ import os.path +from c_common import fsutil import c_common.tables as _tables import c_parser.info as _info @@ -81,21 +82,27 @@ def _get_format_handlers(group, fmt): # tsv -def iter_decls_tsv(infile, extracolumns=None, relroot=None): - for info, extra in _iter_decls_tsv(infile, extracolumns, relroot): +def iter_decls_tsv(infile, extracolumns=None, relroot=fsutil.USE_CWD): + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) + for info, extra in _iter_decls_tsv(infile, extracolumns): decl = _info.Declaration.from_row(info) + decl = decl.fix_filename(relroot, formatted=False, fixroot=False) yield decl, extra def write_decls_tsv(decls, outfile, extracolumns=None, *, - relroot=None, + relroot=fsutil.USE_CWD, **kwargs ): + if relroot and relroot is not fsutil.USE_CWD: + relroot = os.path.abspath(relroot) + decls = (d.fix_filename(relroot, fixroot=False) for d in decls) # XXX Move the row rendering here. - _write_decls_tsv(decls, outfile, extracolumns, relroot, kwargs) + _write_decls_tsv(decls, outfile, extracolumns, kwargs) -def _iter_decls_tsv(infile, extracolumns=None, relroot=None): +def _iter_decls_tsv(infile, extracolumns=None): columns = _get_columns('decls', extracolumns) for row in _tables.read_table(infile, columns, sep='\t'): if extracolumns: @@ -104,15 +111,13 @@ def _iter_decls_tsv(infile, extracolumns=None, relroot=None): else: declinfo = row extra = None - if relroot: - # XXX Use something like tables.fix_row() here. - declinfo = [None if v == '-' else v - for v in declinfo] - declinfo[0] = os.path.join(relroot, declinfo[0]) + # XXX Use something like tables.fix_row() here. + declinfo = [None if v == '-' else v + for v in declinfo] yield declinfo, extra -def _write_decls_tsv(decls, outfile, extracolumns, relroot,kwargs): +def _write_decls_tsv(decls, outfile, extracolumns, kwargs): columns = _get_columns('decls', extracolumns) if extracolumns: def render_decl(decl): @@ -121,7 +126,7 @@ def _write_decls_tsv(decls, outfile, extracolumns, relroot,kwargs): else: extra = () extra += ('???',) * (len(extraColumns) - len(extra)) - *row, declaration = _render_known_row(decl, relroot) + *row, declaration = _render_known_row(decl) row += extra + (declaration,) return row else: @@ -129,13 +134,13 @@ def _write_decls_tsv(decls, outfile, extracolumns, relroot,kwargs): _tables.write_table( outfile, header='\t'.join(columns), - rows=(render_decl(d, relroot) for d in decls), + rows=(render_decl(d) for d in decls), sep='\t', **kwargs ) -def _render_known_decl(decl, relroot, *, +def _render_known_decl(decl, *, # These match BASE_COLUMNS + END_COLUMNS[group]. _columns = 'filename parent name kind data'.split(), ): @@ -143,8 +148,6 @@ def _render_known_decl(decl, relroot, *, # e.g. Analyzed decl = decl.decl rowdata = decl.render_rowdata(_columns) - if relroot: - rowdata['filename'] = os.path.relpath(rowdata['filename'], relroot) return [rowdata[c] or '-' for c in _columns] # XXX #return _tables.fix_row(rowdata[c] for c in columns) diff --git a/Tools/c-analyzer/c_parser/info.py b/Tools/c-analyzer/c_parser/info.py index 798a45d..98ff511 100644 --- a/Tools/c-analyzer/c_parser/info.py +++ b/Tools/c-analyzer/c_parser/info.py @@ -3,6 +3,7 @@ import enum import os.path import re +from c_common import fsutil from c_common.clsutil import classonly import c_common.misc as _misc import c_common.strutil as _strutil @@ -148,6 +149,16 @@ def get_kind_group(item): ############################# # low-level +def _fix_filename(filename, relroot, *, + formatted=True, + **kwargs): + if formatted: + fix = fsutil.format_filename + else: + fix = fsutil.fix_filename + return fix(filename, relroot=relroot, **kwargs) + + class FileInfo(namedtuple('FileInfo', 'filename lno')): @classmethod def from_raw(cls, raw): @@ -165,8 +176,10 @@ class FileInfo(namedtuple('FileInfo', 'filename lno')): def __str__(self): return self.filename - def fix_filename(self, relroot): - filename = os.path.relpath(self.filename, relroot) + def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs): + filename = _fix_filename(self.filename, relroot, **kwargs) + if filename == self.filename: + return self return self._replace(filename=filename) @@ -194,6 +207,16 @@ class DeclID(namedtuple('DeclID', 'filename funcname name')): row = _tables.fix_row(row, **markers) return cls(*row) + # We have to provde _make() becaose we implemented __new__(). + + @classmethod + def _make(cls, iterable): + try: + return cls(*iterable) + except Exception: + super()._make(iterable) + raise # re-raise + def __new__(cls, filename, funcname, name): self = super().__new__( cls, @@ -221,6 +244,12 @@ class DeclID(namedtuple('DeclID', 'filename funcname name')): return NotImplemented return self._compare > other + def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs): + filename = _fix_filename(self.filename, relroot, **kwargs) + if filename == self.filename: + return self + return self._replace(filename=filename) + class ParsedItem(namedtuple('ParsedItem', 'file kind parent name data')): @@ -290,6 +319,12 @@ class ParsedItem(namedtuple('ParsedItem', 'file kind parent name data')): else: return self.parent.name + def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs): + fixed = self.file.fix_filename(relroot, **kwargs) + if fixed == self.file: + return self + return self._replace(file=fixed) + def as_row(self, columns=None): if not columns: columns = self._fields @@ -591,9 +626,10 @@ class HighlevelParsedItem: ) return self._parsed - def fix_filename(self, relroot): + def fix_filename(self, relroot=fsutil.USE_CWD, **kwargs): if self.file: - self.file = self.file.fix_filename(relroot) + self.file = self.file.fix_filename(relroot, **kwargs) + return self def as_rowdata(self, columns=None): columns, datacolumns, colnames = self._parse_columns(columns) diff --git a/Tools/c-analyzer/cpython/__main__.py b/Tools/c-analyzer/cpython/__main__.py index 23ce297..6d78af2 100644 --- a/Tools/c-analyzer/cpython/__main__.py +++ b/Tools/c-analyzer/cpython/__main__.py @@ -105,7 +105,11 @@ def cmd_parse(filenames=None, **kwargs): filenames = _resolve_filenames(filenames) if 'get_file_preprocessor' not in kwargs: kwargs['get_file_preprocessor'] = _parser.get_preprocessor() - c_parser.cmd_parse(filenames, **kwargs) + c_parser.cmd_parse( + filenames, + relroot=REPO_ROOT, + **kwargs + ) def _cli_check(parser, **kwargs): @@ -131,6 +135,7 @@ def cmd_analyze(filenames=None, **kwargs): kwargs['get_file_preprocessor'] = _parser.get_preprocessor(log_err=print) c_analyzer.cmd_analyze( filenames, + relroot=REPO_ROOT, _analyze=_analyzer.analyze, formats=formats, **kwargs diff --git a/Tools/c-analyzer/cpython/_analyzer.py b/Tools/c-analyzer/cpython/_analyzer.py index 978831d..0990423 100644 --- a/Tools/c-analyzer/cpython/_analyzer.py +++ b/Tools/c-analyzer/cpython/_analyzer.py @@ -84,13 +84,13 @@ def write_known(): def read_ignored(): if not _IGNORED: - _IGNORED.update(_datafiles.read_ignored(IGNORED_FILE)) + _IGNORED.update(_datafiles.read_ignored(IGNORED_FILE, relroot=REPO_ROOT)) return dict(_IGNORED) def write_ignored(): raise NotImplementedError - datafiles.write_ignored(variables, IGNORED_FILE) + _datafiles.write_ignored(variables, IGNORED_FILE, relroot=REPO_ROOT) def analyze(filenames, *, diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py index 7c8c296..eef7584 100644 --- a/Tools/c-analyzer/cpython/_parser.py +++ b/Tools/c-analyzer/cpython/_parser.py @@ -162,6 +162,12 @@ Modules/_datetimemodule.c Py_BUILD_CORE 1 Modules/_ctypes/cfield.c Py_BUILD_CORE 1 Modules/_heapqmodule.c Py_BUILD_CORE 1 Modules/_posixsubprocess.c Py_BUILD_CORE 1 +Modules/_sre.c Py_BUILD_CORE 1 +Modules/_collectionsmodule.c Py_BUILD_CORE 1 +Modules/_zoneinfo.c Py_BUILD_CORE 1 +Modules/unicodedata.c Py_BUILD_CORE 1 +Modules/_cursesmodule.c Py_BUILD_CORE 1 +Modules/_ctypes/_ctypes.c Py_BUILD_CORE 1 Objects/stringlib/codecs.h Py_BUILD_CORE 1 Python/ceval_gil.h Py_BUILD_CORE 1 Python/condvar.h Py_BUILD_CORE 1 diff --git a/Tools/c-analyzer/cpython/ignored.tsv b/Tools/c-analyzer/cpython/ignored.tsv index 2c456db..e5d9378 100644 --- a/Tools/c-analyzer/cpython/ignored.tsv +++ b/Tools/c-analyzer/cpython/ignored.tsv @@ -1,2 +1,2938 @@ filename funcname name reason #??? - somevar ??? + +# XXX The analyzer should have ignored these (forward/extern references): +Include/py_curses.h - PyCurses_API - +Include/pydecimal.h - _decimal_api - +Modules/_blake2/blake2module.c - blake2b_type_spec - +Modules/_blake2/blake2module.c - blake2s_type_spec - +Modules/_io/fileio.c - _Py_open_cloexec_works - +Modules/_io/_iomodule.h - PyIOBase_Type - +Modules/_io/_iomodule.h - PyRawIOBase_Type - +Modules/_io/_iomodule.h - PyBufferedIOBase_Type - +Modules/_io/_iomodule.h - PyTextIOBase_Type - +Modules/_io/_iomodule.h - PyFileIO_Type - +Modules/_io/_iomodule.h - PyBytesIO_Type - +Modules/_io/_iomodule.h - PyStringIO_Type - +Modules/_io/_iomodule.h - PyBufferedReader_Type - +Modules/_io/_iomodule.h - PyBufferedWriter_Type - +Modules/_io/_iomodule.h - PyBufferedRWPair_Type - +Modules/_io/_iomodule.h - PyBufferedRandom_Type - +Modules/_io/_iomodule.h - PyTextIOWrapper_Type - +Modules/_io/_iomodule.h - PyIncrementalNewlineDecoder_Type - +Modules/_io/_iomodule.h - _PyBytesIOBuffer_Type - +Modules/_io/_iomodule.h - _PyIO_str_close - +Modules/_io/_iomodule.h - _PyIO_str_closed - +Modules/_io/_iomodule.h - _PyIO_str_decode - +Modules/_io/_iomodule.h - _PyIO_str_encode - +Modules/_io/_iomodule.h - _PyIO_str_fileno - +Modules/_io/_iomodule.h - _PyIO_str_flush - +Modules/_io/_iomodule.h - _PyIO_str_getstate - +Modules/_io/_iomodule.h - _PyIO_str_isatty - +Modules/_io/_iomodule.h - _PyIO_str_newlines - +Modules/_io/_iomodule.h - _PyIO_str_nl - +Modules/_io/_iomodule.h - _PyIO_str_peek - +Modules/_io/_iomodule.h - _PyIO_str_read - +Modules/_io/_iomodule.h - _PyIO_str_read1 - +Modules/_io/_iomodule.h - _PyIO_str_readable - +Modules/_io/_iomodule.h - _PyIO_str_readall - +Modules/_io/_iomodule.h - _PyIO_str_readinto - +Modules/_io/_iomodule.h - _PyIO_str_readline - +Modules/_io/_iomodule.h - _PyIO_str_reset - +Modules/_io/_iomodule.h - _PyIO_str_seek - +Modules/_io/_iomodule.h - _PyIO_str_seekable - +Modules/_io/_iomodule.h - _PyIO_str_setstate - +Modules/_io/_iomodule.h - _PyIO_str_tell - +Modules/_io/_iomodule.h - _PyIO_str_truncate - +Modules/_io/_iomodule.h - _PyIO_str_writable - +Modules/_io/_iomodule.h - _PyIO_str_write - +Modules/_io/_iomodule.h - _PyIO_empty_str - +Modules/_io/_iomodule.h - _PyIO_empty_bytes - +Modules/_multiprocessing/multiprocessing.h - _PyMp_SemLockType - +Modules/_sqlite/cache.h - pysqlite_NodeType - +Modules/_sqlite/cache.h - pysqlite_CacheType - +Modules/_sqlite/cursor.h - pysqlite_CursorType - +Modules/_sqlite/row.h - pysqlite_RowType - +Modules/_sqlite/prepare_protocol.h - pysqlite_PrepareProtocolType - +Modules/_sqlite/statement.h - pysqlite_StatementType - +Modules/_sqlite/connection.h - pysqlite_ConnectionType - +Modules/_sqlite/module.c - pysqlite_Error - +Modules/_sqlite/module.c - pysqlite_Warning - +Modules/_sqlite/module.c - pysqlite_InterfaceError - +Modules/_sqlite/module.c - pysqlite_DatabaseError - +Modules/_sqlite/module.c - pysqlite_InternalError - +Modules/_sqlite/module.c - pysqlite_OperationalError - +Modules/_sqlite/module.c - pysqlite_ProgrammingError - +Modules/_sqlite/module.c - pysqlite_IntegrityError - +Modules/_sqlite/module.c - pysqlite_DataError - +Modules/_sqlite/module.c - pysqlite_NotSupportedError - +Modules/_sqlite/module.c - _pysqlite_converters - +Modules/_sqlite/module.c - _pysqlite_enable_callback_tracebacks - +Modules/_sqlite/module.c - pysqlite_BaseTypeAdapted - +Modules/_testcapimodule.c - _PyBytesIOBuffer_Type - +Modules/posixmodule.c - _Py_open_cloexec_works - +Python/importdl.h - _PyImport_DynLoadFiletab - + + +################################## +# test code +# [] + +Modules/_ctypes/_ctypes_test.c - _ctypes_test_slots - +Modules/_ctypes/_ctypes_test.c - module_methods - +Modules/_ctypes/_ctypes_test.c - my_spams - +Modules/_ctypes/_ctypes_test.c - my_eggs - +Modules/_ctypes/_ctypes_test.c - an_integer - +Modules/_ctypes/_ctypes_test.c - _xxx_lib - +Modules/_ctypes/_ctypes_test.c - left - +Modules/_ctypes/_ctypes_test.c - top - +Modules/_ctypes/_ctypes_test.c - right - +Modules/_ctypes/_ctypes_test.c - bottom - +Modules/_ctypes/_ctypes_test.c - _ctypes_testmodule - +Modules/_ctypes/_ctypes_test.c - last_tfrsuv_arg - +Modules/_ctypes/_ctypes_test.c - last_tf_arg_s - +Modules/_ctypes/_ctypes_test.c - last_tf_arg_u - +Modules/_testbuffer.c - simple_format - +Modules/_testbuffer.c - static_mem - +Modules/_testbuffer.c - static_shape - +Modules/_testbuffer.c - static_strides - +Modules/_testbuffer.c - NDArray_Type - +Modules/_testbuffer.c - StaticArray_Type - +Modules/_testbuffer.c ndarray_init kwlist - +Modules/_testbuffer.c ndarray_push kwlist - +Modules/_testbuffer.c staticarray_init kwlist - +Modules/_testbuffer.c - ndarray_methods - +Modules/_testbuffer.c - _testbuffer_functions - +Modules/_testbuffer.c - ndarray_getset - +Modules/_testbuffer.c - ndarray_as_buffer - +Modules/_testbuffer.c - staticarray_as_buffer - +Modules/_testbuffer.c - ndarray_as_sequence - +Modules/_testbuffer.c - ndarray_as_mapping - +Modules/_testbuffer.c - structmodule - +Modules/_testbuffer.c - _testbuffermodule - +Modules/_testbuffer.c - Struct - +Modules/_testbuffer.c - calcsize - +Modules/_testbuffer.c - simple_fmt - +Modules/_testbuffer.c - static_buffer - +Modules/_testbuffer.c ndarray_memoryview_from_buffer format - +Modules/_testbuffer.c ndarray_memoryview_from_buffer shape - +Modules/_testbuffer.c ndarray_memoryview_from_buffer strides - +Modules/_testbuffer.c ndarray_memoryview_from_buffer suboffsets - +Modules/_testbuffer.c ndarray_memoryview_from_buffer info - +Modules/_testbuffer.c - infobuf - +Modules/_testcapimodule.c - TestError - +Modules/_testcapimodule.c test_capsule buffer - +Modules/_testcapimodule.c - decimal_initialized - +Modules/_testcapimodule.c - thread_done - +Modules/_testcapimodule.c - capsule_error - +Modules/_testcapimodule.c - capsule_destructor_call_count - +Modules/_testcapimodule.c - str1 - +Modules/_testcapimodule.c - str2 - +Modules/_testcapimodule.c - test_run_counter - +Modules/_testcapimodule.c - FmHook - +Modules/_testcapimodule.c - FmData - +Modules/_testcapimodule.c - _testcapimodule - +Modules/_testcapimodule.c - _HashInheritanceTester_Type - +Modules/_testcapimodule.c - test_structmembersType - +Modules/_testcapimodule.c - matmulType - +Modules/_testcapimodule.c - ipowType - +Modules/_testcapimodule.c - awaitType - +Modules/_testcapimodule.c - PyRecursingInfinitelyError_Type - +Modules/_testcapimodule.c - MyList_Type - +Modules/_testcapimodule.c - GenericAlias_Type - +Modules/_testcapimodule.c - Generic_Type - +Modules/_testcapimodule.c - MethodDescriptorBase_Type - +Modules/_testcapimodule.c - MethodDescriptorDerived_Type - +Modules/_testcapimodule.c - MethodDescriptorNopGet_Type - +Modules/_testcapimodule.c - MethodDescriptor2_Type - +Modules/_testcapimodule.c - MethInstance_Type - +Modules/_testcapimodule.c - MethClass_Type - +Modules/_testcapimodule.c - MethStatic_Type - +Modules/_testcapimodule.c - ContainerNoGC_type - +Modules/_testcapimodule.c slot_tp_del PyId___tp_del__ - +Modules/_testcapimodule.c raise_SIGINT_then_send_None PyId_send - +Modules/_testcapimodule.c - HeapDocCType_spec - +Modules/_testcapimodule.c - HeapGcCType_spec - +Modules/_testcapimodule.c - HeapCType_spec - +Modules/_testcapimodule.c - HeapCTypeSubclass_spec - +Modules/_testcapimodule.c - HeapCTypeWithBuffer_spec - +Modules/_testcapimodule.c - HeapCTypeSubclassWithFinalizer_spec - +Modules/_testcapimodule.c - HeapCTypeWithDict_spec - +Modules/_testcapimodule.c - HeapCTypeWithNegativeDict_spec - +Modules/_testcapimodule.c - HeapCTypeWithWeakref_spec - +Modules/_testcapimodule.c - HeapCTypeSetattr_spec - +Modules/_testcapimodule.c - capsule_name - +Modules/_testcapimodule.c - capsule_pointer - +Modules/_testcapimodule.c - capsule_context - +Modules/_testcapimodule.c - x - +Modules/_testcapimodule.c getargs_keyword_only keywords - +Modules/_testcapimodule.c getargs_keywords keywords - +Modules/_testcapimodule.c getargs_positional_only_and_keywords keywords - +Modules/_testcapimodule.c make_exception_with_doc kwlist - +Modules/_testcapimodule.c test_empty_argparse kwlist - +Modules/_testcapimodule.c test_structmembers_new keywords - +Modules/_testcapimodule.c - ml - +Modules/_testcapimodule.c - TestMethods - +Modules/_testcapimodule.c - generic_alias_methods - +Modules/_testcapimodule.c - generic_methods - +Modules/_testcapimodule.c - meth_instance_methods - +Modules/_testcapimodule.c - meth_class_methods - +Modules/_testcapimodule.c - meth_static_methods - +Modules/_testcapimodule.c - test_members - +Modules/_testcapimodule.c - heapctype_members - +Modules/_testcapimodule.c - heapctypesubclass_members - +Modules/_testcapimodule.c - heapctypewithdict_members - +Modules/_testcapimodule.c - heapctypewithnegativedict_members - +Modules/_testcapimodule.c - heapctypewithweakref_members - +Modules/_testcapimodule.c - heapctypesetattr_members - +Modules/_testcapimodule.c - ContainerNoGC_members - +Modules/_testcapimodule.c - matmulType_as_number - +Modules/_testcapimodule.c - ipowType_as_number - +Modules/_testcapimodule.c - awaitType_as_async - +Modules/_testcapimodule.c - heapctypewithdict_getsetlist - +Modules/_testcapimodule.c - HeapDocCType_slots - +Modules/_testcapimodule.c - HeapGcCType_slots - +Modules/_testcapimodule.c - HeapCType_slots - +Modules/_testcapimodule.c - HeapCTypeSubclass_slots - +Modules/_testcapimodule.c - HeapCTypeWithBuffer_slots - +Modules/_testcapimodule.c - HeapCTypeSubclassWithFinalizer_slots - +Modules/_testcapimodule.c - HeapCTypeWithDict_slots - +Modules/_testcapimodule.c - HeapCTypeWithNegativeDict_slots - +Modules/_testcapimodule.c - HeapCTypeWithWeakref_slots - +Modules/_testcapimodule.c - HeapCTypeSetattr_slots - +Modules/_testimportmultiple.c - _foomodule - +Modules/_testimportmultiple.c - _barmodule - +Modules/_testimportmultiple.c - _testimportmultiple - +Modules/_testinternalcapi.c - _testcapimodule - +Modules/_testinternalcapi.c - TestMethods - +Modules/_testmultiphase.c - slots_create_nonmodule - +Modules/_testmultiphase.c - def_nonmodule - +Modules/_testmultiphase.c - main_def - +Modules/_testmultiphase.c - def_nonmodule_with_methods - +Modules/_testmultiphase.c - def_nonascii_latin - +Modules/_testmultiphase.c - def_nonascii_kana - +Modules/_testmultiphase.c - null_slots_def - +Modules/_testmultiphase.c - def_bad_large - +Modules/_testmultiphase.c - def_bad_negative - +Modules/_testmultiphase.c - def_create_int_with_state - +Modules/_testmultiphase.c - def_negative_size - +Modules/_testmultiphase.c - uninitialized_def - +Modules/_testmultiphase.c - def_create_null - +Modules/_testmultiphase.c - def_create_raise - +Modules/_testmultiphase.c - def_create_unreported_exception - +Modules/_testmultiphase.c - def_nonmodule_with_exec_slots - +Modules/_testmultiphase.c - def_exec_err - +Modules/_testmultiphase.c - def_exec_raise - +Modules/_testmultiphase.c - def_exec_unreported_exception - +Modules/_testmultiphase.c - def_meth_state_access - +Modules/_testmultiphase.c - imp_dummy_def - +Modules/_testmultiphase.c - Example_Type_slots - +Modules/_testmultiphase.c - StateAccessType_Type_slots - +Modules/_testmultiphase.c - Str_Type_slots - +Modules/_testmultiphase.c - main_slots - +Modules/_testmultiphase.c - slots_create_nonmodule - +Modules/_testmultiphase.c - slots_bad_large - +Modules/_testmultiphase.c - slots_bad_negative - +Modules/_testmultiphase.c - slots_create_null - +Modules/_testmultiphase.c - slots_create_raise - +Modules/_testmultiphase.c - slots_create_unreported_exception - +Modules/_testmultiphase.c - slots_nonmodule_with_exec_slots - +Modules/_testmultiphase.c - slots_exec_err - +Modules/_testmultiphase.c - slots_exec_raise - +Modules/_testmultiphase.c - slots_exec_unreported_exception - +Modules/_testmultiphase.c - meth_state_access_slots - +Modules/_testmultiphase.c - Example_methods - +Modules/_testmultiphase.c - StateAccessType_methods - +Modules/_testmultiphase.c - testexport_methods - +Modules/_testmultiphase.c - nonmodule_methods - +Modules/_testmultiphase.c - Example_Type_spec - +Modules/_testmultiphase.c - StateAccessType_spec - +Modules/_testmultiphase.c - Str_Type_spec - +Modules/_xxtestfuzz/_xxtestfuzz.c - module_methods - +Modules/_xxtestfuzz/_xxtestfuzz.c - _fuzzmodule - +Modules/_xxtestfuzz/fuzzer.c - csv_module - +Modules/_xxtestfuzz/fuzzer.c - regex_patterns - +Modules/_xxtestfuzz/fuzzer.c - struct_unpack_method - +Modules/_xxtestfuzz/fuzzer.c - struct_error - +Modules/_xxtestfuzz/fuzzer.c - json_loads_method - +Modules/_xxtestfuzz/fuzzer.c - sre_compile_method - +Modules/_xxtestfuzz/fuzzer.c - sre_error_exception - +Modules/_xxtestfuzz/fuzzer.c - compiled_patterns - +Modules/_xxtestfuzz/fuzzer.c - csv_error - +Modules/_xxtestfuzz/fuzzer.c - SRE_FLAG_DEBUG - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput STRUCT_UNPACK_INITIALIZED - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput JSON_LOADS_INITIALIZED - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput SRE_COMPILE_INITIALIZED - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput SRE_MATCH_INITIALIZED - +Modules/_xxtestfuzz/fuzzer.c LLVMFuzzerTestOneInput CSV_READER_INITIALIZED - + + +################################## +# temporary whitelist - should be const + +# These are all variables that we will be making non-global. + +#----------------------- +# keywords for PyArg_ParseTupleAndKeywords() +# "static char *name[]" -> "static const char * const name[]" +# [] + +Modules/cjkcodecs/multibytecodec.c - incnewkwarglist - +Modules/cjkcodecs/multibytecodec.c - streamkwarglist - +Modules/_csv.c - dialect_kws - +Modules/_datetimemodule.c date_fromisocalendar keywords - +Modules/_datetimemodule.c - date_kws - +Modules/_datetimemodule.c date_strftime keywords - +Modules/_datetimemodule.c datetime_astimezone keywords - +Modules/_datetimemodule.c datetime_combine keywords - +Modules/_datetimemodule.c datetime_fromtimestamp keywords - +Modules/_datetimemodule.c datetime_isoformat keywords - +Modules/_datetimemodule.c - datetime_kws - +Modules/_datetimemodule.c delta_new keywords - +Modules/_datetimemodule.c time_isoformat keywords - +Modules/_datetimemodule.c - time_kws - +Modules/_datetimemodule.c time_strftime keywords - +Modules/_datetimemodule.c - timezone_kws - +Modules/_decimal/_decimal.c context_init kwlist - +Modules/_decimal/_decimal.c ctxmanager_new kwlist - +Modules/_decimal/_decimal.c ctx_mpd_qpow kwlist - +Modules/_decimal/_decimal.c dec_mpd_class kwlist - +Modules/_decimal/_decimal.c dec_mpd_compare_total kwlist - +Modules/_decimal/_decimal.c dec_mpd_compare_total_mag kwlist - +Modules/_decimal/_decimal.c dec_mpd_isnormal kwlist - +Modules/_decimal/_decimal.c dec_mpd_issubnormal kwlist - +Modules/_decimal/_decimal.c dec_mpd_qand kwlist - +Modules/_decimal/_decimal.c dec_mpd_qcompare kwlist - +Modules/_decimal/_decimal.c dec_mpd_qcompare_signal kwlist - +Modules/_decimal/_decimal.c dec_mpd_qcopy_sign kwlist - +Modules/_decimal/_decimal.c dec_mpd_qexp kwlist - +Modules/_decimal/_decimal.c dec_mpd_qfma kwlist - +Modules/_decimal/_decimal.c dec_mpd_qinvert kwlist - +Modules/_decimal/_decimal.c dec_mpd_qln kwlist - +Modules/_decimal/_decimal.c dec_mpd_qlog10 kwlist - +Modules/_decimal/_decimal.c dec_mpd_qlogb kwlist - +Modules/_decimal/_decimal.c dec_mpd_qmax kwlist - +Modules/_decimal/_decimal.c dec_mpd_qmax_mag kwlist - +Modules/_decimal/_decimal.c dec_mpd_qmin kwlist - +Modules/_decimal/_decimal.c dec_mpd_qmin_mag kwlist - +Modules/_decimal/_decimal.c dec_mpd_qnext_minus kwlist - +Modules/_decimal/_decimal.c dec_mpd_qnext_plus kwlist - +Modules/_decimal/_decimal.c dec_mpd_qnext_toward kwlist - +Modules/_decimal/_decimal.c dec_mpd_qor kwlist - +Modules/_decimal/_decimal.c dec_mpd_qquantize kwlist - +Modules/_decimal/_decimal.c dec_mpd_qreduce kwlist - +Modules/_decimal/_decimal.c dec_mpd_qrem_near kwlist - +Modules/_decimal/_decimal.c dec_mpd_qrotate kwlist - +Modules/_decimal/_decimal.c dec_mpd_qscaleb kwlist - +Modules/_decimal/_decimal.c dec_mpd_qshift kwlist - +Modules/_decimal/_decimal.c dec_mpd_qsqrt kwlist - +Modules/_decimal/_decimal.c dec_mpd_qxor kwlist - +Modules/_decimal/_decimal.c dec_mpd_same_quantum kwlist - +Modules/_decimal/_decimal.c dec_mpd_to_eng kwlist - +Modules/_decimal/_decimal.c dec_new kwlist - +Modules/_decimal/_decimal.c PyDec_ToIntegralExact kwlist - +Modules/_decimal/_decimal.c PyDec_ToIntegralValue kwlist - +Modules/_elementtree.c element_setstate_from_Python kwlist - +Modules/faulthandler.c faulthandler_dump_traceback_later kwlist - +Modules/faulthandler.c faulthandler_dump_traceback_py kwlist - +Modules/faulthandler.c faulthandler_py_enable kwlist - +Modules/faulthandler.c faulthandler_register_py kwlist - +Modules/_functoolsmodule.c functools_cmp_to_key kwargs - +Modules/_functoolsmodule.c keyobject_call kwargs - +Modules/_functoolsmodule.c lru_cache_new keywords - +Modules/itertoolsmodule.c repeat_new kwargs - +Modules/_json.c encoder_call kwlist - +Modules/_json.c encoder_new kwlist - +Modules/_json.c scanner_call kwlist - +Modules/_json.c scanner_new kwlist - +Modules/_lsprof.c profiler_enable kwlist - +Modules/_lsprof.c profiler_init kwlist - +Modules/_lzmamodule.c Compressor_init arg_names - +Modules/_lzmamodule.c parse_filter_spec_bcj optnames - +Modules/_lzmamodule.c parse_filter_spec_delta optnames - +Modules/_lzmamodule.c parse_filter_spec_lzma optnames - +Modules/mmapmodule.c new_mmap_object keywords - +Modules/nismodule.c nis_cat kwlist - +Modules/nismodule.c nis_maps kwlist - +Modules/nismodule.c nis_match kwlist - +Modules/signalmodule.c signal_set_wakeup_fd kwlist - +Modules/socketmodule.c sock_initobj keywords - +Modules/socketmodule.c sock_recvfrom_into kwlist - +Modules/socketmodule.c sock_recv_into kwlist - +Modules/socketmodule.c sock_sendmsg_afalg keywords - +Modules/socketmodule.c socket_getaddrinfo kwnames - +Modules/_sqlite/connection.c pysqlite_connection_backup keywords - +Modules/_sqlite/connection.c pysqlite_connection_create_aggregate kwlist - +Modules/_sqlite/connection.c pysqlite_connection_create_function kwlist - +Modules/_sqlite/connection.c pysqlite_connection_cursor kwlist - +Modules/_sqlite/connection.c pysqlite_connection_init kwlist - +Modules/_sqlite/connection.c pysqlite_connection_set_authorizer kwlist - +Modules/_sqlite/connection.c pysqlite_connection_set_progress_handler kwlist - +Modules/_sqlite/connection.c pysqlite_connection_set_trace_callback kwlist - +Modules/_sqlite/cursor.c pysqlite_cursor_fetchmany kwlist - +Modules/_sqlite/module.c module_complete kwlist - +Modules/_sqlite/module.c module_connect kwlist - +Modules/_sqlite/module.c module_enable_shared_cache kwlist - +Modules/syslogmodule.c syslog_openlog keywords - +Modules/_xxsubinterpretersmodule.c channel_close kwlist - +Modules/_xxsubinterpretersmodule.c channel_destroy kwlist - +Modules/_xxsubinterpretersmodule.c channelid_new kwlist - +Modules/_xxsubinterpretersmodule.c channel_list_interpreters kwlist - +Modules/_xxsubinterpretersmodule.c channel_recv kwlist - +Modules/_xxsubinterpretersmodule.c channel_release kwlist - +Modules/_xxsubinterpretersmodule.c channel_send kwlist - +Modules/_xxsubinterpretersmodule.c interp_create kwlist - +Modules/_xxsubinterpretersmodule.c interp_destroy kwlist - +Modules/_xxsubinterpretersmodule.c interp_is_running kwlist - +Modules/_xxsubinterpretersmodule.c interp_run_string kwlist - +Modules/_xxsubinterpretersmodule.c object_is_shareable kwlist - +Modules/_zoneinfo.c zoneinfo_clear_cache kwlist - +Modules/_zoneinfo.c zoneinfo_from_file kwlist - +Modules/_zoneinfo.c zoneinfo_new kwlist - +Modules/_zoneinfo.c zoneinfo_no_cache kwlist - +Objects/exceptions.c ImportError_init kwlist - +Objects/interpreteridobject.c interpid_new kwlist - +Objects/weakrefobject.c weakref_call kwlist - + +#----------------------- +# PyModuleDef_Slot +# [] + +Modules/_abc.c - _abcmodule_slots - +Modules/arraymodule.c - arrayslots - +Modules/atexitmodule.c - atexit_slots - +Modules/audioop.c - audioop_slots - +Modules/binascii.c - binascii_slots - +Modules/_blake2/blake2module.c - _blake2_slots - +Modules/cmathmodule.c - cmath_slots - +Modules/_codecsmodule.c - _codecs_slots - +Modules/_cryptmodule.c - _crypt_slots - +Modules/_curses_panel.c - _curses_slots - +Modules/_dbmmodule.c - _dbmmodule_slots - +Modules/errnomodule.c - errno_slots - +Modules/faulthandler.c - faulthandler_slots - +Modules/fcntlmodule.c - fcntl_slots - +Modules/_gdbmmodule.c - _gdbm_module_slots - +Modules/_hashopenssl.c - hashlib_slots - +Modules/_json.c - _json_slots - +Modules/_lsprof.c - _lsprofslots - +Modules/_lzmamodule.c - lzma_slots - +Modules/mathmodule.c - math_slots - +Modules/md5module.c - _md5_slots - +Modules/mmapmodule.c - mmap_slots - +Modules/_multiprocessing/multiprocessing.c - multiprocessing_slots - +Modules/nismodule.c - nis_slots - +Modules/overlapped.c - overlapped_slots - +Modules/posixmodule.c - posixmodile_slots - +Modules/_scproxy.c - _scproxy_slots - +Modules/sha1module.c - _sha1_slots - +Modules/sha256module.c - _sha256_slots - +Modules/_sha3/sha3module.c - _sha3_slots - +Modules/sha512module.c - _sha512_slots - +Modules/_stat.c - stat_slots - +Modules/syslogmodule.c - syslog_slots - +Modules/termios.c - termios_slots - +Modules/unicodedata.c - unicodedata_slots - +Modules/_uuidmodule.c - uuid_slots - +Modules/_winapi.c - winapi_slots - +Modules/xxlimited.c - xx_slots - +Modules/zlibmodule.c - zlib_slots - +Modules/_zoneinfo.c - zoneinfomodule_slots - +Python/marshal.c - marshalmodule_slots - +Python/Python-ast.c - astmodule_slots - +Modules/_bz2module.c - _bz2_slots - +Modules/_collectionsmodule.c - collections_slots - +Modules/_contextvarsmodule.c - _contextvars_slots - +Modules/_functoolsmodule.c - _functools_slots - +Modules/_heapqmodule.c - heapq_slots - +Modules/itertoolsmodule.c - itertoolsmodule_slots - +Modules/_localemodule.c - _locale_slots - +Modules/_operator.c - operator_slots - +Modules/resource.c - resource_slots - +Modules/_statisticsmodule.c - _statisticsmodule_slots - +Modules/timemodule.c - time_slots - +Modules/_weakref.c - weakref_slots - +Modules/xxmodule.c - xx_slots - +Modules/xxsubtype.c - xxsubtype_slots - + +#----------------------- +# PyMethodDef and PyMethodDef[], for static types and modules +# [] + +Modules/_abc.c - _destroy_def - +Modules/_abc.c - _abcmodule_methods - +Modules/arraymodule.c - array_methods - +Modules/arraymodule.c - arrayiter_methods - +Modules/arraymodule.c - a_methods - +Modules/_asynciomodule.c - FutureType_methods - +Modules/_asynciomodule.c - FutureIter_methods - +Modules/_asynciomodule.c - TaskType_methods - +Modules/_asynciomodule.c - asyncio_methods - +Modules/_asynciomodule.c - TaskWakeupDef - +Modules/atexitmodule.c - atexit_methods - +Modules/audioop.c - audioop_methods - +Modules/binascii.c - binascii_module_methods - +Modules/_bisectmodule.c - bisect_methods - +Modules/_blake2/blake2b_impl.c - py_blake2b_methods - +Modules/_blake2/blake2module.c - blake2mod_functions - +Modules/_blake2/blake2s_impl.c - py_blake2s_methods - +Modules/_bz2module.c - BZ2Compressor_methods - +Modules/_bz2module.c - BZ2Decompressor_methods - +Modules/cjkcodecs/multibytecodec.c - multibytecodec_methods - +Modules/cjkcodecs/multibytecodec.c - mbiencoder_methods - +Modules/cjkcodecs/multibytecodec.c - mbidecoder_methods - +Modules/cjkcodecs/multibytecodec.c - mbstreamreader_methods - +Modules/cjkcodecs/multibytecodec.c - mbstreamwriter_methods - +Modules/cjkcodecs/multibytecodec.c - __methods - +Modules/cmathmodule.c - cmath_methods - +Modules/_codecsmodule.c - _codecs_functions - +Modules/_collectionsmodule.c - deque_methods - +Modules/_collectionsmodule.c - dequeiter_methods - +Modules/_collectionsmodule.c - defdict_methods - +Modules/_collectionsmodule.c - tuplegetter_methods - +Modules/_collectionsmodule.c - collections_methods - +Modules/_contextvarsmodule.c - _contextvars_methods - +Modules/_cryptmodule.c - crypt_methods - +Modules/_csv.c - Reader_methods - +Modules/_csv.c - Writer_methods - +Modules/_csv.c - csv_methods - +Modules/_ctypes/callproc.c - _ctypes_module_methods - +Modules/_ctypes/_ctypes.c - CDataType_methods - +Modules/_ctypes/_ctypes.c - PyCPointerType_methods - +Modules/_ctypes/_ctypes.c - c_void_p_method - +Modules/_ctypes/_ctypes.c - c_char_p_method - +Modules/_ctypes/_ctypes.c - c_wchar_p_method - +Modules/_ctypes/_ctypes.c - PyCSimpleType_methods - +Modules/_ctypes/_ctypes.c - PyCData_methods - +Modules/_ctypes/_ctypes.c - Array_methods - +Modules/_ctypes/_ctypes.c - Simple_methods - +Modules/_ctypes/stgdict.c - PyCStgDict_methods - +Modules/_cursesmodule.c - PyCursesWindow_Methods - +Modules/_cursesmodule.c - PyCurses_methods - +Modules/_curses_panel.c - PyCursesPanel_Methods - +Modules/_curses_panel.c - PyCurses_methods - +Modules/_datetimemodule.c - delta_methods - +Modules/_datetimemodule.c - iso_calendar_date_methods - +Modules/_datetimemodule.c - date_methods - +Modules/_datetimemodule.c - tzinfo_methods - +Modules/_datetimemodule.c - timezone_methods - +Modules/_datetimemodule.c - time_methods - +Modules/_datetimemodule.c - datetime_methods - +Modules/_datetimemodule.c - module_methods - +Modules/_dbmmodule.c - dbm_methods - +Modules/_dbmmodule.c - dbmmodule_methods - +Modules/_decimal/_decimal.c - signaldict_methods - +Modules/_decimal/_decimal.c - ctxmanager_methods - +Modules/_decimal/_decimal.c - dec_methods - +Modules/_decimal/_decimal.c - context_methods - +Modules/_decimal/_decimal.c - _decimal_methods - +Modules/_elementtree.c - element_methods - +Modules/_elementtree.c - treebuilder_methods - +Modules/_elementtree.c - xmlparser_methods - +Modules/_elementtree.c - _functions - +Modules/errnomodule.c - errno_methods - +Modules/faulthandler.c - module_methods - +Modules/fcntlmodule.c - fcntl_methods - +Modules/_functoolsmodule.c - partial_methods - +Modules/_functoolsmodule.c - lru_cache_methods - +Modules/_functoolsmodule.c - _functools_methods - +Modules/gcmodule.c - GcMethods - +Modules/_gdbmmodule.c - gdbm_methods - +Modules/_gdbmmodule.c - _gdbm_module_methods - +Modules/grpmodule.c - grp_methods - +Modules/_hashopenssl.c - EVP_methods - +Modules/_hashopenssl.c - EVPXOF_methods - +Modules/_hashopenssl.c - HMAC_methods - +Modules/_hashopenssl.c - EVP_functions - +Modules/_heapqmodule.c - heapq_methods - +Modules/_io/bufferedio.c - bufferediobase_methods - +Modules/_io/bufferedio.c - bufferedreader_methods - +Modules/_io/bufferedio.c - bufferedwriter_methods - +Modules/_io/bufferedio.c - bufferedrwpair_methods - +Modules/_io/bufferedio.c - bufferedrandom_methods - +Modules/_io/bytesio.c - bytesio_methods - +Modules/_io/fileio.c - fileio_methods - +Modules/_io/iobase.c - iobase_methods - +Modules/_io/iobase.c - rawiobase_methods - +Modules/_io/_iomodule.c - module_methods - +Modules/_io/stringio.c - stringio_methods - +Modules/_io/textio.c - textiobase_methods - +Modules/_io/textio.c - incrementalnewlinedecoder_methods - +Modules/_io/textio.c - textiowrapper_methods - +Modules/_io/winconsoleio.c - winconsoleio_methods - +Modules/itertoolsmodule.c - groupby_methods - +Modules/itertoolsmodule.c - _grouper_methods - +Modules/itertoolsmodule.c - teedataobject_methods - +Modules/itertoolsmodule.c - tee_methods - +Modules/itertoolsmodule.c - cycle_methods - +Modules/itertoolsmodule.c - dropwhile_methods - +Modules/itertoolsmodule.c - takewhile_reduce_methods - +Modules/itertoolsmodule.c - islice_methods - +Modules/itertoolsmodule.c - starmap_methods - +Modules/itertoolsmodule.c - chain_methods - +Modules/itertoolsmodule.c - product_methods - +Modules/itertoolsmodule.c - combinations_methods - +Modules/itertoolsmodule.c - cwr_methods - +Modules/itertoolsmodule.c - permuations_methods - +Modules/itertoolsmodule.c - accumulate_methods - +Modules/itertoolsmodule.c - compress_methods - +Modules/itertoolsmodule.c - filterfalse_methods - +Modules/itertoolsmodule.c - count_methods - +Modules/itertoolsmodule.c - repeat_methods - +Modules/itertoolsmodule.c - zip_longest_methods - +Modules/itertoolsmodule.c - module_methods - +Modules/_json.c - speedups_methods - +Modules/_localemodule.c - PyLocale_Methods - +Modules/_lsprof.c - profiler_methods - +Modules/_lsprof.c - moduleMethods - +Modules/_lzmamodule.c - Compressor_methods - +Modules/_lzmamodule.c - Decompressor_methods - +Modules/_lzmamodule.c - lzma_methods - +Modules/mathmodule.c - math_methods - +Modules/md5module.c - MD5_methods - +Modules/md5module.c - MD5_functions - +Modules/mmapmodule.c - mmap_object_methods - +Modules/_multiprocessing/multiprocessing.c - module_methods - +Modules/_multiprocessing/posixshmem.c - module_methods - +Modules/_multiprocessing/semaphore.c - semlock_methods - +Modules/nismodule.c - nis_methods - +Modules/_opcode.c - opcode_functions - +Modules/_operator.c - operator_methods - +Modules/_operator.c - itemgetter_methods - +Modules/_operator.c - attrgetter_methods - +Modules/_operator.c - methodcaller_methods - +Modules/ossaudiodev.c - oss_methods - +Modules/ossaudiodev.c - oss_mixer_methods - +Modules/ossaudiodev.c - ossaudiodev_methods - +Modules/overlapped.c - Overlapped_methods - +Modules/overlapped.c - overlapped_functions - +Modules/_pickle.c - Pickler_methods - +Modules/_pickle.c - picklerproxy_methods - +Modules/_pickle.c - Unpickler_methods - +Modules/_pickle.c - unpicklerproxy_methods - +Modules/_pickle.c - pickle_methods - +Modules/posixmodule.c - DirEntry_methods - +Modules/posixmodule.c - ScandirIterator_methods - +Modules/posixmodule.c - posix_methods - +Modules/_posixsubprocess.c - module_methods - +Modules/pwdmodule.c - pwd_methods - +Modules/pyexpat.c - xmlparse_methods - +Modules/pyexpat.c - pyexpat_methods - +Modules/_queuemodule.c - simplequeue_methods - +Modules/_randommodule.c - random_methods - +Modules/readline.c - readline_methods - +Modules/resource.c - resource_methods - +Modules/_scproxy.c - mod_methods - +Modules/selectmodule.c - poll_methods - +Modules/selectmodule.c - devpoll_methods - +Modules/selectmodule.c - pyepoll_methods - +Modules/selectmodule.c - kqueue_queue_methods - +Modules/selectmodule.c - select_methods - +Modules/sha1module.c - SHA1_methods - +Modules/sha1module.c - SHA1_functions - +Modules/sha256module.c - SHA_methods - +Modules/sha256module.c - SHA_functions - +Modules/_sha3/sha3module.c - SHA3_methods - +Modules/_sha3/sha3module.c - SHAKE_methods - +Modules/sha512module.c - SHA_methods - +Modules/sha512module.c - SHA_functions - +Modules/signalmodule.c - signal_methods - +Modules/socketmodule.c - sock_methods - +Modules/socketmodule.c - socket_methods - +Modules/spwdmodule.c - spwd_methods - +Modules/_sqlite/cache.c - cache_methods - +Modules/_sqlite/connection.c - connection_methods - +Modules/_sqlite/cursor.c - cursor_methods - +Modules/_sqlite/module.c - module_methods - +Modules/_sqlite/row.c - row_methods - +Modules/_sre.c - pattern_methods - +Modules/_sre.c - match_methods - +Modules/_sre.c - scanner_methods - +Modules/_sre.c - _functions - +Modules/_ssl.c - PySSLMethods - +Modules/_ssl.c - context_methods - +Modules/_ssl.c - memory_bio_methods - +Modules/_ssl.c - PySSL_methods - +Modules/_stat.c - stat_methods - +Modules/_statisticsmodule.c - statistics_methods - +Modules/_struct.c - unpackiter_methods - +Modules/_struct.c - s_methods - +Modules/_struct.c - module_functions - +Modules/symtablemodule.c - symtable_methods - +Modules/syslogmodule.c - syslog_methods - +Modules/termios.c - termios_methods - +Modules/_threadmodule.c - lock_methods - +Modules/_threadmodule.c - rlock_methods - +Modules/_threadmodule.c local_new wr_callback_def - +Modules/_threadmodule.c - thread_methods - +Modules/timemodule.c - time_methods - +Modules/_tkinter.c - Tktt_methods - +Modules/_tkinter.c - Tkapp_methods - +Modules/_tkinter.c - moduleMethods - +Modules/_tracemalloc.c - module_methods - +Modules/unicodedata.c - unicodedata_functions - +Modules/_uuidmodule.c - uuid_methods - +Modules/_weakref.c - weakref_functions - +Modules/_winapi.c - overlapped_methods - +Modules/_winapi.c - winapi_functions - +Modules/xxlimited.c - Xxo_methods - +Modules/xxlimited.c - xx_methods - +Modules/xxmodule.c - Xxo_methods - +Modules/xxmodule.c - xx_methods - +Modules/_xxsubinterpretersmodule.c - module_functions - +Modules/xxsubtype.c - spamlist_methods - +Modules/xxsubtype.c - spamdict_methods - +Modules/xxsubtype.c - xxsubtype_functions - +Modules/zlibmodule.c - comp_methods - +Modules/zlibmodule.c - Decomp_methods - +Modules/zlibmodule.c - zlib_methods - +Modules/_zoneinfo.c - zoneinfo_methods - +Modules/_zoneinfo.c - module_methods - +Modules/cjkcodecs/cjkcodecs.h - __methods - +Objects/bytearrayobject.c - bytearray_methods - +Objects/bytearrayobject.c - bytearrayiter_methods - +Objects/bytesobject.c - bytes_methods - +Objects/bytesobject.c - striter_methods - +Objects/classobject.c - method_methods - +Objects/codeobject.c - code_methods - +Objects/complexobject.c - complex_methods - +Objects/descrobject.c - descr_methods - +Objects/descrobject.c - mappingproxy_methods - +Objects/descrobject.c - wrapper_methods - +Objects/descrobject.c - property_methods - +Objects/dictobject.c - mapp_methods - +Objects/dictobject.c - dictiter_methods - +Objects/dictobject.c - dictkeys_methods - +Objects/dictobject.c - dictitems_methods - +Objects/dictobject.c - dictvalues_methods - +Objects/enumobject.c - enum_methods - +Objects/enumobject.c - reversediter_methods - +Objects/exceptions.c - BaseException_methods - +Objects/exceptions.c - ImportError_methods - +Objects/exceptions.c - OSError_methods - +Objects/fileobject.c - stdprinter_methods - +Objects/floatobject.c - float_methods - +Objects/frameobject.c - frame_methods - +Objects/genericaliasobject.c - ga_methods - +Objects/genobject.c - gen_methods - +Objects/genobject.c - coro_methods - +Objects/genobject.c - coro_wrapper_methods - +Objects/genobject.c - async_gen_methods - +Objects/genobject.c - async_gen_asend_methods - +Objects/genobject.c - async_gen_athrow_methods - +Objects/iterobject.c - seqiter_methods - +Objects/iterobject.c - calliter_methods - +Objects/listobject.c - list_methods - +Objects/listobject.c - listiter_methods - +Objects/listobject.c - listreviter_methods - +Objects/longobject.c - long_methods - +Objects/memoryobject.c - memory_methods - +Objects/methodobject.c - meth_methods - +Objects/moduleobject.c - module_methods - +Objects/namespaceobject.c - namespace_methods - +Objects/object.c - notimplemented_methods - +Objects/odictobject.c - odict_methods - +Objects/odictobject.c - odictiter_methods - +Objects/odictobject.c - odictkeys_methods - +Objects/odictobject.c - odictitems_methods - +Objects/odictobject.c - odictvalues_methods - +Objects/picklebufobject.c - picklebuf_methods - +Objects/rangeobject.c - range_methods - +Objects/rangeobject.c - rangeiter_methods - +Objects/rangeobject.c - longrangeiter_methods - +Objects/setobject.c - setiter_methods - +Objects/setobject.c - set_methods - +Objects/setobject.c - frozenset_methods - +Objects/sliceobject.c - ellipsis_methods - +Objects/sliceobject.c - slice_methods - +Objects/structseq.c - structseq_methods - +Objects/tupleobject.c - tuple_methods - +Objects/tupleobject.c - tupleiter_methods - +Objects/typeobject.c - type_methods - +Objects/typeobject.c - object_methods - +Objects/typeobject.c - tp_new_methoddef - +Objects/unicodeobject.c - encoding_map_methods - +Objects/unicodeobject.c - unicode_methods - +Objects/unicodeobject.c - unicodeiter_methods - +Objects/unicodeobject.c - _string_methods - +Objects/unionobject.c - union_methods - +Objects/weakrefobject.c - weakref_methods - +Objects/weakrefobject.c - proxy_methods - +Objects/stringlib/unicode_format.h - formatteriter_methods - +Objects/stringlib/unicode_format.h - fieldnameiter_methods - +Python/bltinmodule.c - filter_methods - +Python/bltinmodule.c - map_methods - +Python/bltinmodule.c - zip_methods - +Python/bltinmodule.c - builtin_methods - +Python/context.c - PyContext_methods - +Python/context.c - PyContextVar_methods - +Python/context.c - PyContextTokenType_methods - +Python/hamt.c - PyHamt_methods - +Python/import.c - imp_methods - +Python/marshal.c - marshal_methods - +Python/Python-ast.c - ast_type_methods - +Python/sysmodule.c - sys_methods - +Python/traceback.c - tb_methods - +Python/_warnings.c - warnings_functions - + +#----------------------- +# PyMemberDef[], for static types and strucseq +# [] + +Modules/_bz2module.c - BZ2Decompressor_members - +Modules/cjkcodecs/multibytecodec.c - mbstreamreader_members - +Modules/cjkcodecs/multibytecodec.c - mbstreamwriter_members - +Modules/_collectionsmodule.c - defdict_members - +Modules/_collectionsmodule.c - tuplegetter_members - +Modules/_csv.c - Dialect_memberlist - +Modules/_csv.c - Reader_memberlist - +Modules/_csv.c - Writer_memberlist - +Modules/_ctypes/callproc.c - PyCArgType_members - +Modules/_ctypes/_ctypes.c - PyCData_members - +Modules/_datetimemodule.c - delta_members - +Modules/_elementtree.c - xmlparser_members - +Modules/_functoolsmodule.c - partial_memberlist - +Modules/_functoolsmodule.c - keyobject_members - +Modules/_io/bufferedio.c - bufferedreader_members - +Modules/_io/bufferedio.c - bufferedwriter_members - +Modules/_io/bufferedio.c - bufferedrandom_members - +Modules/_io/fileio.c - fileio_members - +Modules/_io/textio.c - textiowrapper_members - +Modules/_io/winconsoleio.c - winconsoleio_members - +Modules/_json.c - scanner_members - +Modules/_json.c - encoder_members - +Modules/_lzmamodule.c - Decompressor_members - +Modules/_multiprocessing/semaphore.c - semlock_members - +Modules/ossaudiodev.c - oss_members - +Modules/overlapped.c - Overlapped_members - +Modules/_pickle.c - Pickler_members - +Modules/posixmodule.c - DirEntry_members - +Modules/pyexpat.c - xmlparse_members - +Modules/selectmodule.c - kqueue_event_members - +Modules/sha256module.c - SHA_members - +Modules/sha512module.c - SHA_members - +Modules/socketmodule.c - sock_memberlist - +Modules/_sqlite/connection.c - connection_members - +Modules/_sqlite/cursor.c - cursor_members - +Modules/_sqlite/statement.c - stmt_members - +Modules/_sre.c - pattern_members - +Modules/_sre.c - match_members - +Modules/_sre.c - scanner_members - +Modules/_struct.c - s_members - +Modules/unicodedata.c - DB_members - +Modules/_winapi.c - overlapped_members - +Modules/xxsubtype.c - spamdict_members - +Modules/zlibmodule.c - Decomp_members - +Modules/_zoneinfo.c - zoneinfo_members - +Objects/classobject.c - method_memberlist - +Objects/classobject.c - instancemethod_memberlist - +Objects/codeobject.c - code_memberlist - +Objects/complexobject.c - complex_members - +Objects/descrobject.c - descr_members - +Objects/descrobject.c - wrapper_members - +Objects/descrobject.c - property_members - +Objects/exceptions.c - BaseException_members - +Objects/exceptions.c - StopIteration_members - +Objects/exceptions.c - SystemExit_members - +Objects/exceptions.c - ImportError_members - +Objects/exceptions.c - OSError_members - +Objects/exceptions.c - SyntaxError_members - +Objects/exceptions.c - UnicodeError_members - +Objects/frameobject.c - frame_memberlist - +Objects/funcobject.c - func_memberlist - +Objects/funcobject.c - cm_memberlist - +Objects/funcobject.c - sm_memberlist - +Objects/genericaliasobject.c - ga_members - +Objects/genobject.c - gen_memberlist - +Objects/genobject.c - coro_memberlist - +Objects/genobject.c - async_gen_memberlist - +Objects/methodobject.c - meth_members - +Objects/moduleobject.c - module_members - +Objects/namespaceobject.c - namespace_members - +Objects/rangeobject.c - range_members - +Objects/sliceobject.c - slice_members - +Objects/typeobject.c - type_members - +Objects/typeobject.c - super_members - +Objects/unionobject.c - union_members - +Objects/weakrefobject.c - weakref_members - +Python/context.c - PyContextVar_members - +Python/Python-ast.c - ast_type_members - +Python/symtable.c - ste_memberlist - +Python/traceback.c - tb_memberlist - + +#----------------------- +# for static types +# [] + +# PyNumberMethods [] +Modules/_collectionsmodule.c - deque_as_number - +Modules/_collectionsmodule.c - defdict_as_number - +Modules/_ctypes/_ctypes.c - PyCFuncPtr_as_number - +Modules/_ctypes/_ctypes.c - Simple_as_number - +Modules/_ctypes/_ctypes.c - Pointer_as_number - +Modules/_datetimemodule.c - delta_as_number - +Modules/_datetimemodule.c - date_as_number - +Modules/_datetimemodule.c - datetime_as_number - +Modules/_decimal/_decimal.c - dec_number_methods - +Modules/_xxsubinterpretersmodule.c - channelid_as_number - +Objects/boolobject.c - bool_as_number - +Objects/bytearrayobject.c - bytearray_as_number - +Objects/bytesobject.c - bytes_as_number - +Objects/complexobject.c - complex_as_number - +Objects/descrobject.c - mappingproxy_as_number - +Objects/dictobject.c - dict_as_number - +Objects/dictobject.c - dictviews_as_number - +Objects/floatobject.c - float_as_number - +Objects/interpreteridobject.c - interpid_as_number - +Objects/longobject.c - long_as_number - +Objects/object.c - none_as_number - +Objects/object.c - notimplemented_as_number - +Objects/odictobject.c - odict_as_number - +Objects/rangeobject.c - range_as_number - +Objects/setobject.c - set_as_number - +Objects/setobject.c - frozenset_as_number - +Objects/typeobject.c - type_as_number - +Objects/unicodeobject.c - unicode_as_number - +Objects/unionobject.c - union_as_number - +Objects/weakrefobject.c - proxy_as_number - + +# PySequenceMethods [] +Modules/arraymodule.c - array_as_sequence - +Modules/_collectionsmodule.c - deque_as_sequence - +Modules/_ctypes/_ctypes.c - CDataType_as_sequence - +Modules/_ctypes/_ctypes.c - Array_as_sequence - +Modules/_ctypes/_ctypes.c - Pointer_as_sequence - +Modules/_elementtree.c - element_as_sequence - +Modules/mmapmodule.c - mmap_as_sequence - +Objects/bytearrayobject.c - bytearray_as_sequence - +Objects/bytesobject.c - bytes_as_sequence - +Objects/descrobject.c - mappingproxy_as_sequence - +Objects/dictobject.c - dict_as_sequence - +Objects/dictobject.c - dictkeys_as_sequence - +Objects/dictobject.c - dictitems_as_sequence - +Objects/dictobject.c - dictvalues_as_sequence - +Objects/listobject.c - list_as_sequence - +Objects/memoryobject.c - memory_as_sequence - +Objects/rangeobject.c - range_as_sequence - +Objects/setobject.c - set_as_sequence - +Objects/tupleobject.c - tuple_as_sequence - +Objects/unicodeobject.c - unicode_as_sequence - +Objects/weakrefobject.c - proxy_as_sequence - +Python/context.c - PyContext_as_sequence - +Python/hamt.c - PyHamt_as_sequence - + +# PyMappingMethods [] +Modules/arraymodule.c - array_as_mapping - +Modules/_ctypes/_ctypes.c - Array_as_mapping - +Modules/_ctypes/_ctypes.c - Pointer_as_mapping - +Modules/_decimal/_decimal.c - signaldict_as_mapping - +Modules/_elementtree.c - element_as_mapping - +Modules/mmapmodule.c - mmap_as_mapping - +Modules/_sre.c - match_as_mapping - +Objects/bytearrayobject.c - bytearray_as_mapping - +Objects/bytesobject.c - bytes_as_mapping - +Objects/descrobject.c - mappingproxy_as_mapping - +Objects/dictobject.c - dict_as_mapping - +Objects/genericaliasobject.c - ga_as_mapping - +Objects/listobject.c - list_as_mapping - +Objects/memoryobject.c - memory_as_mapping - +Objects/odictobject.c - odict_as_mapping - +Objects/rangeobject.c - range_as_mapping - +Objects/tupleobject.c - tuple_as_mapping - +Objects/unicodeobject.c - unicode_as_mapping - +Objects/weakrefobject.c - proxy_as_mapping - +Python/context.c - PyContext_as_mapping - +Python/hamt.c - PyHamtIterator_as_mapping - +Python/hamt.c - PyHamt_as_mapping - + +# PyAsyncMethods [] +Modules/_asynciomodule.c - FutureType_as_async - +Objects/genobject.c - coro_as_async - +Objects/genobject.c - async_gen_as_async - +Objects/genobject.c - async_gen_asend_as_async - +Objects/genobject.c - async_gen_athrow_as_async - + +# PyBufferProcs [] +Modules/arraymodule.c - array_as_buffer - +Modules/_ctypes/_ctypes.c - PyCData_as_buffer - +Modules/_io/bytesio.c - bytesiobuf_as_buffer - +Modules/mmapmodule.c - mmap_as_buffer - +Objects/bytearrayobject.c - bytearray_as_buffer - +Objects/bytesobject.c - bytes_as_buffer - +Objects/memoryobject.c - memory_as_buffer - +Objects/picklebufobject.c - picklebuf_as_buffer - + +# PyGetSetDef [] +Modules/arraymodule.c - array_getsets - +Modules/_asynciomodule.c - FutureType_getsetlist - +Modules/_asynciomodule.c - TaskStepMethWrapper_getsetlist - +Modules/_asynciomodule.c - TaskType_getsetlist - +Modules/_blake2/blake2b_impl.c - py_blake2b_getsetters - +Modules/_blake2/blake2s_impl.c - py_blake2s_getsetters - +Modules/cjkcodecs/multibytecodec.c - codecctx_getsets - +Modules/_collectionsmodule.c - deque_getset - +Modules/_csv.c - Dialect_getsetlist - +Modules/_ctypes/cfield.c - PyCField_getset - +Modules/_ctypes/_ctypes.c - CharArray_getsets - +Modules/_ctypes/_ctypes.c - WCharArray_getsets - +Modules/_ctypes/_ctypes.c - PyCFuncPtr_getsets - +Modules/_ctypes/_ctypes.c - Simple_getsets - +Modules/_ctypes/_ctypes.c - Pointer_getsets - +Modules/_cursesmodule.c - PyCursesWindow_getsets - +Modules/_datetimemodule.c - date_getset - +Modules/_datetimemodule.c - iso_calendar_date_getset - +Modules/_datetimemodule.c - time_getset - +Modules/_datetimemodule.c - datetime_getset - +Modules/_decimal/_decimal.c - context_getsets - +Modules/_decimal/_decimal.c - dec_getsets - +Modules/_elementtree.c - xmlparser_getsetlist - +Modules/_elementtree.c - element_getsetlist - +Modules/_functoolsmodule.c - partial_getsetlist - +Modules/_functoolsmodule.c - lru_cache_getsetlist - +Modules/_hashopenssl.c - EVP_getseters - +Modules/_hashopenssl.c - EVPXOF_getseters - +Modules/_hashopenssl.c - HMAC_getset - +Modules/_io/bufferedio.c - bufferedreader_getset - +Modules/_io/bufferedio.c - bufferedwriter_getset - +Modules/_io/bufferedio.c - bufferedrwpair_getset - +Modules/_io/bufferedio.c - bufferedrandom_getset - +Modules/_io/bytesio.c - bytesio_getsetlist - +Modules/_io/fileio.c - fileio_getsetlist - +Modules/_io/iobase.c - iobase_getset - +Modules/_io/stringio.c - stringio_getset - +Modules/_io/textio.c - textiobase_getset - +Modules/_io/textio.c - incrementalnewlinedecoder_getset - +Modules/_io/textio.c - textiowrapper_getset - +Modules/_io/winconsoleio.c - winconsoleio_getsetlist - +Modules/md5module.c - MD5_getseters - +Modules/mmapmodule.c - mmap_object_getset - +Modules/ossaudiodev.c - oss_getsetlist - +Modules/overlapped.c - Overlapped_getsets - +Modules/_pickle.c - Pickler_getsets - +Modules/_pickle.c - Unpickler_getsets - +Modules/pyexpat.c - xmlparse_getsetlist - +Modules/selectmodule.c - devpoll_getsetlist - +Modules/selectmodule.c - pyepoll_getsetlist - +Modules/selectmodule.c - kqueue_queue_getsetlist - +Modules/sha1module.c - SHA1_getseters - +Modules/sha256module.c - SHA_getseters - +Modules/_sha3/sha3module.c - SHA3_getseters - +Modules/sha512module.c - SHA_getseters - +Modules/socketmodule.c - sock_getsetlist - +Modules/_sqlite/connection.c - connection_getset - +Modules/_sre.c - pattern_getset - +Modules/_sre.c - match_getset - +Modules/_ssl.c - ssl_getsetlist - +Modules/_ssl.c - context_getsetlist - +Modules/_ssl.c - memory_bio_getsetlist - +Modules/_ssl.c - PySSLSession_getsetlist - +Modules/_struct.c - s_getsetlist - +Modules/_tkinter.c - PyTclObject_getsetlist - +Modules/_xxsubinterpretersmodule.c - channelid_getsets - +Modules/xxsubtype.c - spamlist_getsets - +Objects/cellobject.c - cell_getsetlist - +Objects/classobject.c - method_getset - +Objects/classobject.c - instancemethod_getset - +Objects/descrobject.c - method_getset - +Objects/descrobject.c - member_getset - +Objects/descrobject.c - getset_getset - +Objects/descrobject.c - wrapperdescr_getset - +Objects/descrobject.c - wrapper_getsets - +Objects/descrobject.c - property_getsetlist - +Objects/dictobject.c - dictview_getset - +Objects/exceptions.c - BaseException_getset - +Objects/exceptions.c - OSError_getset - +Objects/fileobject.c - stdprinter_getsetlist - +Objects/floatobject.c - float_getset - +Objects/frameobject.c - frame_getsetlist - +Objects/funcobject.c - func_getsetlist - +Objects/funcobject.c - cm_getsetlist - +Objects/funcobject.c - sm_getsetlist - +Objects/genericaliasobject.c - ga_properties - +Objects/genobject.c - gen_getsetlist - +Objects/genobject.c - coro_getsetlist - +Objects/genobject.c - async_gen_getsetlist - +Objects/longobject.c - long_getset - +Objects/memoryobject.c - memory_getsetlist - +Objects/methodobject.c - meth_getsets - +Objects/odictobject.c - odict_getset - +Objects/typeobject.c - type_getsets - +Objects/typeobject.c - subtype_getsets_full - +Objects/typeobject.c - subtype_getsets_dict_only - +Objects/typeobject.c - subtype_getsets_weakref_only - +Objects/typeobject.c - object_getsets - +Python/context.c - PyContextTokenType_getsetlist - +Python/Python-ast.c - ast_type_getsets - +Python/traceback.c - tb_getsetters - + +#----------------------- +# for heap types +# [] + +# PyType_Slot [] +Modules/_abc.c - _abc_data_type_spec_slots - +Modules/_blake2/blake2b_impl.c - blake2b_type_slots - +Modules/_blake2/blake2s_impl.c - blake2s_type_slots - +Modules/_bz2module.c - bz2_compressor_type_slots - +Modules/_bz2module.c - bz2_decompressor_type_slots - +Modules/_curses_panel.c - PyCursesPanel_Type_slots - +Modules/_dbmmodule.c - dbmtype_spec_slots - +Modules/_gdbmmodule.c - gdbmtype_spec_slots - +Modules/_hashopenssl.c - EVPtype_slots - +Modules/_hashopenssl.c - EVPXOFtype_slots - +Modules/_hashopenssl.c - HMACtype_slots - +Modules/_json.c - PyScannerType_slots - +Modules/_json.c - PyEncoderType_slots - +Modules/_lsprof.c - _lsprof_profiler_type_spec_slots - +Modules/_lzmamodule.c - lzma_compressor_type_slots - +Modules/_lzmamodule.c - lzma_decompressor_type_slots - +Modules/md5module.c - md5_type_slots - +Modules/_operator.c - itemgetter_type_slots - +Modules/_operator.c - attrgetter_type_slots - +Modules/_operator.c - methodcaller_type_slots - +Modules/overlapped.c - overlapped_type_slots - +Modules/posixmodule.c - DirEntryType_slots - +Modules/posixmodule.c - ScandirIteratorType_slots - +Modules/_randommodule.c - Random_Type_slots - +Modules/selectmodule.c - devpoll_Type_slots - +Modules/selectmodule.c - kqueue_event_Type_slots - +Modules/selectmodule.c - poll_Type_slots - +Modules/selectmodule.c - pyEpoll_Type_slots - +Modules/selectmodule.c - kqueue_queue_Type_slots - +Modules/sha1module.c - sha1_type_slots - +Modules/sha256module.c - sha256_types_slots - +Modules/_sha3/sha3module.c - sha3_224_slots - +Modules/_sha3/sha3module.c - sha3_256_slots - +Modules/_sha3/sha3module.c - sha3_384_slots - +Modules/_sha3/sha3module.c - sha3_512_slots - +Modules/_sha3/sha3module.c - SHAKE128slots - +Modules/_sha3/sha3module.c - SHAKE256slots - +Modules/_sha3/sha3module.c - type_slots_obj - +Modules/sha512module.c - sha512_sha384_type_slots - +Modules/sha512module.c - sha512_sha512_type_slots - +Modules/_sqlite/cache.c - pysqlite_NodeType_slots - +Modules/_sqlite/cache.c - pysqlite_CacheType_slots - +Modules/_sqlite/connection.c - connection_slots - +Modules/_sqlite/cursor.c - cursor_slots - +Modules/_sqlite/prepare_protocol.c - type_slots - +Modules/_sqlite/row.c - row_slots - +Modules/_sqlite/statement.c - stmt_slots - +Modules/_ssl.c - sslerror_type_slots - +Modules/_struct.c - unpackiter_type_slots - +Modules/_struct.c - PyStructType_slots - +Modules/_tkinter.c - PyTclObject_Type_slots - +Modules/_tkinter.c - Tktt_Type_slots - +Modules/_tkinter.c - Tkapp_Type_slots - +Modules/unicodedata.c - ucd_type_slots - +Modules/_winapi.c - winapi_overlapped_type_slots - +Modules/xxlimited.c - Xxo_Type_slots - +Modules/xxlimited.c - Str_Type_slots - +Modules/xxlimited.c - Null_Type_slots - +Modules/zlibmodule.c - Comptype_slots - +Modules/zlibmodule.c - Decomptype_slots - +Python/Python-ast.c - AST_type_slots - + +# PyType_Spec [] +Modules/_abc.c - _abc_data_type_spec - +Modules/_blake2/blake2b_impl.c - blake2b_type_spec - +Modules/_blake2/blake2s_impl.c - blake2s_type_spec - +Modules/_bz2module.c - bz2_compressor_type_spec - +Modules/_bz2module.c - bz2_decompressor_type_spec - +Modules/_curses_panel.c - PyCursesPanel_Type_spec - +Modules/_dbmmodule.c - dbmtype_spec - +Modules/_gdbmmodule.c - gdbmtype_spec - +Modules/_hashopenssl.c - EVPtype_spec - +Modules/_hashopenssl.c - EVPXOFtype_spec - +Modules/_hashopenssl.c - HMACtype_spec - +Modules/_json.c - PyScannerType_spec - +Modules/_json.c - PyEncoderType_spec - +Modules/_lsprof.c - _lsprof_profiler_type_spec - +Modules/_lzmamodule.c - lzma_compressor_type_spec - +Modules/_lzmamodule.c - lzma_decompressor_type_spec - +Modules/_operator.c - itemgetter_type_spec - +Modules/_operator.c - attrgetter_type_spec - +Modules/_operator.c - methodcaller_type_spec - +Modules/_randommodule.c - Random_Type_spec - +Modules/_sha3/sha3module.c - sha3_224_spec - +Modules/_sha3/sha3module.c - sha3_256_spec - +Modules/_sha3/sha3module.c - sha3_384_spec - +Modules/_sha3/sha3module.c - sha3_512_spec - +Modules/_sha3/sha3module.c - SHAKE128_spec - +Modules/_sha3/sha3module.c - SHAKE256_spec - +Modules/_sha3/sha3module.c - type_spec_obj - +Modules/_sqlite/cache.c - pysqlite_NodeType_spec - +Modules/_sqlite/cache.c - pysqlite_CacheType_spec - +Modules/_sqlite/connection.c - connection_spec - +Modules/_sqlite/cursor.c - cursor_spec - +Modules/_sqlite/prepare_protocol.c - type_spec - +Modules/_sqlite/row.c - row_spec - +Modules/_sqlite/statement.c - stmt_spec - +Modules/_ssl.c - sslerror_type_spec - +Modules/_struct.c - unpackiter_type_spec - +Modules/_struct.c - PyStructType_spec - +Modules/_tkinter.c - PyTclObject_Type_spec - +Modules/_tkinter.c - Tktt_Type_spec - +Modules/_tkinter.c - Tkapp_Type_spec - +Modules/_winapi.c - winapi_overlapped_type_spec - +Modules/_zoneinfo.c - DAYS_IN_MONTH - +Modules/_zoneinfo.c - DAYS_BEFORE_MONTH - +Modules/md5module.c - md5_type_spec - +Modules/overlapped.c - overlapped_type_spec - +Modules/posixmodule.c - DirEntryType_spec - +Modules/posixmodule.c - ScandirIteratorType_spec - +Modules/selectmodule.c - devpoll_Type_spec - +Modules/selectmodule.c - kqueue_event_Type_spec - +Modules/selectmodule.c - poll_Type_spec - +Modules/selectmodule.c - pyEpoll_Type_spec - +Modules/selectmodule.c - kqueue_queue_Type_spec - +Modules/sha1module.c - sha1_type_spec - +Modules/sha256module.c - sha224_type_spec - +Modules/sha256module.c - sha256_type_spec - +Modules/sha512module.c - sha512_sha384_type_spec - +Modules/sha512module.c - sha512_sha512_type_spec - +Modules/unicodedata.c - ucd_type_spec - +Modules/xxlimited.c - Xxo_Type_spec - +Modules/xxlimited.c - Str_Type_spec - +Modules/xxlimited.c - Null_Type_spec - +Modules/zlibmodule.c - Comptype_spec - +Modules/zlibmodule.c - Decomptype_spec - +Python/Python-ast.c - AST_type_spec - + +#----------------------- +# for structseq +# [] + +# PyStructSequence_Field[] [] +Modules/_cursesmodule.c - ncurses_version_fields - +Modules/grpmodule.c - struct_group_type_fields - +Modules/_lsprof.c - profiler_entry_fields - +Modules/_lsprof.c - profiler_subentry_fields - +Modules/posixmodule.c - stat_result_fields - +Modules/posixmodule.c - statvfs_result_fields - +Modules/posixmodule.c - waitid_result_fields - +Modules/posixmodule.c - uname_result_fields - +Modules/posixmodule.c - sched_param_fields - +Modules/posixmodule.c - times_result_fields - +Modules/posixmodule.c - TerminalSize_fields - +Modules/pwdmodule.c - struct_pwd_type_fields - +Modules/resource.c - struct_rusage_fields - +Modules/signalmodule.c - struct_siginfo_fields - +Modules/spwdmodule.c - struct_spwd_type_fields - +Modules/_threadmodule.c - ExceptHookArgs_fields - +Modules/timemodule.c - struct_time_type_fields - +Objects/floatobject.c - floatinfo_fields - +Objects/longobject.c - int_info_fields - +Python/errors.c - UnraisableHookArgs_fields - +Python/sysmodule.c - asyncgen_hooks_fields - +Python/sysmodule.c - hash_info_fields - +Python/sysmodule.c - windows_version_fields - +Python/sysmodule.c - flags_fields - +Python/sysmodule.c - version_info_fields - +Python/thread.c - threadinfo_fields - + +# PyStructSequence_Desc [] +Modules/_cursesmodule.c - ncurses_version_desc - +Modules/grpmodule.c - struct_group_type_desc - +Modules/_lsprof.c - profiler_entry_desc - +Modules/_lsprof.c - profiler_subentry_desc - +Modules/posixmodule.c - stat_result_desc - +Modules/posixmodule.c - statvfs_result_desc - +Modules/posixmodule.c - waitid_result_desc - +Modules/posixmodule.c - uname_result_desc - +Modules/posixmodule.c - sched_param_desc - +Modules/posixmodule.c - times_result_desc - +Modules/posixmodule.c - TerminalSize_desc - +Modules/pwdmodule.c - struct_pwd_type_desc - +Modules/resource.c - struct_rusage_desc - +Modules/signalmodule.c - struct_siginfo_desc - +Modules/spwdmodule.c - struct_spwd_type_desc - +Modules/_threadmodule.c - ExceptHookArgs_desc - +Modules/timemodule.c - struct_time_type_desc - +Objects/floatobject.c - floatinfo_desc - +Objects/longobject.c - int_info_desc - +Python/errors.c - UnraisableHookArgs_desc - +Python/sysmodule.c - asyncgen_hooks_desc - +Python/sysmodule.c - hash_info_desc - +Python/sysmodule.c - windows_version_desc - +Python/sysmodule.c - flags_desc - +Python/sysmodule.c - version_info_desc - +Python/thread.c - threadinfo_desc - + +#----------------------- +# _PyArg_Parser +# [] + +Modules/clinic/md5module.c.h MD5Type_copy _parser - +Modules/clinic/md5module.c.h _md5_md5 _parser - +Modules/clinic/_dbmmodule.c.h _dbm_dbm_keys _parser - +Modules/clinic/_dbmmodule.c.h _dbm_dbm_get _parser - +Modules/clinic/_dbmmodule.c.h _dbm_dbm_setdefault _parser - +Modules/clinic/posixmodule.c.h os_stat _parser - +Modules/clinic/posixmodule.c.h os_lstat _parser - +Modules/clinic/posixmodule.c.h os_access _parser - +Modules/clinic/posixmodule.c.h os_chdir _parser - +Modules/clinic/posixmodule.c.h os_chmod _parser - +Modules/clinic/posixmodule.c.h os_listdir _parser - +Modules/clinic/posixmodule.c.h os_mkdir _parser - +Modules/clinic/posixmodule.c.h os_rename _parser - +Modules/clinic/posixmodule.c.h os_replace _parser - +Modules/clinic/posixmodule.c.h os_rmdir _parser - +Modules/clinic/posixmodule.c.h os_unlink _parser - +Modules/clinic/posixmodule.c.h os_remove _parser - +Modules/clinic/posixmodule.c.h os_utime _parser - +Modules/clinic/posixmodule.c.h os__exit _parser - +Modules/clinic/posixmodule.c.h os_open _parser - +Modules/clinic/posixmodule.c.h os_close _parser - +Modules/clinic/posixmodule.c.h os_dup2 _parser - +Modules/clinic/posixmodule.c.h os_fstat _parser - +Modules/clinic/posixmodule.c.h os_device_encoding _parser - +Modules/clinic/posixmodule.c.h os_DirEntry_is_symlink _parser - +Modules/clinic/posixmodule.c.h os_DirEntry_stat _parser - +Modules/clinic/posixmodule.c.h os_DirEntry_is_dir _parser - +Modules/clinic/posixmodule.c.h os_DirEntry_is_file _parser - +Modules/clinic/posixmodule.c.h os_scandir _parser - +Modules/clinic/posixmodule.c.h os_fspath _parser - +Modules/clinic/cmathmodule.c.h cmath_isclose _parser - +Modules/clinic/sha256module.c.h SHA256Type_copy _parser - +Modules/clinic/sha256module.c.h _sha256_sha256 _parser - +Modules/clinic/sha256module.c.h _sha256_sha224 _parser - +Modules/clinic/_hashopenssl.c.h EVP_new _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_md5 _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_sha1 _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_sha224 _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_sha256 _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_sha384 _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_openssl_sha512 _parser - +Modules/clinic/_hashopenssl.c.h pbkdf2_hmac _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_hmac_singleshot _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_hmac_new _parser - +Modules/clinic/_hashopenssl.c.h _hashlib_HMAC_update _parser - +Modules/clinic/_ssl.c.h _ssl__SSLSocket_get_channel_binding _parser - +Modules/clinic/_ssl.c.h _ssl__SSLContext_load_cert_chain _parser - +Modules/clinic/_ssl.c.h _ssl__SSLContext_load_verify_locations _parser - +Modules/clinic/_ssl.c.h _ssl__SSLContext__wrap_socket _parser - +Modules/clinic/_ssl.c.h _ssl__SSLContext__wrap_bio _parser - +Modules/clinic/_ssl.c.h _ssl__SSLContext_get_ca_certs _parser - +Modules/clinic/_ssl.c.h _ssl_txt2obj _parser - +Modules/clinic/_queuemodule.c.h _queue_SimpleQueue_put _parser - +Modules/clinic/_queuemodule.c.h _queue_SimpleQueue_put_nowait _parser - +Modules/clinic/_queuemodule.c.h _queue_SimpleQueue_get _parser - +Modules/clinic/_lsprof.c.h _lsprof_Profiler_getstats _parser - +Modules/clinic/_datetimemodule.c.h iso_calendar_date_new _parser - +Modules/clinic/_datetimemodule.c.h datetime_datetime_now _parser - +Modules/clinic/_opcode.c.h _opcode_stack_effect _parser - +Modules/clinic/_lzmamodule.c.h _lzma_LZMADecompressor_decompress _parser - +Modules/clinic/_lzmamodule.c.h _lzma_LZMADecompressor___init__ _parser - +Modules/clinic/pyexpat.c.h pyexpat_ParserCreate _parser - +Modules/clinic/mathmodule.c.h math_isclose _parser - +Modules/clinic/mathmodule.c.h math_prod _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_bottom _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_hide _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_show _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_top _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_move _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_replace _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_set_userptr _parser - +Modules/clinic/_curses_panel.c.h _curses_panel_panel_userptr _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_find _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_findtext _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_findall _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_iterfind _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_get _parser - +Modules/clinic/_elementtree.c.h _elementtree_Element_iter _parser - +Modules/clinic/_elementtree.c.h _elementtree_TreeBuilder___init__ _parser - +Modules/clinic/_elementtree.c.h _elementtree_XMLParser___init__ _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Future___init__ _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Future_add_done_callback _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Future_cancel _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Task___init__ _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Task_cancel _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Task_get_stack _parser - +Modules/clinic/_asynciomodule.c.h _asyncio_Task_print_stack _parser - +Modules/clinic/_asynciomodule.c.h _asyncio__register_task _parser - +Modules/clinic/_asynciomodule.c.h _asyncio__unregister_task _parser - +Modules/clinic/_asynciomodule.c.h _asyncio__enter_task _parser - +Modules/clinic/_asynciomodule.c.h _asyncio__leave_task _parser - +Modules/clinic/gcmodule.c.h gc_collect _parser - +Modules/clinic/gcmodule.c.h gc_get_objects _parser - +Modules/clinic/grpmodule.c.h grp_getgrgid _parser - +Modules/clinic/grpmodule.c.h grp_getgrnam _parser - +Modules/clinic/_pickle.c.h _pickle_Pickler___init__ _parser - +Modules/clinic/_pickle.c.h _pickle_Unpickler___init__ _parser - +Modules/clinic/_pickle.c.h _pickle_dump _parser - +Modules/clinic/_pickle.c.h _pickle_dumps _parser - +Modules/clinic/_pickle.c.h _pickle_load _parser - +Modules/clinic/_pickle.c.h _pickle_loads _parser - +Modules/clinic/_struct.c.h Struct___init__ _parser - +Modules/clinic/_struct.c.h Struct_unpack_from _parser - +Modules/clinic/_struct.c.h unpack_from _parser - +Modules/clinic/_testmultiphase.c.h _testmultiphase_StateAccessType_get_defining_module _parser - +Modules/clinic/_testmultiphase.c.h _testmultiphase_StateAccessType_increment_count_clinic _parser - +Modules/clinic/_testmultiphase.c.h _testmultiphase_StateAccessType_get_count _parser - +Modules/clinic/_gdbmmodule.c.h _gdbm_gdbm_keys _parser - +Modules/clinic/_gdbmmodule.c.h _gdbm_gdbm_firstkey _parser - +Modules/clinic/_gdbmmodule.c.h _gdbm_gdbm_nextkey _parser - +Modules/clinic/_gdbmmodule.c.h _gdbm_gdbm_reorganize _parser - +Modules/clinic/_gdbmmodule.c.h _gdbm_gdbm_sync _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_match _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_fullmatch _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_search _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_findall _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_finditer _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_scanner _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_split _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_sub _parser - +Modules/clinic/_sre.c.h _sre_SRE_Pattern_subn _parser - +Modules/clinic/_sre.c.h _sre_compile _parser - +Modules/clinic/_sre.c.h _sre_SRE_Match_expand _parser - +Modules/clinic/_sre.c.h _sre_SRE_Match_groups _parser - +Modules/clinic/_sre.c.h _sre_SRE_Match_groupdict _parser - +Modules/clinic/overlapped.c.h _overlapped_Overlapped _parser - +Modules/clinic/_bisectmodule.c.h _bisect_bisect_right _parser - +Modules/clinic/_bisectmodule.c.h _bisect_insort_right _parser - +Modules/clinic/_bisectmodule.c.h _bisect_bisect_left _parser - +Modules/clinic/_bisectmodule.c.h _bisect_insort_left _parser - +Modules/clinic/zlibmodule.c.h zlib_compress _parser - +Modules/clinic/zlibmodule.c.h zlib_decompress _parser - +Modules/clinic/zlibmodule.c.h zlib_compressobj _parser - +Modules/clinic/zlibmodule.c.h zlib_decompressobj _parser - +Modules/clinic/zlibmodule.c.h zlib_Compress_compress _parser - +Modules/clinic/zlibmodule.c.h zlib_Decompress_decompress _parser - +Modules/clinic/zlibmodule.c.h zlib_Compress_flush _parser - +Modules/clinic/zlibmodule.c.h zlib_Decompress_flush _parser - +Modules/clinic/sha512module.c.h SHA512Type_copy _parser - +Modules/clinic/sha512module.c.h _sha512_sha512 _parser - +Modules/clinic/sha512module.c.h _sha512_sha384 _parser - +Modules/clinic/_bz2module.c.h _bz2_BZ2Decompressor_decompress _parser - +Modules/clinic/sha1module.c.h SHA1Type_copy _parser - +Modules/clinic/sha1module.c.h _sha1_sha1 _parser - +Modules/clinic/_winapi.c.h _winapi_ConnectNamedPipe _parser - +Modules/clinic/_winapi.c.h _winapi_ReadFile _parser - +Modules/clinic/_winapi.c.h _winapi_WriteFile _parser - +Modules/clinic/_winapi.c.h _winapi_GetFileType _parser - +Modules/clinic/_codecsmodule.c.h _codecs_encode _parser - +Modules/clinic/_codecsmodule.c.h _codecs_decode _parser - +Modules/clinic/_cursesmodule.c.h _curses_setupterm _parser - +Modules/clinic/itertoolsmodule.c.h itertools_groupby _parser - +Modules/clinic/itertoolsmodule.c.h itertools_combinations _parser - +Modules/clinic/itertoolsmodule.c.h itertools_combinations_with_replacement _parser - +Modules/clinic/itertoolsmodule.c.h itertools_permutations _parser - +Modules/clinic/itertoolsmodule.c.h itertools_accumulate _parser - +Modules/clinic/itertoolsmodule.c.h itertools_compress _parser - +Modules/clinic/itertoolsmodule.c.h itertools_count _parser - +Modules/clinic/binascii.c.h binascii_b2a_uu _parser - +Modules/clinic/binascii.c.h binascii_b2a_base64 _parser - +Modules/clinic/binascii.c.h binascii_b2a_hex _parser - +Modules/clinic/binascii.c.h binascii_hexlify _parser - +Modules/clinic/binascii.c.h binascii_a2b_qp _parser - +Modules/clinic/binascii.c.h binascii_b2a_qp _parser - +Objects/clinic/enumobject.c.h enum_new _parser - +Objects/clinic/bytearrayobject.c.h bytearray___init__ _parser - +Objects/clinic/bytearrayobject.c.h bytearray_translate _parser - +Objects/clinic/bytearrayobject.c.h bytearray_split _parser - +Objects/clinic/bytearrayobject.c.h bytearray_rsplit _parser - +Objects/clinic/bytearrayobject.c.h bytearray_decode _parser - +Objects/clinic/bytearrayobject.c.h bytearray_splitlines _parser - +Objects/clinic/bytearrayobject.c.h bytearray_hex _parser - +Objects/clinic/descrobject.c.h mappingproxy_new _parser - +Objects/clinic/descrobject.c.h property_init _parser - +Objects/clinic/longobject.c.h long_new _parser - +Objects/clinic/longobject.c.h int_to_bytes _parser - +Objects/clinic/longobject.c.h int_from_bytes _parser - +Objects/clinic/moduleobject.c.h module___init__ _parser - +Objects/clinic/structseq.c.h structseq_new _parser - +Objects/clinic/memoryobject.c.h memoryview _parser - +Objects/clinic/memoryobject.c.h memoryview_cast _parser - +Objects/clinic/memoryobject.c.h memoryview_tobytes _parser - +Objects/clinic/memoryobject.c.h memoryview_hex _parser - +Objects/clinic/listobject.c.h list_sort _parser - +Objects/clinic/odictobject.c.h OrderedDict_fromkeys _parser - +Objects/clinic/odictobject.c.h OrderedDict_setdefault _parser - +Objects/clinic/odictobject.c.h OrderedDict_pop _parser - +Objects/clinic/odictobject.c.h OrderedDict_popitem _parser - +Objects/clinic/odictobject.c.h OrderedDict_move_to_end _parser - +Objects/clinic/complexobject.c.h complex_new _parser - +Objects/clinic/unicodeobject.c.h unicode_encode _parser - +Objects/clinic/unicodeobject.c.h unicode_expandtabs _parser - +Objects/clinic/unicodeobject.c.h unicode_split _parser - +Objects/clinic/unicodeobject.c.h unicode_rsplit _parser - +Objects/clinic/unicodeobject.c.h unicode_splitlines _parser - +Objects/clinic/unicodeobject.c.h unicode_new _parser - +Objects/clinic/bytesobject.c.h bytes_split _parser - +Objects/clinic/bytesobject.c.h bytes_rsplit _parser - +Objects/clinic/bytesobject.c.h bytes_translate _parser - +Objects/clinic/bytesobject.c.h bytes_decode _parser - +Objects/clinic/bytesobject.c.h bytes_splitlines _parser - +Objects/clinic/bytesobject.c.h bytes_hex _parser - +Objects/clinic/bytesobject.c.h bytes_new _parser - +Objects/clinic/funcobject.c.h func_new _parser - +Objects/clinic/codeobject.c.h code_replace _parser - +Python/clinic/traceback.c.h tb_new _parser - +Python/clinic/bltinmodule.c.h builtin_compile _parser - +Python/clinic/bltinmodule.c.h builtin_pow _parser - +Python/clinic/bltinmodule.c.h builtin_round _parser - +Python/clinic/bltinmodule.c.h builtin_sum _parser - +Python/clinic/import.c.h _imp_source_hash _parser - +Python/clinic/sysmodule.c.h sys_addaudithook _parser - +Python/clinic/sysmodule.c.h sys_set_coroutine_origin_tracking_depth _parser - +Python/clinic/_warnings.c.h warnings_warn _parser - + +#----------------------- +# other vars that are actually constant +# [] + +Modules/_csv.c - quote_styles - +Modules/_ctypes/cfield.c - ffi_type_void - +Modules/_ctypes/cfield.c - ffi_type_uint8 - +Modules/_ctypes/cfield.c - ffi_type_sint8 - +Modules/_ctypes/cfield.c - ffi_type_uint16 - +Modules/_ctypes/cfield.c - ffi_type_sint16 - +Modules/_ctypes/cfield.c - ffi_type_uint32 - +Modules/_ctypes/cfield.c - ffi_type_sint32 - +Modules/_ctypes/cfield.c - ffi_type_uint64 - +Modules/_ctypes/cfield.c - ffi_type_sint64 - +Modules/_ctypes/cfield.c - ffi_type_float - +Modules/_ctypes/cfield.c - ffi_type_double - +Modules/_ctypes/cfield.c - ffi_type_longdouble - +Modules/_ctypes/cfield.c - ffi_type_pointer - +Modules/_datetimemodule.c - epoch - +Modules/_datetimemodule.c - max_fold_seconds - +Modules/_datetimemodule.c datetime_isoformat specs - +Modules/_datetimemodule.c time_isoformat specs - +Modules/_decimal/_decimal.c - cond_map - +Modules/_decimal/_decimal.c - dec_signal_string - +Modules/_decimal/_decimal.c - dflt_ctx - +Modules/_decimal/_decimal.c - int_constants - +Modules/_decimal/_decimal.c - invalid_rounding_err - +Modules/_decimal/_decimal.c - invalid_signals_err - +Modules/_decimal/_decimal.c - signal_map - +Modules/_decimal/_decimal.c - ssize_constants - +Modules/_elementtree.c - ExpatMemoryHandler - +Modules/_io/textio.c - encodefuncs - +Modules/_localemodule.c - langinfo_constants - +Modules/_sre.c pattern_repr flag_names - +Modules/_struct.c - bigendian_table - +Modules/_struct.c - lilendian_table - +Modules/_tkinter.c - state_key - +Modules/_xxsubinterpretersmodule.c - _channelid_end_send - +Modules/_xxsubinterpretersmodule.c - _channelid_end_recv - +Modules/arraymodule.c - descriptors - +Modules/arraymodule.c - emptybuf - +Modules/cjkcodecs/cjkcodecs.h - __methods - +Modules/cmathmodule.c - acos_special_values - +Modules/cmathmodule.c - acosh_special_values - +Modules/cmathmodule.c - asinh_special_values - +Modules/cmathmodule.c - atanh_special_values - +Modules/cmathmodule.c - cosh_special_values - +Modules/cmathmodule.c - exp_special_values - +Modules/cmathmodule.c - log_special_values - +Modules/cmathmodule.c - sinh_special_values - +Modules/cmathmodule.c - sqrt_special_values - +Modules/cmathmodule.c - tanh_special_values - +Modules/cmathmodule.c - rect_special_values - +Modules/config.c - _PyImport_Inittab - +Modules/faulthandler.c - faulthandler_handlers - +Modules/getnameinfo.c - gni_afdl - +Modules/ossaudiodev.c - control_labels - +Modules/ossaudiodev.c - control_names - +Modules/nismodule.c - aliases - +Modules/nismodule.c - TIMEOUT - +Modules/posixmodule.c - posix_constants_pathconf - +Modules/posixmodule.c - posix_constants_confstr - +Modules/posixmodule.c - posix_constants_sysconf - +Modules/pyexpat.c - ExpatMemoryHandler - +Modules/pyexpat.c - handler_info - +Modules/termios.c - termios_constants - +Modules/timemodule.c init_timezone YEAR - +Objects/bytearrayobject.c - _PyByteArray_empty_string - +Objects/complexobject.c - c_1 - +Objects/genobject.c - NON_INIT_CORO_MSG - +Objects/genobject.c - ASYNC_GEN_IGNORED_EXIT_MSG - +Objects/longobject.c - _PyLong_DigitValue - +Objects/object.c - _Py_abstract_hack - +Objects/object.c - _Py_SwappedOp - +Objects/obmalloc.c - _PyMem - +Objects/obmalloc.c - _PyMem_Debug - +Objects/obmalloc.c - _PyMem_Raw - +Objects/obmalloc.c - _PyObject - +Objects/obmalloc.c - usedpools - +Objects/unicodeobject.c unicode_decode_call_errorhandler_wchar argparse - +Objects/unicodeobject.c unicode_decode_call_errorhandler_writer argparse - +Objects/unicodeobject.c unicode_encode_call_errorhandler argparse - +Objects/unicodeobject.c unicode_translate_call_errorhandler argparse - +Objects/unicodeobject.c - stripfuncnames - +Objects/unicodeobject.c - utf7_category - +Parser/parser.c - reserved_keywords - +Parser/tokenizer.c - type_comment_prefix - +Python/opcode_targets.h - opcode_targets - + + +################################## +# temporary whitelist - globals to fix + +# These are all variables that we will be making non-global. + +#----------------------- +# runtime static types +# [] + +Objects/floatobject.c - FloatInfoType - +Objects/floatobject.c - PyFloat_Type - +Objects/listobject.c - PyList_Type - +Objects/listobject.c - PyListIter_Type - +Objects/listobject.c - PyListRevIter_Type - +Objects/setobject.c - _PySetDummy_Type - +Objects/setobject.c - PySetIter_Type - +Objects/setobject.c - PySet_Type - +Objects/setobject.c - PyFrozenSet_Type - +Objects/genobject.c - PyGen_Type - +Objects/genobject.c - PyCoro_Type - +Objects/genobject.c - _PyCoroWrapper_Type - +Objects/genobject.c - PyAsyncGen_Type - +Objects/genobject.c - _PyAsyncGenASend_Type - +Objects/genobject.c - _PyAsyncGenWrappedValue_Type - +Objects/genobject.c - _PyAsyncGenAThrow_Type - +Objects/classobject.c - PyMethod_Type - +Objects/classobject.c - PyInstanceMethod_Type - +Objects/complexobject.c - PyComplex_Type - +Objects/sliceobject.c - PyEllipsis_Type - +Objects/sliceobject.c - PySlice_Type - +Objects/bytesobject.c - PyBytes_Type - +Objects/bytesobject.c - PyBytesIter_Type - +Objects/descrobject.c - PyMethodDescr_Type - +Objects/descrobject.c - PyClassMethodDescr_Type - +Objects/descrobject.c - PyMemberDescr_Type - +Objects/descrobject.c - PyGetSetDescr_Type - +Objects/descrobject.c - PyWrapperDescr_Type - +Objects/descrobject.c - _PyMethodWrapper_Type - +Objects/descrobject.c - PyDictProxy_Type - +Objects/descrobject.c - PyProperty_Type - +Objects/unicodeobject.c - EncodingMapType - +Objects/unicodeobject.c - PyUnicode_Type - +Objects/unicodeobject.c - PyUnicodeIter_Type - +Objects/unionobject.c - _Py_UnionType - +Objects/moduleobject.c - PyModuleDef_Type - +Objects/moduleobject.c - PyModule_Type - +Objects/capsule.c - PyCapsule_Type - +Objects/methodobject.c - PyCFunction_Type - +Objects/methodobject.c - PyCMethod_Type - +Objects/bytearrayobject.c - PyByteArray_Type - +Objects/bytearrayobject.c - PyByteArrayIter_Type - +Objects/interpreteridobject.c - _PyInterpreterID_Type - +Objects/enumobject.c - PyEnum_Type - +Objects/enumobject.c - PyReversed_Type - +Objects/picklebufobject.c - PyPickleBuffer_Type - +Objects/object.c - _PyNone_Type - +Objects/object.c - _PyNotImplemented_Type - +Objects/fileobject.c - PyStdPrinter_Type - +Objects/weakrefobject.c - _PyWeakref_RefType - +Objects/weakrefobject.c - _PyWeakref_ProxyType - +Objects/weakrefobject.c - _PyWeakref_CallableProxyType - +Objects/genericaliasobject.c - Py_GenericAliasType - +Objects/rangeobject.c - PyRange_Type - +Objects/rangeobject.c - PyRangeIter_Type - +Objects/rangeobject.c - PyLongRangeIter_Type - +Objects/namespaceobject.c - _PyNamespace_Type - +Objects/iterobject.c - PySeqIter_Type - +Objects/iterobject.c - PyCallIter_Type - +Objects/boolobject.c - PyBool_Type - +Objects/frameobject.c - PyFrame_Type - +Objects/longobject.c - Int_InfoType - +Objects/longobject.c - PyLong_Type - +Objects/funcobject.c - PyFunction_Type - +Objects/funcobject.c - PyClassMethod_Type - +Objects/funcobject.c - PyStaticMethod_Type - +Objects/typeobject.c - PyType_Type - +Objects/typeobject.c - PyBaseObject_Type - +Objects/typeobject.c - PySuper_Type - +Objects/cellobject.c - PyCell_Type - +Objects/odictobject.c - PyODict_Type - +Objects/odictobject.c - PyODictIter_Type - +Objects/odictobject.c - PyODictKeys_Type - +Objects/odictobject.c - PyODictItems_Type - +Objects/odictobject.c - PyODictValues_Type - +Objects/dictobject.c - PyDict_Type - +Objects/dictobject.c - PyDictIterKey_Type - +Objects/dictobject.c - PyDictIterValue_Type - +Objects/dictobject.c - PyDictIterItem_Type - +Objects/dictobject.c - PyDictRevIterKey_Type - +Objects/dictobject.c - PyDictRevIterItem_Type - +Objects/dictobject.c - PyDictRevIterValue_Type - +Objects/dictobject.c - PyDictKeys_Type - +Objects/dictobject.c - PyDictItems_Type - +Objects/dictobject.c - PyDictValues_Type - +Objects/memoryobject.c - PyMemoryIter_Type - +Objects/memoryobject.c - _PyManagedBuffer_Type - +Objects/memoryobject.c - PyMemoryView_Type - +Objects/tupleobject.c - PyTuple_Type - +Objects/tupleobject.c - PyTupleIter_Type - +Objects/codeobject.c - PyCode_Type - + +#----------------------- +# builtin exception types +# [] + +Objects/exceptions.c - _PyExc_BaseException - +Objects/exceptions.c - _PyExc_UnicodeEncodeError - +Objects/exceptions.c - _PyExc_UnicodeDecodeError - +Objects/exceptions.c - _PyExc_UnicodeTranslateError - +Objects/exceptions.c - _PyExc_MemoryError - +Objects/exceptions.c - _PyExc_Exception - +Objects/exceptions.c - _PyExc_TypeError - +Objects/exceptions.c - _PyExc_StopAsyncIteration - +Objects/exceptions.c - _PyExc_StopIteration - +Objects/exceptions.c - _PyExc_GeneratorExit - +Objects/exceptions.c - _PyExc_SystemExit - +Objects/exceptions.c - _PyExc_KeyboardInterrupt - +Objects/exceptions.c - _PyExc_ImportError - +Objects/exceptions.c - _PyExc_ModuleNotFoundError - +Objects/exceptions.c - _PyExc_OSError - +Objects/exceptions.c - _PyExc_BlockingIOError - +Objects/exceptions.c - _PyExc_ConnectionError - +Objects/exceptions.c - _PyExc_ChildProcessError - +Objects/exceptions.c - _PyExc_BrokenPipeError - +Objects/exceptions.c - _PyExc_ConnectionAbortedError - +Objects/exceptions.c - _PyExc_ConnectionRefusedError - +Objects/exceptions.c - _PyExc_ConnectionResetError - +Objects/exceptions.c - _PyExc_FileExistsError - +Objects/exceptions.c - _PyExc_FileNotFoundError - +Objects/exceptions.c - _PyExc_IsADirectoryError - +Objects/exceptions.c - _PyExc_NotADirectoryError - +Objects/exceptions.c - _PyExc_InterruptedError - +Objects/exceptions.c - _PyExc_PermissionError - +Objects/exceptions.c - _PyExc_ProcessLookupError - +Objects/exceptions.c - _PyExc_TimeoutError - +Objects/exceptions.c - _PyExc_EOFError - +Objects/exceptions.c - _PyExc_RuntimeError - +Objects/exceptions.c - _PyExc_RecursionError - +Objects/exceptions.c - _PyExc_NotImplementedError - +Objects/exceptions.c - _PyExc_NameError - +Objects/exceptions.c - _PyExc_UnboundLocalError - +Objects/exceptions.c - _PyExc_AttributeError - +Objects/exceptions.c - _PyExc_SyntaxError - +Objects/exceptions.c - _PyExc_IndentationError - +Objects/exceptions.c - _PyExc_TabError - +Objects/exceptions.c - _PyExc_LookupError - +Objects/exceptions.c - _PyExc_IndexError - +Objects/exceptions.c - _PyExc_KeyError - +Objects/exceptions.c - _PyExc_ValueError - +Objects/exceptions.c - _PyExc_UnicodeError - +Objects/exceptions.c - _PyExc_AssertionError - +Objects/exceptions.c - _PyExc_ArithmeticError - +Objects/exceptions.c - _PyExc_FloatingPointError - +Objects/exceptions.c - _PyExc_OverflowError - +Objects/exceptions.c - _PyExc_ZeroDivisionError - +Objects/exceptions.c - _PyExc_SystemError - +Objects/exceptions.c - _PyExc_ReferenceError - +Objects/exceptions.c - _PyExc_BufferError - +Objects/exceptions.c - _PyExc_Warning - +Objects/exceptions.c - _PyExc_UserWarning - +Objects/exceptions.c - _PyExc_DeprecationWarning - +Objects/exceptions.c - _PyExc_PendingDeprecationWarning - +Objects/exceptions.c - _PyExc_SyntaxWarning - +Objects/exceptions.c - _PyExc_RuntimeWarning - +Objects/exceptions.c - _PyExc_FutureWarning - +Objects/exceptions.c - _PyExc_ImportWarning - +Objects/exceptions.c - _PyExc_UnicodeWarning - +Objects/exceptions.c - _PyExc_BytesWarning - +Objects/exceptions.c - _PyExc_ResourceWarning - +Objects/exceptions.c - PyExc_EnvironmentError - +Objects/exceptions.c - PyExc_IOError - +Objects/exceptions.c - PyExc_BaseException - +Objects/exceptions.c - PyExc_Exception - +Objects/exceptions.c - PyExc_TypeError - +Objects/exceptions.c - PyExc_StopAsyncIteration - +Objects/exceptions.c - PyExc_StopIteration - +Objects/exceptions.c - PyExc_GeneratorExit - +Objects/exceptions.c - PyExc_SystemExit - +Objects/exceptions.c - PyExc_KeyboardInterrupt - +Objects/exceptions.c - PyExc_ImportError - +Objects/exceptions.c - PyExc_ModuleNotFoundError - +Objects/exceptions.c - PyExc_OSError - +Objects/exceptions.c - PyExc_BlockingIOError - +Objects/exceptions.c - PyExc_ConnectionError - +Objects/exceptions.c - PyExc_ChildProcessError - +Objects/exceptions.c - PyExc_BrokenPipeError - +Objects/exceptions.c - PyExc_ConnectionAbortedError - +Objects/exceptions.c - PyExc_ConnectionRefusedError - +Objects/exceptions.c - PyExc_ConnectionResetError - +Objects/exceptions.c - PyExc_FileExistsError - +Objects/exceptions.c - PyExc_FileNotFoundError - +Objects/exceptions.c - PyExc_IsADirectoryError - +Objects/exceptions.c - PyExc_NotADirectoryError - +Objects/exceptions.c - PyExc_InterruptedError - +Objects/exceptions.c - PyExc_PermissionError - +Objects/exceptions.c - PyExc_ProcessLookupError - +Objects/exceptions.c - PyExc_TimeoutError - +Objects/exceptions.c - PyExc_EOFError - +Objects/exceptions.c - PyExc_RuntimeError - +Objects/exceptions.c - PyExc_RecursionError - +Objects/exceptions.c - PyExc_NotImplementedError - +Objects/exceptions.c - PyExc_NameError - +Objects/exceptions.c - PyExc_UnboundLocalError - +Objects/exceptions.c - PyExc_AttributeError - +Objects/exceptions.c - PyExc_SyntaxError - +Objects/exceptions.c - PyExc_IndentationError - +Objects/exceptions.c - PyExc_TabError - +Objects/exceptions.c - PyExc_LookupError - +Objects/exceptions.c - PyExc_IndexError - +Objects/exceptions.c - PyExc_KeyError - +Objects/exceptions.c - PyExc_ValueError - +Objects/exceptions.c - PyExc_UnicodeError - +Objects/exceptions.c - PyExc_UnicodeEncodeError - +Objects/exceptions.c - PyExc_UnicodeDecodeError - +Objects/exceptions.c - PyExc_UnicodeTranslateError - +Objects/exceptions.c - PyExc_AssertionError - +Objects/exceptions.c - PyExc_ArithmeticError - +Objects/exceptions.c - PyExc_FloatingPointError - +Objects/exceptions.c - PyExc_OverflowError - +Objects/exceptions.c - PyExc_ZeroDivisionError - +Objects/exceptions.c - PyExc_SystemError - +Objects/exceptions.c - PyExc_ReferenceError - +Objects/exceptions.c - PyExc_MemoryError - +Objects/exceptions.c - PyExc_BufferError - +Objects/exceptions.c - PyExc_Warning - +Objects/exceptions.c - PyExc_UserWarning - +Objects/exceptions.c - PyExc_DeprecationWarning - +Objects/exceptions.c - PyExc_PendingDeprecationWarning - +Objects/exceptions.c - PyExc_SyntaxWarning - +Objects/exceptions.c - PyExc_RuntimeWarning - +Objects/exceptions.c - PyExc_FutureWarning - +Objects/exceptions.c - PyExc_ImportWarning - +Objects/exceptions.c - PyExc_UnicodeWarning - +Objects/exceptions.c - PyExc_BytesWarning - +Objects/exceptions.c - PyExc_ResourceWarning - + +#----------------------- +# singletons +# [] + +Objects/boolobject.c - _Py_FalseStruct - +Objects/boolobject.c - _Py_TrueStruct - +Objects/dictobject.c - empty_keys_struct - +Objects/dictobject.c - empty_values - +Objects/object.c - _Py_NoneStruct - +Objects/object.c - _Py_NotImplementedStruct - +Objects/setobject.c - _dummy_struct - +Objects/setobject.c - _PySet_Dummy - +Objects/sliceobject.c - _Py_EllipsisObject - + +#----------------------- +# runtime initialized once - cached PyUnicode +# [] + +# Py_IDENTIFIER (global) [] +Objects/classobject.c - PyId___name__ - +Objects/classobject.c - PyId___qualname__ - +Objects/structseq.c - PyId_n_sequence_fields - +Objects/structseq.c - PyId_n_fields - +Objects/structseq.c - PyId_n_unnamed_fields - +Objects/bytesobject.c - PyId___bytes__ - +Objects/descrobject.c - PyId_getattr - +Objects/moduleobject.c - PyId___doc__ - +Objects/moduleobject.c - PyId___name__ - +Objects/moduleobject.c - PyId___spec__ - +Objects/object.c - PyId_Py_Repr - +Objects/object.c - PyId___bytes__ - +Objects/object.c - PyId___dir__ - +Objects/object.c - PyId___isabstractmethod__ - +Objects/fileobject.c - PyId_open - +Objects/rangeobject.c - PyId_iter - +Objects/iterobject.c - PyId_iter - +Objects/frameobject.c - PyId___builtins__ - +Objects/longobject.c - PyId_little - +Objects/longobject.c - PyId_big - +Objects/typeobject.c - PyId___abstractmethods__ - +Objects/typeobject.c - PyId___class__ - +Objects/typeobject.c - PyId___class_getitem__ - +Objects/typeobject.c - PyId___delitem__ - +Objects/typeobject.c - PyId___dict__ - +Objects/typeobject.c - PyId___doc__ - +Objects/typeobject.c - PyId___getattribute__ - +Objects/typeobject.c - PyId___getitem__ - +Objects/typeobject.c - PyId___hash__ - +Objects/typeobject.c - PyId___init_subclass__ - +Objects/typeobject.c - PyId___len__ - +Objects/typeobject.c - PyId___module__ - +Objects/typeobject.c - PyId___name__ - +Objects/typeobject.c - PyId___new__ - +Objects/typeobject.c - PyId___set_name__ - +Objects/typeobject.c - PyId___setitem__ - +Objects/typeobject.c - PyId_builtins - +Objects/typeobject.c - PyId_mro - +Objects/odictobject.c - PyId_items - + +# Py_IDENTIFIER (local) [] +Objects/listobject.c listiter_reduce_general PyId_iter - +Objects/listobject.c listiter_reduce_general PyId_reversed - +Objects/setobject.c setiter_reduce PyId_iter - +Objects/setobject.c set_reduce PyId___dict__ - +Objects/abstract.c PyObject_LengthHint PyId___length_hint__ - +Objects/abstract.c PyObject_GetItem PyId___class_getitem__ - +Objects/abstract.c PyObject_Format PyId___format__ - +Objects/abstract.c PyNumber_Long PyId___trunc__ - +Objects/abstract.c PyMapping_Keys PyId_keys - +Objects/abstract.c PyMapping_Items PyId_items - +Objects/abstract.c PyMapping_Values PyId_values - +Objects/abstract.c abstract_get_bases PyId___bases__ - +Objects/abstract.c object_isinstance PyId___class__ - +Objects/abstract.c object_recursive_isinstance PyId___instancecheck__ - +Objects/abstract.c object_issubclass PyId___subclasscheck__ - +Objects/genobject.c PyIter_Send PyId_send - +Objects/genobject.c gen_close_iter PyId_close - +Objects/genobject.c _gen_throw PyId_throw - +Objects/classobject.c method_reduce PyId_getattr - +Objects/complexobject.c try_complex_special_method PyId___complex__ - +Objects/bytesobject.c striter_reduce PyId_iter - +Objects/descrobject.c calculate_qualname PyId___qualname__ - +Objects/descrobject.c mappingproxy_get PyId_get - +Objects/descrobject.c mappingproxy_keys PyId_keys - +Objects/descrobject.c mappingproxy_values PyId_values - +Objects/descrobject.c mappingproxy_items PyId_items - +Objects/descrobject.c mappingproxy_copy PyId_copy - +Objects/descrobject.c mappingproxy_reversed PyId___reversed__ - +Objects/descrobject.c property_init_impl PyId___doc__ - +Objects/unicodeobject.c unicodeiter_reduce PyId_iter - +Objects/unionobject.c union_repr_item PyId___module__ - +Objects/unionobject.c union_repr_item PyId___qualname__ - +Objects/unionobject.c union_repr_item PyId___origin__ - +Objects/unionobject.c union_repr_item PyId___args__ - +Objects/moduleobject.c module_init_dict PyId___package__ - +Objects/moduleobject.c module_init_dict PyId___loader__ - +Objects/moduleobject.c PyModule_GetFilenameObject PyId___file__ - +Objects/moduleobject.c _PyModuleSpec_IsInitializing PyId__initializing - +Objects/moduleobject.c module_getattro PyId___getattr__ - +Objects/moduleobject.c module_dir PyId___dict__ - +Objects/moduleobject.c module_dir PyId___dir__ - +Objects/methodobject.c meth_reduce PyId_getattr - +Objects/methodobject.c meth_get__qualname__ PyId___qualname__ - +Objects/bytearrayobject.c _common_reduce PyId___dict__ - +Objects/bytearrayobject.c bytearrayiter_reduce PyId_iter - +Objects/enumobject.c reversed_new_impl PyId___reversed__ - +Objects/object.c _PyObject_FunctionStr PyId___module__ - +Objects/object.c _PyObject_FunctionStr PyId___qualname__ - +Objects/object.c _PyObject_FunctionStr PyId_builtins - +Objects/fileobject.c PyFile_GetLine PyId_readline - +Objects/fileobject.c PyFile_WriteObject PyId_write - +Objects/fileobject.c PyObject_AsFileDescriptor PyId_fileno - +Objects/weakrefobject.c weakref_repr PyId___name__ - +Objects/weakrefobject.c proxy_bytes PyId___bytes__ - +Objects/weakrefobject.c proxy_reversed PyId___reversed__ - +Objects/genericaliasobject.c ga_repr_item PyId___module__ - +Objects/genericaliasobject.c ga_repr_item PyId___qualname__ - +Objects/genericaliasobject.c ga_repr_item PyId___origin__ - +Objects/genericaliasobject.c ga_repr_item PyId___args__ - +Objects/genericaliasobject.c make_parameters PyId___parameters__ - +Objects/genericaliasobject.c subs_tvars PyId___parameters__ - +Objects/exceptions.c ImportError_getstate PyId_name - +Objects/exceptions.c ImportError_getstate PyId_path - +Objects/typeobject.c type_new PyId___qualname__ - +Objects/typeobject.c type_new PyId___slots__ - +Objects/typeobject.c type_new PyId___classcell__ - +Objects/typeobject.c type_new PyId___mro_entries__ - +Objects/typeobject.c merge_class_dict PyId___bases__ - +Objects/typeobject.c import_copyreg PyId_copyreg - +Objects/typeobject.c _PyType_GetSlotNames PyId___slotnames__ - +Objects/typeobject.c _PyType_GetSlotNames PyId__slotnames - +Objects/typeobject.c _PyObject_GetState PyId___getstate__ - +Objects/typeobject.c _PyObject_GetNewArguments PyId___getnewargs_ex__ - +Objects/typeobject.c _PyObject_GetNewArguments PyId___getnewargs__ - +Objects/typeobject.c _PyObject_GetItemsIter PyId_items - +Objects/typeobject.c reduce_newobj PyId___newobj__ - +Objects/typeobject.c reduce_newobj PyId___newobj_ex__ - +Objects/typeobject.c object___reduce_ex___impl PyId___reduce__ - +Objects/typeobject.c overrides_hash PyId___eq__ - +Objects/typeobject.c slot_sq_contains PyId___contains__ - +Objects/typeobject.c slot_nb_power PyId___pow__ - +Objects/typeobject.c slot_nb_bool PyId___bool__ - +Objects/typeobject.c slot_nb_index PyId___index__ - +Objects/typeobject.c slot_nb_inplace_power PyId___ipow__ - +Objects/typeobject.c slot_tp_repr PyId___repr__ - +Objects/typeobject.c slot_tp_call PyId___call__ - +Objects/typeobject.c slot_tp_getattr_hook PyId___getattr__ - +Objects/typeobject.c slot_tp_setattro PyId___delattr__ - +Objects/typeobject.c slot_tp_setattro PyId___setattr__ - +Objects/typeobject.c slot_tp_iter PyId___iter__ - +Objects/typeobject.c slot_tp_iternext PyId___next__ - +Objects/typeobject.c slot_tp_descr_get PyId___get__ - +Objects/typeobject.c slot_tp_descr_set PyId___delete__ - +Objects/typeobject.c slot_tp_descr_set PyId___set__ - +Objects/typeobject.c slot_tp_init PyId___init__ - +Objects/typeobject.c slot_tp_finalize PyId___del__ - +Objects/typeobject.c slot_am_await PyId___await__ - +Objects/typeobject.c slot_am_aiter PyId___aiter__ - +Objects/typeobject.c slot_am_anext PyId___anext__ - +Objects/odictobject.c odict_reduce PyId___dict__ - +Objects/odictobject.c odictiter_reduce PyId_iter - +Objects/odictobject.c mutablemapping_update_arg PyId_keys - +Objects/dictobject.c dict_subscript PyId___missing__ - +Objects/dictobject.c dict_update_arg PyId_keys - +Objects/dictobject.c dictiter_reduce PyId_iter - +Objects/dictobject.c dictviews_sub PyId_difference_update - +Objects/dictobject.c _PyDictView_Intersect PyId_intersection - +Objects/dictobject.c dictitems_xor PyId_items - +Objects/dictobject.c dictviews_xor PyId_symmetric_difference_update - +Objects/tupleobject.c tupleiter_reduce PyId_iter - +Parser/tokenizer.c fp_setreadl PyId_open - +Parser/tokenizer.c fp_setreadl PyId_readline - + +# _Py_static_string [] +Objects/typeobject.c - name_op - +Objects/typeobject.c object_new comma_id - +Objects/typeobject.c slot_mp_subscript id - +Objects/typeobject.c slot_nb_add op_id - +Objects/typeobject.c slot_nb_add rop_id - +Objects/typeobject.c slot_nb_subtract op_id - +Objects/typeobject.c slot_nb_subtract rop_id - +Objects/typeobject.c slot_nb_multiply op_id - +Objects/typeobject.c slot_nb_multiply rop_id - +Objects/typeobject.c slot_nb_matrix_multiply op_id - +Objects/typeobject.c slot_nb_matrix_multiply rop_id - +Objects/typeobject.c slot_nb_remainder op_id - +Objects/typeobject.c slot_nb_remainder rop_id - +Objects/typeobject.c slot_nb_divmod op_id - +Objects/typeobject.c slot_nb_divmod rop_id - +Objects/typeobject.c slot_nb_power_binary op_id - +Objects/typeobject.c slot_nb_power_binary rop_id - +Objects/typeobject.c slot_nb_negative id - +Objects/typeobject.c slot_nb_positive id - +Objects/typeobject.c slot_nb_absolute id - +Objects/typeobject.c slot_nb_invert id - +Objects/typeobject.c slot_nb_lshift op_id - +Objects/typeobject.c slot_nb_lshift rop_id - +Objects/typeobject.c slot_nb_rshift op_id - +Objects/typeobject.c slot_nb_rshift rop_id - +Objects/typeobject.c slot_nb_and op_id - +Objects/typeobject.c slot_nb_and rop_id - +Objects/typeobject.c slot_nb_xor op_id - +Objects/typeobject.c slot_nb_xor rop_id - +Objects/typeobject.c slot_nb_or op_id - +Objects/typeobject.c slot_nb_or rop_id - +Objects/typeobject.c slot_nb_int id - +Objects/typeobject.c slot_nb_float id - +Objects/typeobject.c slot_nb_inplace_add id - +Objects/typeobject.c slot_nb_inplace_subtract id - +Objects/typeobject.c slot_nb_inplace_multiply id - +Objects/typeobject.c slot_nb_inplace_matrix_multiply id - +Objects/typeobject.c slot_nb_inplace_remainder id - +Objects/typeobject.c slot_nb_inplace_lshift id - +Objects/typeobject.c slot_nb_inplace_rshift id - +Objects/typeobject.c slot_nb_inplace_and id - +Objects/typeobject.c slot_nb_inplace_xor id - +Objects/typeobject.c slot_nb_inplace_or id - +Objects/typeobject.c slot_nb_floor_divide op_id - +Objects/typeobject.c slot_nb_floor_divide rop_id - +Objects/typeobject.c slot_nb_true_divide op_id - +Objects/typeobject.c slot_nb_true_divide rop_id - +Objects/typeobject.c slot_nb_inplace_floor_divide id - +Objects/typeobject.c slot_nb_inplace_true_divide id - +Objects/typeobject.c slot_tp_str id - +Python/compile.c compiler_set_qualname dot - +Python/compile.c compiler_set_qualname dot_locals - + +# manually cached PyUnicodeOjbect [] +Objects/boolobject.c - false_str - +Objects/boolobject.c - true_str - +Objects/classobject.c method_get_doc docstr - +Objects/classobject.c instancemethod_get_doc docstr - +Objects/codeobject.c PyCode_NewEmpty emptystring - +Objects/exceptions.c _check_for_legacy_statements print_prefix - +Objects/exceptions.c _check_for_legacy_statements exec_prefix - +Objects/funcobject.c PyFunction_NewWithQualName __name__ - +Objects/listobject.c - indexerr - +Objects/typeobject.c object___reduce_ex___impl objreduce - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_close_br - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_dbl_close_br - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_dbl_open_br - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_inf - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_open_br - +# XXX This should have been found by the analyzer but wasn't: +Python/ast_unparse.c - _str_replace_inf - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c - __annotations__ - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c - __doc__ - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_dictcomp name - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_from_import empty_string - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_genexp name - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_lambda name - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_listcomp name - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_setcomp name - +# XXX This should have been found by the analyzer but wasn't: +Python/compile.c compiler_visit_annotations return_str - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c PyImport_Import builtins_str - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c PyImport_Import import_str - +# XXX This should have been found by the analyzer but wasn't: +Python/sysmodule.c - whatstrings - +# XXX This should have been found by the analyzer but wasn't: +Python/sysmodule.c sys_displayhook newline - +# XXX This should have been found by the analyzer but wasn't: +Python/_warnings.c is_internal_frame bootstrap_string - +# XXX This should have been found by the analyzer but wasn't: +Python/_warnings.c is_internal_frame importlib_string - + +#----------------------- +# runtime initialized once - other PyObject +# [] + +# cache [] +Objects/unicodeobject.c - interned - +Objects/unicodeobject.c - static_strings - +Objects/typeobject.c - method_cache - + +# other [] +# XXX This should have been found by the analyzer but wasn't: +Python/context.c - _token_missing - +# XXX This should have been found by the analyzer but wasn't: +Python/hamt.c - _empty_bitmap_node - +# XXX This should have been found by the analyzer but wasn't: +Python/hamt.c - _empty_hamt - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c PyImport_Import silly_list - + +#----------------------- +# runtime initialized once - non-PyObject +# [] + +# during init [] +Parser/parser.c - Py_DebugFlag - + +# other [] +Objects/codeobject.c PyCode_NewEmpty nulltuple - +Objects/longobject.c PyLong_FromString log_base_BASE - +Objects/longobject.c PyLong_FromString convwidth_base - +Objects/longobject.c PyLong_FromString convmultmax_base - +Objects/typeobject.c - slotdefs - +Objects/typeobject.c - slotdefs_initialized - +Objects/unicodeobject.c - bloom_linebreak - +Objects/unicodeobject.c - ucnhash_capi - +Parser/pegen.c _PyPegen_dummy_name cache - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c - import_lock - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c import_find_and_load header - + +#----------------------- +# runtime state + +# (look at the bottome of the file) + +#----------------------- +# modules +# [119] + +Modules/pwdmodule.c - pwdmodule - +Modules/grpmodule.c - grpmodule - +Modules/_ssl.c - PySocketModule - +Modules/_ssl.c - _sslmodule - +Modules/_struct.c - _structmodule - +Modules/_sre.c - sremodule - +Modules/timemodule.c - timemodule - +Modules/xxmodule.c - xxmodule - +Modules/itertoolsmodule.c - itertoolsmodule - +Modules/_tkinter.c - _tkintermodule - +Modules/gcmodule.c - gcmodule - +Modules/mmapmodule.c - mmapmodule - +Modules/errnomodule.c - errnomodule - +Modules/_gdbmmodule.c - _gdbmmodule - +Modules/xxlimited.c - xxmodule - +Modules/arraymodule.c - arraymodule - +Modules/_uuidmodule.c - uuidmodule - +Modules/_collectionsmodule.c - _collectionsmodule - +Modules/_csv.c - _csvmodule - +Modules/_json.c - jsonmodule - +Modules/zlibmodule.c - zlibmodule - +Modules/readline.c - readlinemodule - +Modules/faulthandler.c - module_def - +Modules/_codecsmodule.c - codecsmodule - +Modules/_asynciomodule.c - _asynciomodule - +Modules/signalmodule.c - signalmodule - +Modules/binascii.c - binasciimodule - +Modules/mathmodule.c - mathmodule - +Modules/_stat.c - statmodule - +Modules/_opcode.c - opcodemodule - +Modules/_operator.c - operatormodule - +Modules/_cryptmodule.c - cryptmodule - +Modules/cmathmodule.c - cmathmodule - +Modules/_lzmamodule.c - _lzmamodule - +Modules/_zoneinfo.c - zoneinfomodule - +Modules/posixmodule.c - posixmodule - +Modules/_bz2module.c - _bz2module - +Modules/_functoolsmodule.c - _functools_module - +Modules/_abc.c - _abcmodule - +Modules/_heapqmodule.c - _heapqmodule - +Modules/_bisectmodule.c - _bisectmodule - +Modules/_tracemalloc.c - module_def - +Modules/pyexpat.c - pyexpatmodule - +Modules/_randommodule.c - _randommodule - +Modules/atexitmodule.c - atexitmodule - +Modules/syslogmodule.c - syslogmodule - +Modules/_queuemodule.c - queuemodule - +Modules/_threadmodule.c - threadmodule - +Modules/_weakref.c - weakrefmodule - +Modules/spwdmodule.c - spwdmodule - +Modules/_contextvarsmodule.c - _contextvarsmodule - +Modules/_posixsubprocess.c - _posixsubprocessmodule - +Modules/_xxsubinterpretersmodule.c - interpretersmodule - +Modules/_curses_panel.c - _curses_panelmodule - +Modules/audioop.c - audioopmodule - +Modules/nismodule.c - nismodule - +Modules/_elementtree.c - elementtreemodule - +Modules/sha256module.c - _sha256module - +Modules/resource.c - resourcemodule - +Modules/symtablemodule.c - symtablemodule - +Modules/sha1module.c - _sha1module - +Modules/selectmodule.c - selectmodule - +Modules/_pickle.c - _picklemodule - +Modules/_localemodule.c - _localemodule - +Modules/unicodedata.c - unicodedata_module - +Modules/_statisticsmodule.c - statisticsmodule - +Modules/termios.c - termiosmodule - +Modules/xxsubtype.c - xxsubtypemodule - +Modules/sha512module.c - _sha512module - +Modules/_cursesmodule.c - _cursesmodule - +Modules/md5module.c - _md5module - +Modules/socketmodule.c - socketmodule - +Modules/_datetimemodule.c - datetimemodule - +Modules/_hashopenssl.c - _hashlibmodule - +Modules/fcntlmodule.c - fcntlmodule - +Modules/ossaudiodev.c - ossaudiodevmodule - +Modules/_lsprof.c - _lsprofmodule - +Modules/_blake2/blake2module.c - blake2_module - +Modules/_multiprocessing/multiprocessing.c - multiprocessing_module - +Modules/_multiprocessing/posixshmem.c - this_module - +Modules/_sqlite/module.c - _sqlite3module - +Modules/_sha3/sha3module.c - _sha3module - +Modules/cjkcodecs/multibytecodec.c - _multibytecodecmodule - +Modules/_decimal/_decimal.c - _decimal_module - +Modules/_ctypes/_ctypes.c - _ctypesmodule - +Objects/unicodeobject.c - _string_module - +Modules/_io/_iomodule.h - _PyIO_Module - +Modules/_io/_iomodule.c - _PyIO_Module - + +#----------------------- +# module static types +# [] + +Modules/arraymodule.c - Arraytype - +Modules/arraymodule.c - PyArrayIter_Type - +Modules/_asynciomodule.c - FutureType - +Modules/_asynciomodule.c - FutureIterType - +Modules/_asynciomodule.c - TaskStepMethWrapper_Type - +Modules/_asynciomodule.c - TaskType - +Modules/_asynciomodule.c - PyRunningLoopHolder_Type - +Modules/cjkcodecs/multibytecodec.c - MultibyteCodec_Type - +Modules/cjkcodecs/multibytecodec.c - MultibyteIncrementalEncoder_Type - +Modules/cjkcodecs/multibytecodec.c - MultibyteIncrementalDecoder_Type - +Modules/cjkcodecs/multibytecodec.c - MultibyteStreamReader_Type - +Modules/cjkcodecs/multibytecodec.c - MultibyteStreamWriter_Type - +Modules/_collectionsmodule.c - deque_type - +Modules/_collectionsmodule.c - dequeiter_type - +Modules/_collectionsmodule.c - dequereviter_type - +Modules/_collectionsmodule.c - defdict_type - +Modules/_collectionsmodule.c - tuplegetter_type - +Modules/_csv.c - Dialect_Type - +Modules/_csv.c - Reader_Type - +Modules/_csv.c - Writer_Type - +Modules/_ctypes/callbacks.c - PyCThunk_Type - +Modules/_ctypes/callproc.c - PyCArg_Type - +Modules/_ctypes/cfield.c - PyCField_Type - +Modules/_ctypes/_ctypes.c - DictRemover_Type - +Modules/_ctypes/_ctypes.c - StructParam_Type - +Modules/_ctypes/_ctypes.c - PyCStructType_Type - +Modules/_ctypes/_ctypes.c - UnionType_Type - +Modules/_ctypes/_ctypes.c - PyCPointerType_Type - +Modules/_ctypes/_ctypes.c - PyCArrayType_Type - +Modules/_ctypes/_ctypes.c - PyCSimpleType_Type - +Modules/_ctypes/_ctypes.c - PyCFuncPtrType_Type - +Modules/_ctypes/_ctypes.c - PyCData_Type - +Modules/_ctypes/_ctypes.c - PyCFuncPtr_Type - +Modules/_ctypes/_ctypes.c - Struct_Type - +Modules/_ctypes/_ctypes.c - Union_Type - +Modules/_ctypes/_ctypes.c - PyCArray_Type - +Modules/_ctypes/_ctypes.c - Simple_Type - +Modules/_ctypes/_ctypes.c - PyCPointer_Type - +Modules/_ctypes/_ctypes.c - PyComError_Type - +Modules/_ctypes/stgdict.c - PyCStgDict_Type - +Modules/_cursesmodule.c - PyCursesWindow_Type - +Modules/_datetimemodule.c - PyDateTime_DeltaType - +Modules/_datetimemodule.c - PyDateTime_IsoCalendarDateType - +Modules/_datetimemodule.c - PyDateTime_DateType - +Modules/_datetimemodule.c - PyDateTime_TZInfoType - +Modules/_datetimemodule.c - PyDateTime_TimeZoneType - +Modules/_datetimemodule.c - PyDateTime_TimeType - +Modules/_datetimemodule.c - PyDateTime_DateTimeType - +Modules/_decimal/_decimal.c - PyDecSignalDictMixin_Type - +Modules/_decimal/_decimal.c - PyDecContextManager_Type - +Modules/_decimal/_decimal.c - PyDec_Type - +Modules/_decimal/_decimal.c - PyDecContext_Type - +Modules/_elementtree.c - ElementIter_Type - +Modules/_elementtree.c - Element_Type - +Modules/_elementtree.c - TreeBuilder_Type - +Modules/_elementtree.c - XMLParser_Type - +Modules/_functoolsmodule.c - partial_type - +Modules/_functoolsmodule.c - keyobject_type - +Modules/_functoolsmodule.c - lru_list_elem_type - +Modules/_functoolsmodule.c - lru_cache_type - +Modules/_io/bufferedio.c - PyBufferedIOBase_Type - +Modules/_io/bufferedio.c - PyBufferedReader_Type - +Modules/_io/bufferedio.c - PyBufferedWriter_Type - +Modules/_io/bufferedio.c - PyBufferedRWPair_Type - +Modules/_io/bufferedio.c - PyBufferedRandom_Type - +Modules/_io/bytesio.c - PyBytesIO_Type - +Modules/_io/bytesio.c - _PyBytesIOBuffer_Type - +Modules/_io/fileio.c - PyFileIO_Type - +Modules/_io/iobase.c - PyIOBase_Type - +Modules/_io/iobase.c - PyRawIOBase_Type - +Modules/_io/stringio.c - PyStringIO_Type - +Modules/_io/textio.c - PyTextIOBase_Type - +Modules/_io/textio.c - PyIncrementalNewlineDecoder_Type - +Modules/_io/textio.c - PyTextIOWrapper_Type - +Modules/_io/winconsoleio.c - PyWindowsConsoleIO_Type - +Modules/itertoolsmodule.c - groupby_type - +Modules/itertoolsmodule.c - _grouper_type - +Modules/itertoolsmodule.c - teedataobject_type - +Modules/itertoolsmodule.c - tee_type - +Modules/itertoolsmodule.c - cycle_type - +Modules/itertoolsmodule.c - dropwhile_type - +Modules/itertoolsmodule.c - takewhile_type - +Modules/itertoolsmodule.c - islice_type - +Modules/itertoolsmodule.c - starmap_type - +Modules/itertoolsmodule.c - chain_type - +Modules/itertoolsmodule.c - product_type - +Modules/itertoolsmodule.c - combinations_type - +Modules/itertoolsmodule.c - cwr_type - +Modules/itertoolsmodule.c - permutations_type - +Modules/itertoolsmodule.c - accumulate_type - +Modules/itertoolsmodule.c - compress_type - +Modules/itertoolsmodule.c - filterfalse_type - +Modules/itertoolsmodule.c - count_type - +Modules/itertoolsmodule.c - repeat_type - +Modules/itertoolsmodule.c - ziplongest_type - +Modules/mmapmodule.c - mmap_object_type - +Modules/_multiprocessing/semaphore.c - _PyMp_SemLockType - +Modules/ossaudiodev.c - OSSAudioType - +Modules/ossaudiodev.c - OSSMixerType - +Modules/_pickle.c - Pdata_Type - +Modules/_pickle.c - PicklerMemoProxyType - +Modules/_pickle.c - Pickler_Type - +Modules/_pickle.c - UnpicklerMemoProxyType - +Modules/_pickle.c - Unpickler_Type - +Modules/pyexpat.c - Xmlparsetype - +Modules/_queuemodule.c - PySimpleQueueType - +Modules/socketmodule.c - sock_type - +Modules/_sre.c - Pattern_Type - +Modules/_sre.c - Match_Type - +Modules/_sre.c - Scanner_Type - +Modules/_ssl.c - PySSLSocket_Type - +Modules/_ssl.c - PySSLContext_Type - +Modules/_ssl.c - PySSLMemoryBIO_Type - +Modules/_ssl.c - PySSLSession_Type - +Modules/_threadmodule.c - Locktype - +Modules/_threadmodule.c - RLocktype - +Modules/_threadmodule.c - localdummytype - +Modules/_threadmodule.c - localtype - +Modules/xxmodule.c - Xxo_Type - +Modules/xxmodule.c - Str_Type - +Modules/xxmodule.c - Null_Type - +Modules/_xxsubinterpretersmodule.c - ChannelIDtype - +Modules/xxsubtype.c - spamlist_type - +Modules/xxsubtype.c - spamdict_type - +Modules/_zoneinfo.c - PyZoneInfo_ZoneInfoType - + +#----------------------- +# module initialized once - non-static types +# [] + +# structseq types [6] +Modules/timemodule.c - StructTimeType - +Modules/signalmodule.c - SiginfoType - +Modules/_threadmodule.c - ExceptHookArgsType - +Modules/spwdmodule.c - StructSpwdType - +Modules/resource.c - StructRUsageType - +Modules/_cursesmodule.c - NcursesVersionType - + +# heap types [12] +Modules/_tkinter.c - Tkapp_Type - +Modules/_tkinter.c - PyTclObject_Type - +Modules/_tkinter.c - Tktt_Type - +Modules/xxlimited.c - Xxo_Type - +Modules/_decimal/_decimal.c - DecimalTuple - +Modules/_decimal/_decimal.c - PyDecSignalDict_Type - +Modules/_sqlite/connection.c - pysqlite_ConnectionType - +Modules/_sqlite/statement.c - pysqlite_StatementType - +Modules/_sqlite/cache.c - pysqlite_NodeType - +Modules/_sqlite/cache.c - pysqlite_CacheType - +Modules/_sqlite/row.c - pysqlite_RowType - +Modules/_sqlite/prepare_protocol.c - pysqlite_PrepareProtocolType - +Modules/_sqlite/cursor.c - pysqlite_CursorType - + +# exception types [] +Modules/_ctypes/_ctypes.c - PyExc_ArgError - +Modules/_cursesmodule.c - PyCursesError - +Modules/_decimal/_decimal.c - DecimalException - +Modules/_queuemodule.c - EmptyError - +Modules/_sqlite/module.h - pysqlite_Error - +Modules/_sqlite/module.h - pysqlite_Warning - +Modules/_sqlite/module.h - pysqlite_InterfaceError - +Modules/_sqlite/module.h - pysqlite_DatabaseError - +Modules/_sqlite/module.h - pysqlite_InternalError - +Modules/_sqlite/module.h - pysqlite_OperationalError - +Modules/_sqlite/module.h - pysqlite_ProgrammingError - +Modules/_sqlite/module.h - pysqlite_IntegrityError - +Modules/_sqlite/module.h - pysqlite_DataError - +Modules/_sqlite/module.h - pysqlite_NotSupportedError - +Modules/_ssl.c - PySSLErrorObject - +Modules/_ssl.c - PySSLCertVerificationErrorObject - +Modules/_ssl.c - PySSLZeroReturnErrorObject - +Modules/_ssl.c - PySSLWantReadErrorObject - +Modules/_ssl.c - PySSLWantWriteErrorObject - +Modules/_ssl.c - PySSLSyscallErrorObject - +Modules/_ssl.c - PySSLEOFErrorObject - +Modules/_threadmodule.c - ThreadError - +Modules/_tkinter.c - Tkinter_TclError - +Modules/_xxsubinterpretersmodule.c - ChannelError - +Modules/_xxsubinterpretersmodule.c - ChannelNotFoundError - +Modules/_xxsubinterpretersmodule.c - ChannelClosedError - +Modules/_xxsubinterpretersmodule.c - ChannelEmptyError - +Modules/_xxsubinterpretersmodule.c - ChannelNotEmptyError - +Modules/_xxsubinterpretersmodule.c - RunFailedError - +Modules/ossaudiodev.c - OSSAudioError - +Modules/pyexpat.c - ErrorObject - +Modules/signalmodule.c - ItimerError - +Modules/socketmodule.c - socket_herror - +Modules/socketmodule.c - socket_gaierror - +Modules/socketmodule.c - socket_timeout - +Modules/xxlimited.c - ErrorObject - +Modules/xxmodule.c - ErrorObject - + +#----------------------- +# module initialized once - cached PyUnicode +# [] + +# Py_IDENTIFIER (global) [] +Modules/faulthandler.c - PyId_enable - +Modules/faulthandler.c - PyId_fileno - +Modules/faulthandler.c - PyId_flush - +Modules/faulthandler.c - PyId_stderr - +Modules/_asynciomodule.c - PyId___asyncio_running_event_loop__ - +Modules/_asynciomodule.c - PyId__asyncio_future_blocking - +Modules/_asynciomodule.c - PyId_add_done_callback - +Modules/_asynciomodule.c - PyId_call_soon - +Modules/_asynciomodule.c - PyId_cancel - +Modules/_asynciomodule.c - PyId_get_event_loop - +Modules/_asynciomodule.c - PyId_throw - +Modules/posixmodule.c - PyId___fspath__ - +Modules/_abc.c - PyId___abstractmethods__ - +Modules/_abc.c - PyId___class__ - +Modules/_abc.c - PyId___dict__ - +Modules/_abc.c - PyId___bases__ - +Modules/_abc.c - PyId__abc_impl - +Modules/_abc.c - PyId___subclasscheck__ - +Modules/_abc.c - PyId___subclasshook__ - +Modules/_bisectmodule.c - PyId_insert - +Modules/_threadmodule.c - PyId_stderr - +Modules/_threadmodule.c - PyId_flush - +Modules/unicodedata.c - PyId_NFC - +Modules/unicodedata.c - PyId_NFD - +Modules/unicodedata.c - PyId_NFKC - +Modules/unicodedata.c - PyId_NFKD - +Modules/_datetimemodule.c - PyId_as_integer_ratio - +Modules/_datetimemodule.c - PyId_fromutc - +Modules/_datetimemodule.c - PyId_isoformat - +Modules/_datetimemodule.c - PyId_strftime - +Modules/_sqlite/connection.c - PyId_cursor - +Modules/cjkcodecs/multibytecodec.c - PyId_write - +Modules/_io/textio.c - PyId_close - +Modules/_io/textio.c - PyId__dealloc_warn - +Modules/_io/textio.c - PyId_decode - +Modules/_io/textio.c - PyId_fileno - +Modules/_io/textio.c - PyId_flush - +Modules/_io/textio.c - PyId_getpreferredencoding - +Modules/_io/textio.c - PyId_isatty - +Modules/_io/textio.c - PyId_mode - +Modules/_io/textio.c - PyId_name - +Modules/_io/textio.c - PyId_raw - +Modules/_io/textio.c - PyId_read - +Modules/_io/textio.c - PyId_readable - +Modules/_io/textio.c - PyId_replace - +Modules/_io/textio.c - PyId_reset - +Modules/_io/textio.c - PyId_seek - +Modules/_io/textio.c - PyId_seekable - +Modules/_io/textio.c - PyId_setstate - +Modules/_io/textio.c - PyId_strict - +Modules/_io/textio.c - PyId_tell - +Modules/_io/textio.c - PyId_writable - +Modules/_io/fileio.c - PyId_name - +Modules/_io/bufferedio.c - PyId_close - +Modules/_io/bufferedio.c - PyId__dealloc_warn - +Modules/_io/bufferedio.c - PyId_flush - +Modules/_io/bufferedio.c - PyId_isatty - +Modules/_io/bufferedio.c - PyId_mode - +Modules/_io/bufferedio.c - PyId_name - +Modules/_io/bufferedio.c - PyId_peek - +Modules/_io/bufferedio.c - PyId_read - +Modules/_io/bufferedio.c - PyId_read1 - +Modules/_io/bufferedio.c - PyId_readable - +Modules/_io/bufferedio.c - PyId_readinto - +Modules/_io/bufferedio.c - PyId_readinto1 - +Modules/_io/bufferedio.c - PyId_writable - +Modules/_io/bufferedio.c - PyId_write - +Modules/_io/iobase.c - PyId___IOBase_closed - +Modules/_io/iobase.c - PyId_read - + +# Py_IDENTIFIER (local) [] +Modules/_ssl.c fill_and_set_sslerror PyId_reason - +Modules/_ssl.c fill_and_set_sslerror PyId_library - +Modules/_ssl.c fill_and_set_sslerror PyId_verify_message - +Modules/_ssl.c fill_and_set_sslerror PyId_verify_code - +Modules/timemodule.c time_strptime PyId__strptime_time - +Modules/itertoolsmodule.c _grouper_reduce PyId_iter - +Modules/itertoolsmodule.c itertools_tee_impl PyId___copy__ - +Modules/itertoolsmodule.c cycle_reduce PyId___setstate__ - +Modules/itertoolsmodule.c zip_longest_new PyId_fillvalue - +Modules/mmapmodule.c mmap__exit__method PyId_close - +Modules/_gdbmmodule.c gdbm__exit__ PyId_close - +Modules/arraymodule.c array_array_fromfile_impl PyId_read - +Modules/arraymodule.c array_array_tofile PyId_write - +Modules/arraymodule.c array_array___reduce_ex__ PyId__array_reconstructor - +Modules/arraymodule.c array_array___reduce_ex__ PyId___dict__ - +Modules/arraymodule.c array_arrayiterator___reduce___impl PyId_iter - +Modules/_collectionsmodule.c deque_reduce PyId___dict__ - +Modules/_collectionsmodule.c defdict_reduce PyId_items - +Modules/_collectionsmodule.c _collections__count_elements_impl PyId_get - +Modules/_collectionsmodule.c _collections__count_elements_impl PyId___setitem__ - +Modules/_csv.c csv_writer PyId_write - +Modules/_asynciomodule.c get_future_loop PyId_get_loop - +Modules/_asynciomodule.c get_future_loop PyId__loop - +Modules/_asynciomodule.c future_init PyId_get_debug - +Modules/_asynciomodule.c FutureObj_get_state PyId_PENDING - +Modules/_asynciomodule.c FutureObj_get_state PyId_CANCELLED - +Modules/_asynciomodule.c FutureObj_get_state PyId_FINISHED - +Modules/_asynciomodule.c FutureObj_repr PyId__repr_info - +Modules/_asynciomodule.c FutureObj_finalize PyId_call_exception_handler - +Modules/_asynciomodule.c FutureObj_finalize PyId_message - +Modules/_asynciomodule.c FutureObj_finalize PyId_exception - +Modules/_asynciomodule.c FutureObj_finalize PyId_future - +Modules/_asynciomodule.c FutureObj_finalize PyId_source_traceback - +Modules/_asynciomodule.c register_task PyId_add - +Modules/_asynciomodule.c unregister_task PyId_discard - +Modules/_asynciomodule.c TaskObj_finalize PyId_call_exception_handler - +Modules/_asynciomodule.c TaskObj_finalize PyId_task - +Modules/_asynciomodule.c TaskObj_finalize PyId_message - +Modules/_asynciomodule.c TaskObj_finalize PyId_source_traceback - +Modules/mathmodule.c math_ceil PyId___ceil__ - +Modules/mathmodule.c math_floor PyId___floor__ - +Modules/mathmodule.c math_trunc PyId___trunc__ - +Modules/_operator.c methodcaller_reduce PyId_partial - +Modules/_lzmamodule.c build_filter_spec PyId_id - +Modules/_lzmamodule.c build_filter_spec PyId_lc - +Modules/_lzmamodule.c build_filter_spec PyId_lp - +Modules/_lzmamodule.c build_filter_spec PyId_pb - +Modules/_lzmamodule.c build_filter_spec PyId_dict_size - +Modules/_lzmamodule.c build_filter_spec PyId_dist - +Modules/_lzmamodule.c build_filter_spec PyId_start_offset - +Modules/pyexpat.c pyexpat_xmlparser_ParseFile PyId_read - +Modules/_threadmodule.c thread_excepthook_file PyId_name - +Modules/_elementtree.c _elementtree_Element_find_impl PyId_find - +Modules/_elementtree.c _elementtree_Element_findtext_impl PyId_findtext - +Modules/_elementtree.c _elementtree_Element_findall_impl PyId_findall - +Modules/_elementtree.c _elementtree_Element_iterfind_impl PyId_iterfind - +Modules/_elementtree.c treebuilder_flush_data PyId_text - +Modules/_elementtree.c treebuilder_flush_data PyId_tail - +Modules/_elementtree.c treebuilder_add_subelement PyId_append - +Modules/_elementtree.c expat_start_doctype_handler PyId_doctype - +Modules/_pickle.c _Pickle_InitState PyId_getattr - +Modules/_pickle.c _Pickler_SetOutputStream PyId_write - +Modules/_pickle.c _Unpickler_SetInputStream PyId_peek - +Modules/_pickle.c _Unpickler_SetInputStream PyId_read - +Modules/_pickle.c _Unpickler_SetInputStream PyId_readinto - +Modules/_pickle.c _Unpickler_SetInputStream PyId_readline - +Modules/_pickle.c whichmodule PyId___module__ - +Modules/_pickle.c whichmodule PyId_modules - +Modules/_pickle.c whichmodule PyId___main__ - +Modules/_pickle.c save_bytes PyId_latin1 - +Modules/_pickle.c save_dict PyId_items - +Modules/_pickle.c save_global PyId___name__ - +Modules/_pickle.c save_global PyId___qualname__ - +Modules/_pickle.c get_class PyId___class__ - +Modules/_pickle.c save_reduce PyId___name__ - +Modules/_pickle.c save_reduce PyId___newobj_ex__ - +Modules/_pickle.c save_reduce PyId___newobj__ - +Modules/_pickle.c save_reduce PyId___new__ - +Modules/_pickle.c save PyId___reduce__ - +Modules/_pickle.c save PyId___reduce_ex__ - +Modules/_pickle.c dump PyId_reducer_override - +Modules/_pickle.c _pickle_Pickler___init___impl PyId_persistent_id - +Modules/_pickle.c _pickle_Pickler___init___impl PyId_dispatch_table - +Modules/_pickle.c find_class PyId_find_class - +Modules/_pickle.c instantiate PyId___getinitargs__ - +Modules/_pickle.c instantiate PyId___new__ - +Modules/_pickle.c do_append PyId_extend - +Modules/_pickle.c do_append PyId_append - +Modules/_pickle.c load_additems PyId_add - +Modules/_pickle.c load_build PyId___setstate__ - +Modules/_pickle.c load_build PyId___dict__ - +Modules/_pickle.c _pickle_Unpickler___init___impl PyId_persistent_load - +Modules/_cursesmodule.c _curses_window_putwin PyId_write - +Modules/_cursesmodule.c _curses_getwin PyId_read - +Modules/_cursesmodule.c update_lines_cols PyId_LINES - +Modules/_cursesmodule.c update_lines_cols PyId_COLS - +Modules/_datetimemodule.c call_tzname PyId_tzname - +Modules/_datetimemodule.c make_Zreplacement PyId_replace - +Modules/_datetimemodule.c time_time PyId_time - +Modules/_datetimemodule.c build_struct_time PyId_struct_time - +Modules/_datetimemodule.c date_today PyId_fromtimestamp - +Modules/_datetimemodule.c date_strftime PyId_timetuple - +Modules/_datetimemodule.c tzinfo_reduce PyId___getinitargs__ - +Modules/_datetimemodule.c tzinfo_reduce PyId___getstate__ - +Modules/_datetimemodule.c datetime_strptime PyId__strptime_datetime - +Modules/ossaudiodev.c oss_exit PyId_close - +Modules/main.c pymain_sys_path_add_path0 PyId_path - +Modules/_sqlite/microprotocols.c pysqlite_microprotocols_adapt PyId___adapt__ - +Modules/_sqlite/microprotocols.c pysqlite_microprotocols_adapt PyId___conform__ - +Modules/_sqlite/connection.c _pysqlite_final_callback PyId_finalize - +Modules/_sqlite/connection.c pysqlite_connection_set_isolation_level PyId_upper - +Modules/_sqlite/connection.c pysqlite_connection_iterdump PyId__iterdump - +Modules/_sqlite/connection.c pysqlite_connection_create_collation PyId_upper - +Modules/_sqlite/module.c module_register_converter PyId_upper - +Modules/_sqlite/cursor.c _pysqlite_get_converter PyId_upper - +Modules/_io/_iomodule.c _io_open_impl PyId__blksize - +Modules/_io/_iomodule.c _io_open_impl PyId_isatty - +Modules/_io/_iomodule.c _io_open_impl PyId_mode - +Modules/_io/_iomodule.c _io_open_impl PyId_close - +Modules/_io/fileio.c _io_FileIO_close_impl PyId_close - +Modules/_io/iobase.c _io__IOBase_tell_impl PyId_seek - +Modules/_io/iobase.c iobase_finalize PyId__finalizing - +Modules/_io/iobase.c _io__IOBase_readlines_impl PyId_extend - +Modules/_io/iobase.c _io__RawIOBase_read_impl PyId_readall - +Modules/_ctypes/stgdict.c MakeAnonFields PyId__anonymous_ - +Modules/_ctypes/stgdict.c PyCStructUnionType_update_stgdict PyId__swappedbytes_ - +Modules/_ctypes/stgdict.c PyCStructUnionType_update_stgdict PyId__use_broken_old_ctypes_structure_semantics_ - +Modules/_ctypes/stgdict.c PyCStructUnionType_update_stgdict PyId__pack_ - +Modules/_ctypes/callproc.c ConvParam PyId__as_parameter_ - +Modules/_ctypes/callproc.c unpickle PyId___new__ - +Modules/_ctypes/callproc.c unpickle PyId___setstate__ - +Modules/_ctypes/_ctypes.c StructUnionType_new PyId__abstract_ - +Modules/_ctypes/_ctypes.c StructUnionType_new PyId__fields_ - +Modules/_ctypes/_ctypes.c CDataType_from_param PyId__as_parameter_ - +Modules/_ctypes/_ctypes.c PyCPointerType_new PyId__type_ - +Modules/_ctypes/_ctypes.c PyCPointerType_set_type PyId__type_ - +Modules/_ctypes/_ctypes.c PyCArrayType_new PyId__length_ - +Modules/_ctypes/_ctypes.c PyCArrayType_new PyId__type_ - +Modules/_ctypes/_ctypes.c c_wchar_p_from_param PyId__as_parameter_ - +Modules/_ctypes/_ctypes.c c_char_p_from_param PyId__as_parameter_ - +Modules/_ctypes/_ctypes.c c_void_p_from_param PyId__as_parameter_ - +Modules/_ctypes/_ctypes.c PyCSimpleType_new PyId__type_ - +Modules/_ctypes/_ctypes.c PyCSimpleType_from_param PyId__as_parameter_ - +Modules/_ctypes/_ctypes.c converters_from_argtypes PyId_from_param - +Modules/_ctypes/_ctypes.c make_funcptrtype_dict PyId__flags_ - +Modules/_ctypes/_ctypes.c make_funcptrtype_dict PyId__argtypes_ - +Modules/_ctypes/_ctypes.c make_funcptrtype_dict PyId__restype_ - +Modules/_ctypes/_ctypes.c make_funcptrtype_dict PyId__check_retval_ - +Modules/_ctypes/_ctypes.c PyCFuncPtr_set_restype PyId__check_retval_ - +Modules/_ctypes/_ctypes.c _build_result PyId___ctypes_from_outparam__ - +Modules/_ctypes/_ctypes.c _init_pos_args PyId__fields_ - + +# _Py_static_string [] +Modules/_pickle.c get_dotted_path PyId_dot - + +# manually cached PyUnicodeOjbect [] +Modules/_asynciomodule.c - context_kwname - +Modules/_ctypes/callproc.c _ctypes_get_errobj error_object_name - +Modules/_ctypes/_ctypes.c CreateSwappedType suffix - +Modules/_io/_iomodule.c - _PyIO_str_close - +Modules/_io/_iomodule.c - _PyIO_str_closed - +Modules/_io/_iomodule.c - _PyIO_str_decode - +Modules/_io/_iomodule.c - _PyIO_str_encode - +Modules/_io/_iomodule.c - _PyIO_str_fileno - +Modules/_io/_iomodule.c - _PyIO_str_flush - +Modules/_io/_iomodule.c - _PyIO_str_getstate - +Modules/_io/_iomodule.c - _PyIO_str_isatty - +Modules/_io/_iomodule.c - _PyIO_str_newlines - +Modules/_io/_iomodule.c - _PyIO_str_nl - +Modules/_io/_iomodule.c - _PyIO_str_peek - +Modules/_io/_iomodule.c - _PyIO_str_read - +Modules/_io/_iomodule.c - _PyIO_str_read1 - +Modules/_io/_iomodule.c - _PyIO_str_readable - +Modules/_io/_iomodule.c - _PyIO_str_readall - +Modules/_io/_iomodule.c - _PyIO_str_readinto - +Modules/_io/_iomodule.c - _PyIO_str_readline - +Modules/_io/_iomodule.c - _PyIO_str_reset - +Modules/_io/_iomodule.c - _PyIO_str_seek - +Modules/_io/_iomodule.c - _PyIO_str_seekable - +Modules/_io/_iomodule.c - _PyIO_str_setstate - +Modules/_io/_iomodule.c - _PyIO_str_tell - +Modules/_io/_iomodule.c - _PyIO_str_truncate - +Modules/_io/_iomodule.c - _PyIO_str_writable - +Modules/_io/_iomodule.c - _PyIO_str_write - +Modules/_io/_iomodule.c - _PyIO_empty_str - +Modules/_json.c _encoded_const s_null - +Modules/_json.c _encoded_const s_true - +Modules/_json.c _encoded_const s_false - +Modules/_json.c encoder_listencode_dict open_dict - +Modules/_json.c encoder_listencode_dict close_dict - +Modules/_json.c encoder_listencode_dict empty_dict - +Modules/_json.c encoder_listencode_list open_array - +Modules/_json.c encoder_listencode_list close_array - +Modules/_json.c encoder_listencode_list empty_array - +Modules/_threadmodule.c - str_dict - +Modules/_tracemalloc.c - unknown_filename - + +#----------------------- +# module initialized once - other PyObject +# [] + +# cached during module init [] +Modules/_asynciomodule.c - asyncio_mod - +Modules/_asynciomodule.c - traceback_extract_stack - +Modules/_asynciomodule.c - asyncio_get_event_loop_policy - +Modules/_asynciomodule.c - asyncio_future_repr_info_func - +Modules/_asynciomodule.c - asyncio_iscoroutine_func - +Modules/_asynciomodule.c - asyncio_task_get_stack_func - +Modules/_asynciomodule.c - asyncio_task_print_stack_func - +Modules/_asynciomodule.c - asyncio_task_repr_info_func - +Modules/_asynciomodule.c - asyncio_InvalidStateError - +Modules/_asynciomodule.c - asyncio_CancelledError - +Modules/_zoneinfo.c - io_open - +Modules/_zoneinfo.c - _tzpath_find_tzfile - +Modules/_zoneinfo.c - _common_mod - + +# other [] +Modules/_ctypes/_ctypes.c - _unpickle - +Modules/_ctypes/_ctypes.c PyCArrayType_from_ctype cache - +Modules/_cursesmodule.c - ModDict - +Modules/_datetimemodule.c datetime_strptime module - +Modules/_datetimemodule.c - PyDateTime_TimeZone_UTC - +Modules/_datetimemodule.c - PyDateTime_Epoch - +Modules/_datetimemodule.c - us_per_ms - +Modules/_datetimemodule.c - us_per_second - +Modules/_datetimemodule.c - us_per_minute - +Modules/_datetimemodule.c - us_per_hour - +Modules/_datetimemodule.c - us_per_day - +Modules/_datetimemodule.c - us_per_week - +Modules/_datetimemodule.c - seconds_per_day - +Modules/_decimal/_decimal.c PyInit__decimal capsule - +Modules/_decimal/_decimal.c - basic_context_template - +Modules/_decimal/_decimal.c - current_context_var - +Modules/_decimal/_decimal.c - default_context_template - +Modules/_decimal/_decimal.c - extended_context_template - +Modules/_decimal/_decimal.c - round_map - +Modules/_decimal/_decimal.c - Rational - +Modules/_decimal/_decimal.c - SignalTuple - +Modules/_functoolsmodule.c - kwd_mark - +Modules/_io/_iomodule.c - _PyIO_empty_bytes - +Modules/_json.c raise_errmsg JSONDecodeError - +Modules/_sqlite/microprotocols.c - psyco_adapters - +Modules/_sqlite/module.h - _pysqlite_converters - +Modules/_ssl.c - err_codes_to_names - +Modules/_ssl.c - err_names_to_codes - +Modules/_ssl.c - lib_codes_to_names - +# XXX This should have been found by the analyzer but wasn't: +Modules/_ssl.c - _ssl_locks - +Modules/_struct.c - cache - +Modules/_tracemalloc.c - tracemalloc_empty_traceback - +Modules/arraymodule.c array_array___reduce_ex__ array_reconstructor - +Modules/cjkcodecs/cjkcodecs.h getmultibytecodec cofunc - +Modules/signalmodule.c - DefaultHandler - +Modules/signalmodule.c - IgnoreHandler - +Modules/signalmodule.c - IntHandler - + +#----------------------- +# module initialized once - non-PyObject +# [] + +# pre-allocated buffer [] +Modules/getbuildinfo.c Py_GetBuildInfo buildinfo - +Modules/nismodule.c nisproc_maplist_2 res - +Modules/pyexpat.c PyUnknownEncodingHandler template_buffer - + +# other [] +Include/datetime.h - PyDateTimeAPI - +Modules/_asynciomodule.c - module_initialized - +Modules/_ctypes/cfield.c _ctypes_get_fielddesc initialized - +Modules/_ctypes/malloc_closure.c - _pagesize - +Modules/_cursesmodule.c - initialised - +Modules/_cursesmodule.c - initialised_setupterm - +Modules/_cursesmodule.c - initialisedcolors - +Modules/_cursesmodule.c - screen_encoding - +Modules/_cursesmodule.c PyInit__curses PyCurses_API - +Modules/_datetimemodule.c - CAPI - +Modules/_decimal/_decimal.c PyInit__decimal initialized - +Modules/_decimal/_decimal.c - _py_long_multiply - +Modules/_decimal/_decimal.c - _py_long_floor_divide - +Modules/_decimal/_decimal.c - _py_long_power - +Modules/_decimal/_decimal.c - _py_float_abs - +Modules/_decimal/_decimal.c - _py_long_bit_length - +Modules/_decimal/_decimal.c - _py_float_as_integer_ratio - +Modules/_decimal/_decimal.c - _decimal_api - +Modules/_elementtree.c - expat_capi - +Modules/_io/bufferedio.c _PyIO_trap_eintr eintr_int - +Modules/_sqlite/module.h - _pysqlite_enable_callback_tracebacks - +Modules/_sqlite/module.h - pysqlite_BaseTypeAdapted - +Modules/_ssl.c - _ssl_locks_count - +Modules/cjkcodecs/cjkcodecs.h - codec_list - +Modules/cjkcodecs/cjkcodecs.h - mapping_list - +# XXX This should have been found by the analyzer but wasn't: +Python/fileutils.c - _Py_open_cloexec_works - +Modules/getaddrinfo.c - gai_afdl - +Modules/posixmodule.c os_dup2_impl dup3_works - +Modules/posixmodule.c - structseq_new - +Modules/posixmodule.c - ticks_per_second - +Modules/pyexpat.c PyInit_pyexpat capi - +Modules/readline.c - using_libedit_emulation - +Modules/readline.c - libedit_history_start - +Modules/resource.c - initialized - +Modules/signalmodule.c - initialized - +Modules/socketmodule.c - accept4_works - +Modules/socketmodule.c - sock_cloexec_works - +Modules/socketmodule.c - PySocketModuleAPI - +Modules/spwdmodule.c - initialized - +Modules/timemodule.c - initialized - +Modules/timemodule.c _PyTime_GetClockWithInfo initialized - +Modules/timemodule.c _PyTime_GetProcessTimeWithInfo ticks_per_second - + +#----------------------- +# module state +# [] + +Modules/posixmodule.c - environ - + +# PyObject [] +Modules/_asynciomodule.c - cached_running_holder - +Modules/_asynciomodule.c - fi_freelist - +Modules/_asynciomodule.c - fi_freelist_len - +Modules/_asynciomodule.c - all_tasks - +Modules/_asynciomodule.c - current_tasks - +Modules/_asynciomodule.c - iscoroutine_typecache - +Modules/_ctypes/_ctypes.c - _ctypes_ptrtype_cache - +Modules/_tkinter.c - tcl_lock - +Modules/_tkinter.c - excInCmd - +Modules/_tkinter.c - valInCmd - +Modules/_tkinter.c - trbInCmd - +Modules/_zoneinfo.c - TIMEDELTA_CACHE - +Modules/_zoneinfo.c - ZONEINFO_WEAK_CACHE - +Modules/faulthandler.c - fatal_error - +Modules/faulthandler.c - thread - +Modules/faulthandler.c - user_signals - +Modules/faulthandler.c - stack - +Modules/faulthandler.c - old_stack - +Modules/signalmodule.c - Handlers - +Modules/syslogmodule.c - S_ident_o - + +# other [] +Modules/_asynciomodule.c - cached_running_holder_tsid - +Modules/_asynciomodule.c - task_name_counter - +Modules/_ctypes/cfield.c - formattable - +Modules/_ctypes/malloc_closure.c - free_list - +Modules/_curses_panel.c - lop - +Modules/_tkinter.c - quitMainLoop - +Modules/_tkinter.c - errorInCmd - +Modules/_tkinter.c - Tkinter_busywaitinterval - +Modules/_tkinter.c - call_mutex - +Modules/_tkinter.c - var_mutex - +Modules/_tkinter.c - command_mutex - +Modules/_tkinter.c - HeadFHCD - +Modules/_tkinter.c - stdin_ready - +Modules/_tkinter.c - event_tstate - +Modules/_tracemalloc.c - allocators - +Modules/_tracemalloc.c - tables_lock - +Modules/_tracemalloc.c - tracemalloc_traced_memory - +Modules/_tracemalloc.c - tracemalloc_peak_traced_memory - +Modules/_tracemalloc.c - tracemalloc_filenames - +Modules/_tracemalloc.c - tracemalloc_traceback - +Modules/_tracemalloc.c - tracemalloc_tracebacks - +Modules/_tracemalloc.c - tracemalloc_traces - +Modules/_tracemalloc.c - tracemalloc_domains - +Modules/_tracemalloc.c - tracemalloc_reentrant_key - +Modules/_xxsubinterpretersmodule.c - _globals - +Modules/_zoneinfo.c - ZONEINFO_STRONG_CACHE - +Modules/_zoneinfo.c - ZONEINFO_STRONG_CACHE_MAX_SIZE - +Modules/_zoneinfo.c - NO_TTINFO - +Modules/faulthandler.c faulthandler_dump_traceback reentrant - +Modules/readline.c - completer_word_break_characters - +Modules/readline.c - _history_length - +Modules/readline.c - should_auto_add_history - +Modules/readline.c - sigwinch_received - +Modules/readline.c - sigwinch_ohandler - +Modules/readline.c - completed_input_string - +Modules/rotatingtree.c - random_stream - +Modules/rotatingtree.c - random_value - +Modules/signalmodule.c - is_tripped - +Modules/signalmodule.c - wakeup - +Modules/socketmodule.c - defaulttimeout - +Modules/syslogmodule.c - S_log_open - + +#----------------------- +# runtime state +# [] + +# PyObject [] +Objects/typeobject.c resolve_slotdups pname - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c - extensions - + +# allocator [] +Objects/obmalloc.c - _Py_tracemalloc_config - +Objects/obmalloc.c - _PyObject_Arena - +Objects/obmalloc.c - arenas - +Objects/obmalloc.c - maxarenas - +Objects/obmalloc.c - unused_arena_objects - +Objects/obmalloc.c - usable_arenas - +Objects/obmalloc.c - nfp2lasta - +Objects/obmalloc.c - narenas_currently_allocated - +Objects/obmalloc.c - ntimes_arena_allocated - +Objects/obmalloc.c - narenas_highwater - +Objects/obmalloc.c - raw_allocated_blocks - +Objects/obmalloc.c new_arena debug_stats - + +# REPL [] +Parser/myreadline.c - _PyOS_ReadlineLock - +Parser/myreadline.c - _PyOS_ReadlineTState - +Parser/myreadline.c - PyOS_InputHook - +Parser/myreadline.c - PyOS_ReadlineFunctionPointer - + +# other [] +Objects/dictobject.c - pydict_global_version - +Objects/floatobject.c - double_format - +Objects/floatobject.c - float_format - +Objects/floatobject.c - detected_double_format - +Objects/floatobject.c - detected_float_format - +Objects/moduleobject.c - max_module_number - +Objects/object.c - _Py_RefTotal - +Objects/typeobject.c - next_version_tag - +Objects/typeobject.c resolve_slotdups ptrs - +Parser/pegen.c - memo_statistics - +# XXX This should have been found by the analyzer but wasn't: +Python/bootstrap_hash.c - urandom_cache - +# XXX This should have been found by the analyzer but wasn't: +Python/ceval.c - lltrace - +# XXX This should have been found by the analyzer but wasn't: +Python/ceval.c make_pending_calls busy - +Python/dynload_shlib.c - handles - +Python/dynload_shlib.c - nhandles - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c - import_lock_level - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c - import_lock_thread - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c import_find_and_load accumulated - +# XXX This should have been found by the analyzer but wasn't: +Python/import.c import_find_and_load import_level - +# XXX This should have been found by the analyzer but wasn't: +Python/pylifecycle.c - _Py_UnhandledKeyboardInterrupt - +# XXX This should have been found by the analyzer but wasn't: +Python/pylifecycle.c fatal_error reentrant - |