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));
  }
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));
  }
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 ) ) ; }
Apply any function call, array and object deference.
@param Node $function_reference
@param bool $dynamic TRUE if the function call is dynamic
@return Node
Apply any function call array and object deference .