MethodBuilder   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 6
c 0
b 0
f 0
lcom 1
cbo 3
dl 0
loc 33
ccs 15
cts 15
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B build() 0 27 6
1
<?php
2
declare(strict_types=1);
3
4
namespace gossi\codegen\generator\builder;
5
6
use gossi\codegen\generator\builder\parts\RoutineBuilderPart;
7
use gossi\codegen\model\AbstractModel;
8
use gossi\codegen\model\PhpInterface;
9
10
class MethodBuilder extends AbstractBuilder {
11
12
	use RoutineBuilderPart;
13
14 12
	public function build(AbstractModel $model): void {
15 12
		$this->buildDocblock($model);
16
17 12
		if ($model->isFinal()) {
18 1
			$this->writer->write('final ');
19
		}
20
21 12
		if ($model->isAbstract()) {
22 2
			$this->writer->write('abstract ');
23
		}
24
25 12
		$this->writer->write($model->getVisibility() . ' ');
26
27 12
		if ($model->isStatic()) {
28 2
			$this->writer->write('static ');
29
		}
30
31 12
		$this->writeFunctionStatement($model);
32
33 12
		if ($model->isAbstract() || $model->getParent() instanceof PhpInterface) {
34 2
			$this->writer->writeln(';');
35
36 2
			return;
37
		}
38
39 11
		$this->writeBody($model);
40 11
	}
41
42
}
43