@@ -115,26 +115,17 @@ private function getAsserts(string $functionName): array
115
115
public static function getAssertsFromReflection (
116
116
ReflectionMethod | ReflectionFunction $ reflection
117
117
): array {
118
- $ attributes = $ reflection-> getAttributes ( );
118
+ $ instances = AttributeHelper:: getFunctionInstances ( $ reflection, AssertIfFalse::class );
119
119
$ asserts = [];
120
- foreach ($ attributes as $ attribute ) {
121
- if ($ attribute ->getName () === AssertIfFalse::class) {
122
- $ instance = $ attribute ->newInstance ();
123
- assert ($ instance instanceof AssertIfFalse);
124
- $ asserts = array_merge ($ asserts , $ instance ->params );
125
- }
120
+
121
+ foreach ($ instances ['function ' ] as $ instance ) {
122
+ $ asserts = array_merge ($ asserts , $ instance ->params );
126
123
}
127
124
128
- $ parameters = $ reflection ->getParameters ();
129
- foreach ($ parameters as $ parameter ) {
130
- $ attributes = $ parameter ->getAttributes ();
131
- foreach ($ attributes as $ attribute ) {
132
- if ($ attribute ->getName () === AssertIfFalse::class) {
133
- $ instance = $ attribute ->newInstance ();
134
- assert ($ instance instanceof AssertIfFalse);
135
- $ argument = $ instance ->params [array_key_first ($ instance ->params )];
136
- $ asserts [$ parameter ->name ] = $ argument ;
137
- }
125
+ foreach ($ instances ['parameters ' ] as $ name => $ attrs ) {
126
+ foreach ($ attrs as $ instance ) {
127
+ $ argument = $ instance ->params [array_key_first ($ instance ->params )];
128
+ $ asserts [$ name ] = $ argument ;
138
129
}
139
130
}
140
131
0 commit comments