コード例 #1
0
ファイル: CompilerFile.php プロジェクト: phalcon/zephir
 /**
  * Compiles a function
  *
  * @param CompilationContext $compilationContext
  * @param FunctionDefinition $functionDefinition
  */
 public function compileFunction(CompilationContext $compilationContext, FunctionDefinition $functionDefinition)
 {
     /** Make sure we do not produce calls like ZEPHIR_CALL_SELF */
     $bakClassDefinition = $compilationContext->classDefinition;
     $compilationContext->classDefinition = null;
     $compilationContext->currentMethod = $functionDefinition;
     $codePrinter = $compilationContext->codePrinter;
     $codePrinter->output('PHP_FUNCTION(' . $functionDefinition->getInternalName() . ') {');
     $functionDefinition->compile($compilationContext);
     $codePrinter->output('}');
     $codePrinter->outputBlankLine();
     /** Restore */
     $compilationContext->classDefinition = $bakClassDefinition;
     $compilationContext->currentMethod = null;
 }