9
9
10
10
namespace Nette \PhpGenerator \Traits ;
11
11
12
- use Nette ;
13
- use Nette \PhpGenerator \ClassLike ;
12
+ use Nette \PhpGenerator \Visibility ;
14
13
15
14
16
15
/**
@@ -22,16 +21,10 @@ trait VisibilityAware
22
21
private ?string $ visibility = null ;
23
22
24
23
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
29
26
{
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 );
35
28
return $ this ;
36
29
}
37
30
@@ -44,39 +37,39 @@ public function getVisibility(): ?string
44
37
45
38
public function setPublic (): static
46
39
{
47
- $ this ->visibility = ClassLike::VisibilityPublic ;
40
+ $ this ->visibility = Visibility::Public ;
48
41
return $ this ;
49
42
}
50
43
51
44
52
45
public function isPublic (): bool
53
46
{
54
- return $ this ->visibility === ClassLike::VisibilityPublic || $ this ->visibility === null ;
47
+ return $ this ->visibility === Visibility::Public || $ this ->visibility === null ;
55
48
}
56
49
57
50
58
51
public function setProtected (): static
59
52
{
60
- $ this ->visibility = ClassLike::VisibilityProtected ;
53
+ $ this ->visibility = Visibility::Protected ;
61
54
return $ this ;
62
55
}
63
56
64
57
65
58
public function isProtected (): bool
66
59
{
67
- return $ this ->visibility === ClassLike::VisibilityProtected ;
60
+ return $ this ->visibility === Visibility::Protected ;
68
61
}
69
62
70
63
71
64
public function setPrivate (): static
72
65
{
73
- $ this ->visibility = ClassLike::VisibilityPrivate ;
66
+ $ this ->visibility = Visibility::Private ;
74
67
return $ this ;
75
68
}
76
69
77
70
78
71
public function isPrivate (): bool
79
72
{
80
- return $ this ->visibility === ClassLike::VisibilityPrivate ;
73
+ return $ this ->visibility === Visibility::Private ;
81
74
}
82
75
}
0 commit comments