/** * Builds a new function instance. * * @param string $name The function name. * @return ASTFunction */ public function buildFunction($name) { $this->checkBuilderState(); // Debug function creation Log::debug("Creating: \\PDepend\\Source\\AST\\ASTFunction({$name})"); // Create new function $function = new ASTFunction($name); $function->setCache($this->cache)->setContext($this->context)->setCompilationUnit($this->defaultCompilationUnit); return $function; }
/** * Creates a ready to use function fixture. * * @param string $name Optional function name. * @return \PDepend\Source\AST\ASTFunction * @since 1.0.2 */ protected function createFunctionFixture($name = null) { $name = $name ? $name : get_class($this); $function = new ASTFunction($name); $function->setCompilationUnit(new ASTCompilationUnit($GLOBALS['argv'][0])); $function->setCache(new MemoryCacheDriver()); $function->addChild(new ASTFormalParameters()); return $function; }