| Conditions | 2 | 
| Paths | 2 | 
| Total Lines | 9 | 
| Code Lines | 5 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | <?php | ||
| 9 | public static function create(RootPackage $root, JsonObject $packageConfig) : self | ||
| 10 |     { | ||
| 11 |         if (null === $packageName = $packageConfig->get('name')) { | ||
|  | |||
| 12 |             throw new \InvalidArgumentException('Package data must include package name'); | ||
| 13 | } | ||
| 14 |         $dirPath = $root->getVendorPath(str_replace('/', DIRECTORY_SEPARATOR, $packageConfig->get('name'))); | ||
| 15 | |||
| 16 | return new static($root, $dirPath, $packageConfig); | ||
| 17 | } | ||
| 18 | |||
| 24 | 
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: