Skip to content

control_flow

Handle returns, loops, and branch-level validation while using shared registry helpers for lexical declarations introduced by loops.

Classes:

ControlFlowVisitorMixin

Bases: SemanticVisitorMixinBase

Methods:

visit

visit(node: ContinueStmt) -> None
Source code in src/irx/analysis/handlers/control_flow.py
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
@SemanticAnalyzerCore.visit.dispatch
def visit(self, node: astx.ContinueStmt) -> None:
    """
    title: Visit ContinueStmt nodes.
    parameters:
      node:
        type: astx.ContinueStmt
    """
    if self.context.loop_depth <= 0:
        self.context.diagnostics.add(
            "Continue statement outside loop.",
            node=node,
            code=DiagnosticCodes.SEMANTIC_INVALID_CONTROL_FLOW,
        )
    self._set_type(node, None)