Completed
Pull Request — master (#30)
by
unknown
03:34
created

PhpClassVisitor::visitClass()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3.1825

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 14
ccs 8
cts 11
cp 0.7272
rs 9.4285
cc 3
eloc 8
nc 4
nop 1
crap 3.1825
1
<?php
2
namespace gossi\codegen\parser\visitor;
3
4
use gossi\codegen\model\PhpClass;
5
use PhpParser\Node\Stmt\Class_;
6
7
class PhpClassVisitor extends AbstractPhpStructVisitor {
8
9 6
	public function __construct() {
10 6
		parent::__construct(new PhpClass());
11 6
	}
12
13
	/**
14
	 * @return PhpClass
15
	 */
16 6
	public function getClass() {
17 6
		return $this->struct;
18
	}
19
20 6
	protected function visitClass(Class_ $node) {
21 6
		$struct = $this->getClass();
22
23 6
		if ($node->extends !== null) {
24
			$struct->setParentClassName(implode('\\', $node->extends->parts));
25
		}
26
27 6
		foreach ($node->implements as $name) {
28
			$struct->addInterface(implode('\\', $name->parts));
29 6
		}
30
31 6
		$struct->setAbstract($node->isAbstract());
32 6
		$struct->setFinal($node->isFinal());
33 6
	}
34
}
35