code: @Override
    protected PyExpr visitCallBasicNode(CallBasicNode node) {
      String calleeName = node.getCalleeName();
  
      // Build the Python expr text for the callee.
      String calleeExprText;
      TemplateNode template = getTemplateIfInSameFile(node);
      if (template != null) {
        // If in the same module no namespace is required.
        calleeExprText = getLocalTemplateName(template);
      } else {
        // If in another module, the module name is required along with the function name.
        int secondToLastDotIndex = calleeName.lastIndexOf('.', calleeName.lastIndexOf('.') - 1);
        calleeExprText = calleeName.substring(secondToLastDotIndex + 1);
      }
  
      String callExprText = calleeExprText + "(" + genObjToPass(node) + ", ijData)";
      return escapeCall(callExprText, node.getEscapingDirectives());
    }
docs: Visits basic call nodes and builds the call expression. If the callee is in the file, it can be
  accessed directly, but if it's in another file, the module name must be prefixed.
  
  @param node The basic call node.
  @return The call Python expression.