ml_switcheroo.core.rewriter.structure_func¶

Function Structure Rewriting Logic.

Handles transformations relative to function definitions, specifically: 1. Logic 5: Method Renaming: Mapping forward <-> __call__ <-> call using Configuration Traits. 2. Signature Modification: Injecting hooks or state arguments (Logic 2). 3. Body Injection: Preamble handling (super init, rng splitting). 4. Docstring Updating.

Classes¶

FuncStructureMixin

Mixin for transforming FunctionDef nodes via Traits.

Module Contents¶

class ml_switcheroo.core.rewriter.structure_func.FuncStructureMixin(semantics: ml_switcheroo.semantics.manager.SemanticsManager, config: ml_switcheroo.config.RuntimeConfig)¶

Bases: ml_switcheroo.core.rewriter.base.BaseRewriter

Mixin for transforming FunctionDef nodes via Traits.

visit_FunctionDef(node: libcst.FunctionDef) → bool | None¶
leave_FunctionDef(_original_node: libcst.FunctionDef, updated_node: libcst.FunctionDef) → libcst.CSTNode¶