/**
  * Compile given component's Node to string
  *
  * @param ComponentNode $node
  * @param ComponentDefinition|PhpTemplateComponentDefinition $definition
  * @param SourceCompilerInterface $sourceCompiler
  * @return string
  */
 public function compileComponent(ComponentNode $node, ComponentDefinition $definition, SourceCompilerInterface $sourceCompiler)
 {
     if ($node instanceof ContainerComponentNode) {
         $content = $sourceCompiler->buildContentClosure($node->innerNodes);
     } else {
         $content = null;
     }
     return sprintf(static::CALL_CODE_TEMPLATE, var_export(realpath($definition->getFile()), true), $sourceCompiler->compileParametersArray($node->parameters), $content ? $sourceCompiler->compileNode($content) : 'null');
 }