calls); $this->writeCall(['preformatted_end', [], $last_call[2]]); $this->process(); $this->callWriter->finalise(); unset($this->callWriter); } /** @inheritdoc */ public function process() { foreach ($this->calls as $call) { switch ($call[0]) { case 'preformatted_start': $this->pos = $call[2]; break; case 'preformatted_newline': $this->text .= "\n"; break; case 'preformatted_content': $this->text .= $call[1][0]; break; case 'preformatted_end': if (trim($this->text)) { $this->callWriter->writeCall(['preformatted', [$this->text], $this->pos]); } // see FS#1699 & FS#1652, add 'eol' instructions to ensure proper triggering of following p_open $this->callWriter->writeCall(['eol', [], $this->pos]); $this->callWriter->writeCall(['eol', [], $this->pos]); break; } } return $this->callWriter; } }