# loki.transformations.sanitise.substitute

Classes

`SubstituteExpressionTransformation`([...]) | A `Transformation` that allows individual expressions to be substituted in `Subroutine` objects.

class SubstituteExpressionTransformation(substitute_expressions=True, expression_map=None, substitute_body=True, substitute_spec=True)

  Bases: `Transformation`

  A `Transformation` that allows individual expressions to be substituted in `Subroutine` objects.

  The expressions should be provided as a dictionary map of strings, which will be parsed in the local `Subroutine` scope to determine the respective symbols.

  Parameters:

    - substitute_expressions (bool) – Flag to trigger or suppress expression substitution

    - expression_map (dict of str to str) – A string-to-string map detailing the substitutions to apply.

    - substitute_spec (bool) – Flag to trigger or suppress expression substitution in specs.

    - substitute_body (bool) – Flag to trigger or suppress expression substitution in bodies.

  transform_subroutine(routine, **kwargs)

    Defines the transformation to apply to `Subroutine` items.

    For transformations that modify `Subroutine` objects, this method should be implemented. It gets called via the dispatch method `apply()`.

    Parameters:

      - routine (`Subroutine`) – The subroutine to be transformed.

      - **kwargs (optional) – Keyword arguments for the transformation.