@@ -389,15 +389,9 @@ private function addServiceReturn($id, $definition)
389
389
*/
390
390
private function addServiceInstance ($ id , Definition $ definition )
391
391
{
392
- $ class = $ definition ->getClass ();
393
-
394
- if ('\\' === substr ($ class , 0 , 1 )) {
395
- $ class = substr ($ class , 1 );
396
- }
397
-
398
- $ class = $ this ->dumpValue ($ class );
392
+ $ class = $ this ->dumpValue ($ definition ->getClass ());
399
393
400
- if (0 === strpos ($ class , "' " ) && false === strpos ($ class , '$ ' ) && !preg_match ('/^ \'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*( \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
394
+ if (0 === strpos ($ class , "' " ) && false === strpos ($ class , '$ ' ) && !preg_match ('/^ \'(?: \\ \{2})? [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?: \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
401
395
throw new InvalidArgumentException (sprintf ('"%s" is not a valid class name for the "%s" service. ' , $ class , $ id ));
402
396
}
403
397
@@ -1453,11 +1447,13 @@ private function dumpLiteralClass($class)
1453
1447
if (false !== strpos ($ class , '$ ' )) {
1454
1448
return sprintf ('${($_ = %s) && false ?: "_"} ' , $ class );
1455
1449
}
1456
- if (0 !== strpos ($ class , "' " ) || !preg_match ('/^ \'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*( \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
1450
+ if (0 !== strpos ($ class , "' " ) || !preg_match ('/^ \'(?: \\ \{2})? [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?: \\\{2}[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)* \'$/ ' , $ class )) {
1457
1451
throw new RuntimeException (sprintf ('Cannot dump definition because of invalid class name (%s) ' , $ class ?: 'n/a ' ));
1458
1452
}
1459
1453
1460
- return '\\' .substr (str_replace ('\\\\' , '\\' , $ class ), 1 , -1 );
1454
+ $ class = substr (str_replace ('\\\\' , '\\' , $ class ), 1 , -1 );
1455
+
1456
+ return 0 === strpos ($ class , '\\' ) ? $ class : '\\' .$ class ;
1461
1457
}
1462
1458
1463
1459
/**
0 commit comments