from reactivity.hmr.exec_hack import *¶
fix_class_name_resolution
¶
fix_class_name_resolution[T: ast.AST](
mod: T,
lineno_offset=0,
col_offset=0,
skip_annotations=ABOVE_3_14,
) -> T
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/exec_hack/__init__.py
_increment_col_offset
¶
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/exec_hack/__init__.py
dedent
¶
is_future_annotations_enabled
¶
transform
¶
ABOVE_3_14
module-attribute
¶
name_lookup_source
module-attribute
¶
name_lookup_source = "\n\ndef __name_lookup():\n from builtins import KeyError, NameError\n from collections import ChainMap\n from inspect import currentframe\n f = currentframe().f_back\n c = ChainMap(f.f_locals, f.f_globals, f.f_builtins)\n if freevars := f.f_code.co_freevars:\n c.maps.insert(1, e := {})\n freevars = {*f.f_code.co_freevars}\n while freevars:\n f = f.f_back\n for name in f.f_code.co_cellvars:\n if name in freevars.intersection(f.f_code.co_cellvars):\n freevars.remove(name)\n e[name] = f.f_locals[name]\n def lookup(name):\n try:\n return c[name]\n except KeyError as e:\n raise NameError(*e.args) from None\n return lookup\n\n__name_lookup = __name_lookup()\n\n"
ClassTransformer
¶
Bases:
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/exec_hack/transform.py
skip_annotations
instance-attribute
¶
__init__
¶
visit_ClassDef
¶
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/exec_hack/transform.py
ClassBodyTransformer
¶
Bases: