Classes
JinjaSetReadFinding
4
▼
One proven Jinja ``if`` assignment read outside its Kida block.
JinjaSetReadFinding
4
▼
One proven Jinjaifassignment read outside its Kida block.
Attributes
| Name | Type | Description |
|---|---|---|
name |
str
|
— |
lineno |
int
|
— |
suggestion |
str
|
— |
shadow |
bool
|
— |
_JinjaSetOrigin
5
▼
_JinjaSetOrigin
5
▼
Attributes
| Name | Type | Description |
|---|---|---|
name |
str
|
— |
lineno |
int
|
— |
suggestion |
str
|
— |
shadow |
bool
|
— |
identity |
tuple[int, str]
|
— |
_OriginFlow
2
▼
_OriginFlow
2
▼
Attributes
| Name | Type | Description |
|---|---|---|
origin |
_JinjaSetOrigin | None
|
— |
parents |
tuple[_OriginFlow, ...]
|
— |
Functions
collect_jinja_set_read_findings
1
tuple[JinjaSetReadFindin…
▼
Find proven Jinja ``if`` assignment flow that Kida block scope breaks.
collect_jinja_set_read_findings
1
tuple[JinjaSetReadFindin…
▼
def collect_jinja_set_read_findings(nodes: Sequence[Node]) -> tuple[JinjaSetReadFinding, ...]
Parameters
| Name | Type | Description |
|---|---|---|
nodes |
Sequence[Node] |
Returns
tuple[JinjaSetReadFinding, ...]
collect_template_blocks
3
dict[str, Block | Region]
▼
Validate identifiers and collect all compile-time block/region owners.
collect_template_blocks
3
dict[str, Block | Region]
▼
def collect_template_blocks(nodes: Sequence[Node], *, template_name: str | None, filename: str | None) -> dict[str, Block | Region]
Parameters
| Name | Type | Description |
|---|---|---|
nodes |
Sequence[Node] |
|
template_name |
str | None |
|
filename |
str | None |
Returns
dict[str, Block | Region]
has_unconditional_expressions
1
bool
▼
Return whether top-level nodes can produce unconditional name refs.
has_unconditional_expressions
1
bool
▼
def has_unconditional_expressions(body: Sequence[Any]) -> bool
Parameters
| Name | Type | Description |
|---|---|---|
body |
Sequence[Any] |
Returns
bool
collect_variable_references
1
tuple[dict[str, int], se…
▼
Collect unconditional name-reference counts and mutations from Kida AST.
collect_variable_references
1
tuple[dict[str, int], se…
▼
def collect_variable_references(nodes: Any) -> tuple[dict[str, int], set[str]]
Parameters
| Name | Type | Description |
|---|---|---|
nodes |
Any |
Returns
tuple[dict[str, int], set[str]]
analyze_cacheable_names
2
set[str]
▼
Return names safe and profitable to cache as compiler locals.
analyze_cacheable_names
2
set[str]
▼
def analyze_cacheable_names(body_nodes: Sequence[Any], *, local_names: set[str]) -> set[str]
Parameters
| Name | Type | Description |
|---|---|---|
body_nodes |
Sequence[Any] |
|
local_names |
set[str] |
Returns
set[str]