Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
NodeVisitorNamespace
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 enterNode
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
 getNamespace
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php declare(strict_types = 1);
2/**
3 * @author: Doug Wilbourne (dougwilbourne@gmail.com)
4 * @version 1.0
5 */
6
7namespace pvc\parser\php\node_visitors;
8
9use PhpParser\Node;
10use PhpParser\Node\Stmt\Namespace_;
11use PhpParser\NodeTraverser;
12use PhpParser\NodeVisitorAbstract;
13
14/**
15 * NodeVisitorNamespace finds the namespace declaration in a php file and stores it.
16 *
17 * Class NodeVisitorNamespace
18 */
19class NodeVisitorNamespace extends NodeVisitorAbstract
20{
21    /**
22     * @var Namespace_
23     */
24    protected Namespace_ $namespace;
25
26    /**
27     * @function enterNode
28     * @param Node $node
29     * @return int|Node|void|null
30     */
31    public function enterNode($node)
32    {
33        if ($node instanceof Namespace_) {
34            $this->namespace = $node;
35            return NodeTraverser::STOP_TRAVERSAL;
36        }
37        return;
38    }
39
40    /**
41     * @function getNamespace
42     * @return Namespace_
43     */
44    public function getNamespace(): Namespace_
45    {
46        return $this->namespace;
47    }
48}