name = $name; } public function print(): void { printf( '%s(', esc_html( $this->name ) ); $this->print_arguments(); echo ')'; } /** * @param Template_Token[] $arguments */ public function set_arguments( array $arguments ): self { $this->arguments = $arguments; return $this; } protected function print_arguments(): void { $is_first = true; foreach ( $this->arguments as $argument ) { if ( $is_first ) { $is_first = false; } else { echo ', '; } $argument->print(); } } }