code: def _list_function_infos(jvm):
      """
      Returns a list of function information via JVM. Sorts wrapped expression infos by name
      and returns them.
      """
  
      jinfos = (
          jvm.org.apache.spark.sql.api.python.PythonSQLUtils.listBuiltinFunctionInfos()
      )
      infos = _virtual_operator_infos
      for jinfo in jinfos:
          name = jinfo.getName()
          usage = jinfo.getUsage()
          usage = (
              usage.replace("_FUNC_", name)
              if usage is not None
              else usage
          )
          infos.append(
              ExpressionInfo(
                  className=jinfo.getClassName(),
                  name=name,
                  usage=usage,
                  arguments=jinfo.getArguments().replace(
                      "_FUNC_", name
                  ),
                  examples=jinfo.getExamples().replace("_FUNC_", name),
                  note=jinfo.getNote().replace("_FUNC_", name),
                  since=jinfo.getSince(),
                  deprecated=jinfo.getDeprecated(),
              )
          )
      return sorted(infos, key=lambda i: i.name)
  
file_path: spark/sql/gen-sql-api-docs.py
imports: import os
  from collections import namedtuple
  from pyspark.java_gateway import launch_gateway
label_desc: Use image node_id 1 for calling a global function with example usage: _list_function_infos(jvm) and returns: sorted