private function process_arguments($input)
{
if (is_array($input)) {
$output = array();
foreach ($input as $k => $token) {
$output[$k] = trim($this->process_arguments($token), '\'"');
}
return $output;
}
$token = $input;
if ($token === null) {
return ' ';
}
if (!is_object($token)) {
return (string) $token;
}
if (method_exists($token, 'toString')) {
return $token->toString();
}
if (method_exists($token, '__toString')) {
return $token->__toString();
}
if (method_exists($token, 'perform')) {
return $token->perform();
}
return '';
}