99
1010namespace Nette \PhpGenerator \Traits ;
1111
12- use Nette ;
13- use Nette \PhpGenerator \ClassLike ;
12+ use Nette \PhpGenerator \Visibility ;
1413
1514
1615/**
@@ -22,16 +21,10 @@ trait VisibilityAware
2221 private ?string $ visibility = null ;
2322
2423
25- /**
26- * @param string|null $val public|protected|private
27- */
28- public function setVisibility (?string $ val ): static
24+ /** @param 'public'|'protected'|'private'|null $value */
25+ public function setVisibility (?string $ value ): static
2926 {
30- if (!in_array ($ val , [ClassLike::VisibilityPublic, ClassLike::VisibilityProtected, ClassLike::VisibilityPrivate, null ], true )) {
31- throw new Nette \InvalidArgumentException ('Argument must be public|protected|private. ' );
32- }
33-
34- $ this ->visibility = $ val ;
27+ $ this ->visibility = $ value === null ? $ value : Visibility::from ($ value );
3528 return $ this ;
3629 }
3730
@@ -44,39 +37,39 @@ public function getVisibility(): ?string
4437
4538 public function setPublic (): static
4639 {
47- $ this ->visibility = ClassLike::VisibilityPublic ;
40+ $ this ->visibility = Visibility::Public ;
4841 return $ this ;
4942 }
5043
5144
5245 public function isPublic (): bool
5346 {
54- return $ this ->visibility === ClassLike::VisibilityPublic || $ this ->visibility === null ;
47+ return $ this ->visibility === Visibility::Public || $ this ->visibility === null ;
5548 }
5649
5750
5851 public function setProtected (): static
5952 {
60- $ this ->visibility = ClassLike::VisibilityProtected ;
53+ $ this ->visibility = Visibility::Protected ;
6154 return $ this ;
6255 }
6356
6457
6558 public function isProtected (): bool
6659 {
67- return $ this ->visibility === ClassLike::VisibilityProtected ;
60+ return $ this ->visibility === Visibility::Protected ;
6861 }
6962
7063
7164 public function setPrivate (): static
7265 {
73- $ this ->visibility = ClassLike::VisibilityPrivate ;
66+ $ this ->visibility = Visibility::Private ;
7467 return $ this ;
7568 }
7669
7770
7871 public function isPrivate (): bool
7972 {
80- return $ this ->visibility === ClassLike::VisibilityPrivate ;
73+ return $ this ->visibility === Visibility::Private ;
8174 }
8275}
0 commit comments