Inserting into an empty list ----- implements[] = new Node\Name('Iface'); $stmts[0]->implements[] = new Node\Name('Iface2'); $stmts[1]->extends[] = new Node\Name('Iface'); $stmts[1]->extends[] = new Node\Name('Iface2'); ----- 42; ----- $stmts[0]->params[] = new Node\Param(new Node\Expr\Variable('a')); $stmts[0]->params[] = new Node\Param(new Node\Expr\Variable('b')); $stmts[1]->stmts[0]->params[] = new Node\Param(new Node\Expr\Variable('a')); $stmts[1]->stmts[0]->params[] = new Node\Param(new Node\Expr\Variable('b')); $stmts[2]->expr->params[] = new Node\Param(new Node\Expr\Variable('a')); $stmts[2]->expr->params[] = new Node\Param(new Node\Expr\Variable('b')); $stmts[2]->expr->uses[] = new Node\Expr\Variable('c'); $stmts[2]->expr->uses[] = new Node\Expr\Variable('d'); $stmts[3]->expr->params[] = new Node\Param(new Node\Expr\Variable('a')); $stmts[3]->expr->params[] = new Node\Param(new Node\Expr\Variable('b')); ----- 42; ----- bar(); Foo ::bar (); new Foo (); new class () extends Foo {}; ----- $stmts[0]->expr->args[] = new Node\Expr\Variable('a'); $stmts[0]->expr->args[] = new Node\Expr\Variable('b'); $stmts[1]->expr->args[] = new Node\Expr\Variable('a'); $stmts[1]->expr->args[] = new Node\Expr\Variable('b'); $stmts[2]->expr->args[] = new Node\Expr\Variable('a'); $stmts[2]->expr->args[] = new Node\Expr\Variable('b'); $stmts[3]->expr->args[] = new Node\Expr\Variable('a'); $stmts[3]->expr->args[] = new Node\Expr\Variable('b'); $stmts[4]->expr->args[] = new Node\Expr\Variable('a'); $stmts[4]->expr->args[] = new Node\Expr\Variable('b'); ----- bar($a, $b); Foo ::bar ($a, $b); new Foo ($a, $b); new class ($a, $b) extends Foo {};