1
|
|
|
<?php |
2
|
|
|
declare(strict_types=1); |
3
|
|
|
|
4
|
|
|
namespace gossi\codegen\parser\visitor; |
5
|
|
|
|
6
|
|
|
use gossi\codegen\model\AbstractPhpStruct; |
7
|
|
|
use PhpParser\Comment\Doc; |
8
|
|
|
use PhpParser\Node\Const_; |
9
|
|
|
use PhpParser\Node\Stmt\Class_; |
10
|
|
|
use PhpParser\Node\Stmt\ClassConst; |
11
|
|
|
use PhpParser\Node\Stmt\ClassLike; |
12
|
|
|
use PhpParser\Node\Stmt\ClassMethod; |
13
|
|
|
use PhpParser\Node\Stmt\Interface_; |
14
|
|
|
use PhpParser\Node\Stmt\Namespace_; |
15
|
|
|
use PhpParser\Node\Stmt\Property; |
16
|
|
|
use PhpParser\Node\Stmt\Trait_; |
17
|
|
|
use PhpParser\Node\Stmt\TraitUse; |
18
|
|
|
use PhpParser\Node\Stmt\UseUse; |
19
|
|
|
|
20
|
|
|
class StructParserVisitor implements ParserVisitorInterface { |
21
|
|
|
|
22
|
|
|
protected $struct; |
23
|
|
|
|
24
|
|
|
/** |
25
|
|
|
* @return AbstractPhpStruct |
26
|
|
|
*/ |
27
|
15 |
|
protected function getStruct(): AbstractPhpStruct { |
28
|
15 |
|
return $this->struct; |
29
|
|
|
} |
30
|
|
|
|
31
|
16 |
|
public function __construct(AbstractPhpStruct $struct) { |
32
|
16 |
|
$this->struct = $struct; |
33
|
16 |
|
} |
34
|
|
|
|
35
|
|
|
public function visitStruct(ClassLike $node) {} |
36
|
|
|
|
37
|
|
|
public function visitClass(Class_ $node) {} |
38
|
|
|
|
39
|
|
|
public function visitInterface(Interface_ $node) {} |
40
|
|
|
|
41
|
|
|
public function visitTrait(Trait_ $node) {} |
42
|
|
|
|
43
|
|
|
public function visitTraitUse(TraitUse $node) {} |
44
|
|
|
|
45
|
|
|
public function visitConstants(ClassConst $node) {} |
46
|
|
|
|
47
|
|
|
public function visitConstant(Const_ $node, Doc $doc = null) {} |
48
|
|
|
|
49
|
|
|
public function visitProperty(Property $node) {} |
50
|
|
|
|
51
|
|
|
public function visitNamespace(Namespace_ $node) {} |
52
|
|
|
|
53
|
|
|
public function visitUseStatement(UseUse $node) {} |
54
|
|
|
|
55
|
|
|
public function visitMethod(ClassMethod $node) {} |
56
|
|
|
} |
57
|
|
|
|