summaryrefslogtreecommitdiffstats
path: root/Tools/c-analyzer
diff options
context:
space:
mode:
authorEric Snow <ericsnowcurrently@gmail.com>2020-11-20 22:39:28 (GMT)
committerGitHub <noreply@github.com>2020-11-20 22:39:28 (GMT)
commit9f02b479e6b6b48d0c2aad621978cff82e530b15 (patch)
tree0632759170527a66070fc495bb832a5e7b256eb7 /Tools/c-analyzer
parenta993e901ebe60c38d46ecb31f771d0b4a206828c (diff)
downloadcpython-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__.py18
-rw-r--r--Tools/c-analyzer/c_analyzer/datafiles.py71
-rw-r--r--Tools/c-analyzer/c_analyzer/info.py13
-rw-r--r--Tools/c-analyzer/c_common/fsutil.py120
-rw-r--r--Tools/c-analyzer/c_common/scriptutil.py34
-rw-r--r--Tools/c-analyzer/c_common/tables.py13
-rw-r--r--Tools/c-analyzer/c_parser/__main__.py10
-rw-r--r--Tools/c-analyzer/c_parser/datafiles.py35
-rw-r--r--Tools/c-analyzer/c_parser/info.py44
-rw-r--r--Tools/c-analyzer/cpython/__main__.py7
-rw-r--r--Tools/c-analyzer/cpython/_analyzer.py4
-rw-r--r--Tools/c-analyzer/cpython/_parser.py6
-rw-r--r--Tools/c-analyzer/cpython/ignored.tsv2936
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 -