code: def run_2to3(files, fixer_names=None, options=None, explicit=None):
      """Invoke 2to3 on a list of Python files.
      The files should all come from the build area, as the
      modification is done in-place. To reduce the build time,
      only files modified since the last invocation of this
      function should be passed in the files argument."""
  
      if not files:
          return
  
      # Make this class local, to delay import of 2to3
      from lib2to3.refactor import (
          RefactoringTool,
          get_fixers_from_package,
      )
  
      class DistutilsRefactoringTool(RefactoringTool):
          def log_error(self, msg, *args, **kw):
              log.error(msg, *args)
  
          def log_message(self, msg, *args):
              log.info(msg, *args)
  
          def log_debug(self, msg, *args):
              log.debug(msg, *args)
  
      if fixer_names is None:
          fixer_names = get_fixers_from_package("lib2to3.fixes")
      r = DistutilsRefactoringTool(fixer_names, options=options)
      r.refactor(files, write=True)
  
imports: import os
  import re
  import importlib.util
  import string
  import sys
  import distutils
  from distutils.errors import DistutilsPlatformError
  from distutils.dep_util import newer
  from distutils.spawn import spawn
  from distutils import log
  from distutils.errors import DistutilsByteCompileError
label_desc: Use image node_id 14 for calling a global function with example usage: run_2to3(files, fixer_names, options, explicit) without return types