Ejemplo n.º 1
0
 /**
  * Apply any function call, array and object deference.
  * @param Node $function_reference
  * @param bool $dynamic TRUE if the function call is dynamic
  * @return Node
  */
 private function functionCall(Node $function_reference, $dynamic = FALSE)
 {
     if ($dynamic) {
         $node = new CallbackCallNode();
         $node->addChild($function_reference, 'callback');
     } else {
         if ($function_reference instanceof NameNode && $function_reference->childCount() === 1 && $function_reference == 'define') {
             $node = new DefineNode();
         } else {
             $node = new FunctionCallNode();
         }
         $node->addChild($function_reference, 'name');
     }
     $this->functionCallParameterList($node);
     return $this->objectDereference($this->arrayDeference($node));
 }