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\Stmt;
4
 
5
use PhpParser\Node\Stmt;
6
 
7
class Use_ extends Stmt
8
{
9
    /**
10
     * Unknown type. Both Stmt\Use_ / Stmt\GroupUse and Stmt\UseUse have a $type property, one of them will always be
11
     * TYPE_UNKNOWN while the other has one of the three other possible types. For normal use statements the type on the
12
     * Stmt\UseUse is unknown. It's only the other way around for mixed group use declarations.
13
     */
14
    const TYPE_UNKNOWN = 0;
15
    /** Class or namespace import */
16
    const TYPE_NORMAL = 1;
17
    /** Function import */
18
    const TYPE_FUNCTION = 2;
19
    /** Constant import */
20
    const TYPE_CONSTANT = 3;
21
 
22
    /** @var int Type of alias */
23
    public $type;
24
    /** @var UseUse[] Aliases */
25
    public $uses;
26
 
27
    /**
28
     * Constructs an alias (use) list node.
29
     *
30
     * @param UseUse[] $uses       Aliases
31
     * @param int      $type       Type of alias
32
     * @param array    $attributes Additional attributes
33
     */
34
    public function __construct(array $uses, int $type = self::TYPE_NORMAL, array $attributes = []) {
35
        $this->attributes = $attributes;
36
        $this->type = $type;
37
        $this->uses = $uses;
38
    }
39
 
40
    public function getSubNodeNames() : array {
41
        return ['type', 'uses'];
42
    }
43
 
44
    public function getType() : string {
45
        return 'Stmt_Use';
46
    }
47
}