public function _get_defined_functions(array $functions = [])
{
if (count($this->whitelist['functions'])) {
$functions = [];
foreach ($this->whitelist['functions'] as $name => $value) {
if (isset($this->definitions['functions'][$name]) && is_callable($this->definitions['functions'][$name])) {
$functions[$name] = $name;
} else {
if (is_callable($name) && is_string($name)) {
$functions[$name] = $name;
}
}
}
foreach ($this->definitions['functions'] as $name => $function) {
if (is_callable($function)) {
$functions[$name] = $name;
}
}
return array_values($functions);
} else {
if (count($this->blacklist['functions'])) {
foreach ($functions as $index => $name) {
if (isset($this->blacklist['functions'][$name])) {
unset($functions[$index]);
}
}
reset($functions);
return $functions;
}
}
return [];
}