Completed
Push — master ( 467596...f57d95 )
by Arne
02:35
created

PublicOnlyVisitor::enterNode()   B

Complexity

Conditions 5
Paths 2

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
c 0
b 0
f 0
rs 8.8571
cc 5
eloc 6
nc 2
nop 1
1
<?php
2
/**
3
 * Copyright (c) 2010-2018 Arne Blankerts <[email protected]>
4
 * All rights reserved.
5
 *
6
 * Redistribution and use in source and binary forms, with or without modification,
7
 * are permitted provided that the following conditions are met:
8
 *
9
 *   * Redistributions of source code must retain the above copyright notice,
10
 *     this list of conditions and the following disclaimer.
11
 *
12
 *   * Redistributions in binary form must reproduce the above copyright notice,
13
 *     this list of conditions and the following disclaimer in the documentation
14
 *     and/or other materials provided with the distribution.
15
 *
16
 *   * Neither the name of Arne Blankerts nor the names of contributors
17
 *     may be used to endorse or promote products derived from this software
18
 *     without specific prior written permission.
19
 *
20
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT  * NOT LIMITED TO,
22
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER ORCONTRIBUTORS
24
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
25
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
 * POSSIBILITY OF SUCH DAMAGE.
31
 *
32
 * @package    phpDox
33
 * @author     Arne Blankerts <[email protected]>
34
 * @copyright  Arne Blankerts <[email protected]>, All rights reserved.
35
 * @license    BSD License
36
 */
37
namespace TheSeer\phpDox\Collector\Backend {
38
39
    use PhpParser\Node;
40
    use PhpParser\NodeVisitorAbstract;
41
    use PhpParser\Node\Stmt as NodeType;
42
43
    class PublicOnlyVisitor extends NodeVisitorAbstract {
44
45
        /**
46
         * @param Node $node
47
         *
48
         * @return int|Node
49
         */
50
        public function enterNode(Node $node) {
51
            if (($node instanceof NodeType\Property ||
52
                $node instanceof NodeType\ClassMethod ||
53
                $node instanceof NodeType\ClassConst) && !$node->isPublic()) {
54
55
                return new NodeType\Nop();
56
            }
57
58
            return $node;
59
        }
60
61
    }
62
}
63