1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\ErrorHandler;
4:
5: use PhpParser\Error;
6: use PhpParser\ErrorHandler;
7:
8: /**
9: * Error handler that collects all errors into an array.
10: *
11: * This allows graceful handling of errors.
12: */
13: class 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: