Zuzu::AST::Stmt::For(3)

NAME
Zuzu::AST::Stmt::For - AST node for for statements

DESCRIPTION
Represents one statement form in the abstract syntax tree and delegates execution to "Zuzu::Runtime".

INHERITANCE
Inherits from "Moo::Object".

ROLES
Consumes "Zuzu::AST::Role::Node".

ATTRIBUTES

  var
Type: Str.

Loop variable name bound for each iteration.

  collection
Type: ConsumerOf["Zuzu::AST::Role::Node"].

Expression producing the iterable collection for the loop.

  body
Type: InstanceOf["Zuzu::AST::Block"].

Function or loop block executed by the node/value.

  declare_loop_var
Type: Bool.

When true, the loop header declared the iteration variable with "let" or "const". When false, the loop reuses an already declared variable.

  loop_var_kind
Type: Maybe[Str].

Declaration keyword used for the loop variable when "declare_loop_var" is true. Expected values are "let" or "const".

  else_block
Type: Maybe[InstanceOf["Zuzu::AST::Block"]].

Optional block executed when a loop has zero iterations.

METHODS

  evaluate
Dispatches this AST node to the matching runtime evaluator.

SEE ALSO
"Zuzu::AST::Role::Node".

Subclasses: none in this distribution.

COPYRIGHT AND LICENCE
Zuzu::AST::Stmt::For is copyright Toby Inkster.

It is free software; you may redistribute it and/or modify it under the terms of either the Artistic License 1.0 or the GNU General Public License version 2.