xref: /PHP-Parser/lib/PhpParser/Parser.php (revision ba851243)
1<?php declare(strict_types=1);
2
3namespace PhpParser;
4
5interface Parser {
6    /**
7     * Parses PHP code into a node tree.
8     *
9     * @param string $code The source code to parse
10     * @param ErrorHandler|null $errorHandler Error handler to use for lexer/parser errors, defaults
11     *                                        to ErrorHandler\Throwing.
12     *
13     * @return Node\Stmt[]|null Array of statements (or null non-throwing error handler is used and
14     *                          the parser was unable to recover from an error).
15     */
16    public function parse(string $code, ?ErrorHandler $errorHandler = null): ?array;
17
18    /**
19     * Return tokens for the last parse.
20     *
21     * @return Token[]
22     */
23    public function getTokens(): array;
24}
25