1 | <?php |
||
24 | class Writer |
||
25 | { |
||
26 | /** |
||
27 | * @var NodeTraverser Traverser used for altering parsed code |
||
28 | */ |
||
29 | private $traverser; |
||
30 | |||
31 | /** |
||
32 | * @var BracketingPrinter Printer used for printing traversed code |
||
33 | */ |
||
34 | private $printer; |
||
35 | |||
36 | /** |
||
37 | * Optionally inject dependencies |
||
38 | * |
||
39 | * Since Reader always makes definitions namespaced a PhpParser printer that |
||
40 | * wraps the code in brackeded namespace statements must be used. The current |
||
41 | * implementation of this is BracketingPrinter. |
||
42 | */ |
||
43 | public function __construct(NodeTraverser $traverser = null, BracketingPrinter $printer = null) |
||
48 | |||
49 | /** |
||
50 | * Apply translation to alter code |
||
51 | */ |
||
52 | public function apply(NodeVisitor $translation): self |
||
57 | |||
58 | /** |
||
59 | * Generate new code snippet |
||
60 | * |
||
61 | * @throws RuntimeException If code generation failes |
||
62 | */ |
||
63 | public function write(array $statements): string |
||
75 | } |
||
76 |