Skip to content

Commit 96c09bc

Browse files
committed
Resolver: processing of functions like not() moved to PhpGenerator
1 parent 93e5f43 commit 96c09bc

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/DI/PhpGenerator.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,15 @@ public function formatStatement(Statement $statement): string
112112
case is_string($entity) && str_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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -192,23 +192,13 @@ public function completeStatement(Statement $statement, bool $currentServiceAllo
192192
break;
193193

194194
case $entity === 'not':
195-
if (count($arguments) !== 1) {
196-
throw new ServiceCreationException(sprintf('Function %s() expects 1 parameter, %s given.', $entity, count($arguments)));
197-
}
198-
199-
$entity = ['', '!'];
200-
break;
201-
202195
case $entity === 'bool':
203196
case $entity === 'int':
204197
case $entity === 'float':
205198
case $entity === 'string':
206199
if (count($arguments) !== 1) {
207200
throw new ServiceCreationException(sprintf('Function %s() expects 1 parameter, %s given.', $entity, count($arguments)));
208201
}
209-
210-
$arguments = [$arguments[0], $entity];
211-
$entity = [Helpers::class, 'convertType'];
212202
break;
213203

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

0 commit comments

Comments
 (0)