Functions
body_has_scoping_nodes
1
bool
▼
Return whether a body contains block-scoped assignment nodes.
body_has_scoping_nodes
1
bool
▼
def body_has_scoping_nodes(nodes: Sequence[Node]) -> bool
Parameters
| Name | Type | Description |
|---|---|---|
nodes |
Sequence[Node] |
Returns
bool
_transform_if
1
Node | None
▼
Eliminate dead branches when the test is const-only resolvable.
_transform_if
1
Node | None
▼
def _transform_if(node: If) -> Node | None
Parameters
| Name | Type | Description |
|---|---|---|
node |
If |
Returns
Node | None
_transform_match
1
Node | None
▼
Eliminate dead match/case branches for constant subjects.
_transform_match
1
Node | None
▼
def _transform_match(node: Match) -> Node | None
Parameters
| Name | Type | Description |
|---|---|---|
node |
Match |
Returns
Node | None
_transform_body
1
Sequence[Node]
▼
Eliminate dead nodes and flatten immediate branch replacements.
_transform_body
1
Sequence[Node]
▼
def _transform_body(body: Sequence[Node]) -> Sequence[Node]
Parameters
| Name | Type | Description |
|---|---|---|
body |
Sequence[Node] |
Returns
Sequence[Node]
eliminate_dead_code
1
Template
▼
Remove branches whose conditions are provably constant.
Runs without static co…
eliminate_dead_code
1
Template
▼
def eliminate_dead_code(template: Template) -> Template
Remove branches whose conditions are provably constant.
Runs without static context and preserves branch structure whenever inlining would change block-scoping behavior.
Parameters
| Name | Type | Description |
|---|---|---|
template |
Template |
Returns
Template