mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-11-27 12:24:39 +01:00
bbec051e51
A bit annoying that we have to keep $this->nl always synchronized.
131 lines
1.8 KiB
Plaintext
131 lines
1.8 KiB
Plaintext
Insertion into list nodes
|
|
-----
|
|
<?php
|
|
$foo;
|
|
|
|
$bar;
|
|
-----
|
|
$stmts[] = new Stmt\Expression(new Expr\Variable('baz'));
|
|
-----
|
|
<?php
|
|
$foo;
|
|
|
|
$bar;
|
|
$baz;
|
|
-----
|
|
<?php
|
|
|
|
function test() {
|
|
$foo;
|
|
|
|
$bar;
|
|
}
|
|
-----
|
|
$stmts[0]->stmts[] = new Stmt\Expression(new Expr\Variable('baz'));
|
|
-----
|
|
<?php
|
|
|
|
function test() {
|
|
$foo;
|
|
|
|
$bar;
|
|
$baz;
|
|
}
|
|
-----
|
|
<?php
|
|
|
|
function test(Foo $param1) {}
|
|
-----
|
|
$stmts[0]->params[] = new Node\Param(new Expr\Variable('param2'));
|
|
-----
|
|
<?php
|
|
|
|
function test(Foo $param1, $param2) {}
|
|
-----
|
|
<?php
|
|
|
|
try {
|
|
/* stuff */
|
|
} catch
|
|
(Foo $x) {}
|
|
-----
|
|
$stmts[0]->catches[0]->types[] = new Node\Name('Bar');
|
|
-----
|
|
<?php
|
|
|
|
try {
|
|
/* stuff */
|
|
} catch
|
|
(Foo|Bar $x) {}
|
|
-----
|
|
<?php
|
|
|
|
function test(Foo $param1) {}
|
|
-----
|
|
array_unshift($stmts[0]->params, new Node\Param(new Expr\Variable('param0')));
|
|
/* Insertion at the start not handled yet */
|
|
-----
|
|
<?php
|
|
|
|
function test($param0, Foo $param1)
|
|
{
|
|
}
|
|
-----
|
|
<?php
|
|
|
|
if ($cond) {
|
|
} elseif ($cond2) {
|
|
}
|
|
-----
|
|
$stmts[0]->elseifs[] = new Stmt\ElseIf_(new Expr\Variable('cond3'), []);
|
|
-----
|
|
<?php
|
|
|
|
if ($cond) {
|
|
} elseif ($cond2) {
|
|
} elseif ($cond3) {
|
|
}
|
|
-----
|
|
<?php
|
|
|
|
try {
|
|
} catch (Foo $foo) {
|
|
}
|
|
-----
|
|
$stmts[0]->catches[] = new Stmt\Catch_([new Node\Name('Bar')], new Expr\Variable('bar'), []);
|
|
-----
|
|
<?php
|
|
|
|
try {
|
|
} catch (Foo $foo) {
|
|
} catch (Bar $bar) {
|
|
}
|
|
-----
|
|
<?php
|
|
$foo; $bar;
|
|
-----
|
|
$node = new Stmt\Expression(new Expr\Variable('baz'));
|
|
$node->setAttribute('comments', [new Comment('// Test')]);
|
|
$stmts[] = $node;
|
|
-----
|
|
<?php
|
|
$foo; $bar;
|
|
// Test
|
|
$baz;
|
|
-----
|
|
<?php
|
|
function test() {
|
|
$foo; $bar;
|
|
}
|
|
-----
|
|
$node = new Stmt\Expression(new Expr\Variable('baz'));
|
|
$node->setAttribute('comments', [new Comment('// Test'), new Comment('// Test 2')]);
|
|
$stmts[0]->stmts[] = $node;
|
|
-----
|
|
<?php
|
|
function test() {
|
|
$foo; $bar;
|
|
// Test
|
|
// Test 2
|
|
$baz;
|
|
} |