/var/www/flurhymez/vendor/psy/psysh/src/TabCompletion/Matcher
Edit: /var/www/flurhymez/vendor/psy/psysh/src/TabCompletion/Matcher/AbstractDefaultParametersMatcher.php (2069B)
isDefaultValueAvailable()) {
return [];
}
$defaultValue = $this->valueToShortString($parameter->getDefaultValue());
$parametersProcessed[] = "\${$parameter->getName()} = $defaultValue";
}
if (empty($parametersProcessed)) {
return [];
}
return [\implode(', ', $parametersProcessed).')'];
}
/**
* Takes in the default value of a parameter and turns it into a
* string representation that fits inline.
* This is not 100% true to the original (newlines are inlined, for example).
*
* @param mixed $value
*
* @return string
*/
private function valueToShortString($value)
{
if (!\is_array($value)) {
return \json_encode($value);
}
$chunks = [];
$chunksSequential = [];
$allSequential = true;
foreach ($value as $key => $item) {
$allSequential = $allSequential && \is_numeric($key) && $key === \count($chunksSequential);
$keyString = $this->valueToShortString($key);
$itemString = $this->valueToShortString($item);
$chunks[] = "{$keyString} => {$itemString}";
$chunksSequential[] = $itemString;
}
$chunksToImplode = $allSequential ? $chunksSequential : $chunks;
return '['.\implode(', ', $chunksToImplode).']';
}
}