-
-
Notifications
You must be signed in to change notification settings - Fork 138
Expand file tree
/
Copy pathattributes.php
More file actions
111 lines (90 loc) · 2.08 KB
/
attributes.php
File metadata and controls
111 lines (90 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
#[A,B]
#[C('arg1','arg2',D::class)]
class D {
/** @var int Constant F */
#[E]
const F = 0;
#[G] public int $h = 0;
/**
* @param int $m input Integer
* @return callable function doubles int
*/
#[I,J] function k(#[L] int $m):callable {
return #[N,O]#[P] fn(#[Q] int $r) => $r * 2;
}
// Testing S
#[S]
//Testing S-T
#[T] //Testing T
private function u() {
return #[V] function() { return null; };
}
}
#[W('a', null, 'looooong','paraaaams','list','aaaaaaaaaaaaa','vvvvvvvvvvvv','cccccccccc','eeeeeeeeeee'), X()] function Y(#[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ(12345678, 1234578)] string $_):string {return new #[NON, Anon()] class {};}
#[IA('interface'),\Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong\Namespace\WithStuff\IB]
interface IC {
#[ID] const IE = 123;
#[IG, IH('abc'),IJ()] public function ik();
}
// issue #1820
final class DomainEventMessage
{
#[Some(type: "some_type")]
public function getPayload(): string
{
return "444";
}
public function getPayload1(): string
{
return "555";
}
}
// issue #2360
#[Route('route/path', name: 'very_very_very_very_very_very_long_route_name', methods: ['GET'])]
class Controller
{
}
#[
Attr1(Attr1::FOO | Attr1::BAR),
Attr2(-20 * 5 + 10)
]
class A {}
class ValueModel
{
#[
Assert\NotBlank(allowNull: false, groups: ['foo']),
Assert\Length(max: 255, groups: ['foo']),
]
public ?string $value = null;
}
class Test
{
/**
* Method with an attribute.
* @param string $foo
* @return string
*/
#[Pure]
public function withAttribute(string $foo): string
{
return $foo;
}
}
class ParamCommentFunctionAnnotation {
#[Foo]
function bar(
int $a, // parameter comment
int $b,
) {
return $a + $b;
}
#[Foo]
function bar2(
int $a,
int $middle, // parameter comment
int $b,
) {
return $a + $middle + $b;
}
}