public function functionExists($functionName, CompilationContext $context)
{
if (function_exists($functionName)) {
return true;
}
if ($this->isBuiltInFunction($functionName)) {
return true;
}
$internalName = array('f__' . $functionName);
if (isset($context->classDefinition)) {
$internalName[] = 'f_' . str_replace('\\', '_', strtolower($context->classDefinition->getNamespace())) . '_' . $functionName;
}
foreach ($internalName as $name) {
if (isset($context->compiler->functionDefinitions[$name])) {
return true;
}
}
return false;
}