1<?php declare(strict_types=1); 2 3namespace PhpParser\ErrorHandler; 4 5use PhpParser\Error; 6use PhpParser\ErrorHandler; 7 8/** 9 * Error handler that collects all errors into an array. 10 * 11 * This allows graceful handling of errors. 12 */ 13class Collecting implements ErrorHandler { 14 /** @var Error[] Collected errors */ 15 private array $errors = []; 16 17 public function handleError(Error $error): void { 18 $this->errors[] = $error; 19 } 20 21 /** 22 * Get collected errors. 23 * 24 * @return Error[] 25 */ 26 public function getErrors(): array { 27 return $this->errors; 28 } 29 30 /** 31 * Check whether there are any errors. 32 */ 33 public function hasErrors(): bool { 34 return !empty($this->errors); 35 } 36 37 /** 38 * Reset/clear collected errors. 39 */ 40 public function clearErrors(): void { 41 $this->errors = []; 42 } 43} 44