docs: public Expression gen(
        CallNode callNode,
        TemplateAliases templateAliases,
        TranslationContext translationContext,
        ErrorReporter errorReporter,
        TranslateExprNodeVisitor exprTranslator) {
  
      // Build the JS CodeChunk for the callee's name.
      Expression callee = genCallee(callNode, templateAliases, exprTranslator);
  
      // Generate the data object to pass to callee
      Expression objToPass =
          genObjToPass(callNode, templateAliases, translationContext, errorReporter, exprTranslator);
  
      Expression call = genMainCall(callee, objToPass, callNode);
      if (callNode.getEscapingDirectives().isEmpty()) {
        return call;
      }
      return applyEscapingDirectives(call, callNode);
    }