index_var = $token_factory->variable( self::LOOP_INDEX_KEY ); } // source can be not just a variable, but also a function call. public function set_source_variable( Template_Token $source_var ): self { $this->source_var = $source_var; return $this; } public function set_item_variable( Variable_Token $item_var ): self { $this->item_var = $item_var; return $this; } public function get_index_variable(): Variable_Token { return $this->index_var; } public function set_body( Template_Token $body ): self { $this->body = $body; return $this; } }