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 reactivity/hmr/exec_hack/__init__.py
6 7 8 9 10 11 12 |
|
_increment_col_offset
¶
_increment_col_offset[T: ast.AST](tree: T, n: int) -> T
Source code in reactivity/hmr/exec_hack/__init__.py
15 16 17 18 19 20 21 |
|
dedent
¶
dedent(source: str)
Source code in reactivity/hmr/exec_hack/__init__.py
24 25 26 27 |
|
is_future_annotations_enabled
¶
is_future_annotations_enabled(flags: int)
Source code in reactivity/hmr/exec_hack/__init__.py
30 31 32 33 |
|
transform
¶
ABOVE_3_14
module-attribute
¶
ABOVE_3_14 = version_info >= (3, 14)
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: NodeTransformer
Source code in reactivity/hmr/exec_hack/transform.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
skip_annotations
instance-attribute
¶
skip_annotations = skip_annotations
__init__
¶
__init__(skip_annotations=ABOVE_3_14)
Source code in reactivity/hmr/exec_hack/transform.py
9 10 |
|
visit_ClassDef
¶
visit_ClassDef(node: ClassDef)
Source code in reactivity/hmr/exec_hack/transform.py
12 13 14 15 16 17 18 19 20 21 22 |
|
ClassBodyTransformer
¶
Bases: NodeTransformer
Source code in reactivity/hmr/exec_hack/transform.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
skip_annotations
instance-attribute
¶
skip_annotations = skip_annotations
names
instance-attribute
¶
names: dict[str, None] = {}
visit_AsyncFunctionDef
class-attribute
instance-attribute
¶
visit_AsyncFunctionDef = visit_FunctionDef
__init__
¶
__init__(skip_annotations: bool)
Source code in reactivity/hmr/exec_hack/transform.py
26 27 28 |
|
visit_Name
¶
visit_Name(node: Name)
Source code in reactivity/hmr/exec_hack/transform.py
30 31 32 33 34 35 |
|
visit_arg
¶
visit_arg(node: arg)
Source code in reactivity/hmr/exec_hack/transform.py
37 38 39 40 41 |
|
visit_FunctionDef
¶
visit_FunctionDef(node: FunctionDef)
Source code in reactivity/hmr/exec_hack/transform.py
43 44 45 46 47 48 49 |
|
visit_Lambda
¶
visit_Lambda(node: Lambda)
Source code in reactivity/hmr/exec_hack/transform.py
53 54 55 56 |
|
build_name_lookup
¶
build_name_lookup(name: str) -> ast.Call
Source code in reactivity/hmr/exec_hack/transform.py
59 60 |
|
def_name_lookup
¶
def_name_lookup()
Source code in reactivity/hmr/exec_hack/transform.py
92 93 94 95 96 97 98 99 100 |
|