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