InterfaceFileBuilder   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 2
Bugs 2 Features 0
Metric Value
eloc 12
c 2
b 2
f 0
dl 0
loc 21
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A render() 0 19 2
1
<?php
2
/**
3
 * @copyright Copyright (c) 2017 Julius Härtl <[email protected]>
4
 * @author    Julius Härtl <[email protected]>
5
 * @license   GNU AGPL version 3 or any later version
6
 *
7
 *  This program is free software: you can redistribute it and/or modify
8
 *  it under the terms of the GNU Affero General Public License as
9
 *  published by the Free Software Foundation, either version 3 of the
10
 *  License, or (at your option) any later version.
11
 *
12
 *  This program is distributed in the hope that it will be useful,
13
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 *  GNU Affero General Public License for more details.
16
 *
17
 *  You should have received a copy of the GNU Affero General Public License
18
 *  along with this program. If not, see <http://www.gnu.org/licenses/>.
19
 */
20
21
namespace JuliusHaertl\PHPDocToRst\Builder;
22
23
use phpDocumentor\Reflection\Php\Interface_;
24
25
class InterfaceFileBuilder extends FileBuilder
26
{
27
    protected function render()
28
    {
29
        /** @var Interface_ $interface */
30
        $interface = $this->element;
31
32
        if (!$this->shouldRenderElement($interface)) {
33
            return;
34
        }
35
36
        $this->addPageHeader($interface);
37
38
        $this->indent();
39
        $this->addDocBlockDescription($interface);
40
        $this->addParent($interface);
41
        $this->unindent();
42
        $this->addAfterIntroduction($interface);
43
44
        $this->addConstants($interface->getConstants());
45
        $this->addMethods($interface->getMethods());
46
    }
47
}
48