You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.7 KiB
51 lines
1.7 KiB
<?php declare(strict_types=1); |
|
|
|
namespace PhpParser; |
|
|
|
use PhpParser\Node\Expr; |
|
|
|
interface PrettyPrinter { |
|
/** |
|
* Pretty prints an array of statements. |
|
* |
|
* @param Node[] $stmts Array of statements |
|
* |
|
* @return string Pretty printed statements |
|
*/ |
|
public function prettyPrint(array $stmts): string; |
|
|
|
/** |
|
* Pretty prints an expression. |
|
* |
|
* @param Expr $node Expression node |
|
* |
|
* @return string Pretty printed node |
|
*/ |
|
public function prettyPrintExpr(Expr $node): string; |
|
|
|
/** |
|
* Pretty prints a file of statements (includes the opening <?php tag if it is required). |
|
* |
|
* @param Node[] $stmts Array of statements |
|
* |
|
* @return string Pretty printed statements |
|
*/ |
|
public function prettyPrintFile(array $stmts): string; |
|
|
|
/** |
|
* Perform a format-preserving pretty print of an AST. |
|
* |
|
* The format preservation is best effort. For some changes to the AST the formatting will not |
|
* be preserved (at least not locally). |
|
* |
|
* In order to use this method a number of prerequisites must be satisfied: |
|
* * The startTokenPos and endTokenPos attributes in the lexer must be enabled. |
|
* * The CloningVisitor must be run on the AST prior to modification. |
|
* * The original tokens must be provided, using the getTokens() method on the lexer. |
|
* |
|
* @param Node[] $stmts Modified AST with links to original AST |
|
* @param Node[] $origStmts Original AST with token offset information |
|
* @param Token[] $origTokens Tokens of the original code |
|
*/ |
|
public function printFormatPreserving(array $stmts, array $origStmts, array $origTokens): string; |
|
}
|
|
|