Skip to content

Commit 7f11e6e

Browse files
committed
Resolver: processing of functions like not() moved to PhpGenerator
1 parent ac3a2ee commit 7f11e6e

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/DI/PhpGenerator.php

+9
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,15 @@ public function formatStatement(Statement $statement): string
112112
case is_string($entity) && Strings::contains($entity, '?'): // PHP literal
113113
return $this->formatPhp($entity, $arguments);
114114

115+
case $entity === 'not':
116+
return $this->formatPhp('!(?)', $arguments);
117+
118+
case $entity === 'bool':
119+
case $entity === 'int':
120+
case $entity === 'float':
121+
case $entity === 'string':
122+
return $this->formatPhp('?::?(?, ?)', [Helpers::class, 'convertType', $arguments[0], $entity]);
123+
115124
case is_string($entity): // create class
116125
return $arguments
117126
? $this->formatPhp("new $entity(...?:)", [$arguments])

src/DI/Resolver.php

-10
Original file line numberDiff line numberDiff line change
@@ -182,23 +182,13 @@ public function completeStatement(Statement $statement, bool $currentServiceAllo
182182
break;
183183

184184
case $entity === 'not':
185-
if (count($arguments) !== 1) {
186-
throw new ServiceCreationException(sprintf('Function %s() expects 1 parameter, %s given.', $entity, count($arguments)));
187-
}
188-
189-
$entity = ['', '!'];
190-
break;
191-
192185
case $entity === 'bool':
193186
case $entity === 'int':
194187
case $entity === 'float':
195188
case $entity === 'string':
196189
if (count($arguments) !== 1) {
197190
throw new ServiceCreationException(sprintf('Function %s() expects 1 parameter, %s given.', $entity, count($arguments)));
198191
}
199-
200-
$arguments = [$arguments[0], $entity];
201-
$entity = [Helpers::class, 'convertType'];
202192
break;
203193

204194
case is_string($entity): // create class

0 commit comments

Comments
 (0)