Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php declare(strict_types=1);
2
 
3
namespace PhpParser\Node\Expr;
4
 
5
use PhpParser\Node\Arg;
6
use PhpParser\Node\Expr;
7
use PhpParser\Node\Identifier;
8
use PhpParser\Node\VariadicPlaceholder;
9
 
10
class MethodCall extends CallLike
11
{
12
    /** @var Expr Variable holding object */
13
    public $var;
14
    /** @var Identifier|Expr Method name */
15
    public $name;
16
    /** @var array<Arg|VariadicPlaceholder> Arguments */
17
    public $args;
18
 
19
    /**
20
     * Constructs a function call node.
21
     *
22
     * @param Expr                           $var        Variable holding object
23
     * @param string|Identifier|Expr         $name       Method name
24
     * @param array<Arg|VariadicPlaceholder> $args       Arguments
25
     * @param array                          $attributes Additional attributes
26
     */
27
    public function __construct(Expr $var, $name, array $args = [], array $attributes = []) {
28
        $this->attributes = $attributes;
29
        $this->var = $var;
30
        $this->name = \is_string($name) ? new Identifier($name) : $name;
31
        $this->args = $args;
32
    }
33
 
34
    public function getSubNodeNames() : array {
35
        return ['var', 'name', 'args'];
36
    }
37
 
38
    public function getType() : string {
39
        return 'Expr_MethodCall';
40
    }
41
 
42
    public function getRawArgs(): array {
43
        return $this->args;
44
    }
45
}