code: def DEFINE_flag(flag, flag_values=_flagvalues.FLAGS, module_name=None):  # pylint: disable=invalid-name
    
    # Copying the reference to flag_values prevents pychecker warnings.
    fv = flag_values
    fv[flag.name] = flag
    # Tell flag_values who's defining the flag.
    if module_name:
      module = sys.modules.get(module_name)
    else:
      module, module_name = _helpers.get_calling_module_object_and_name()
    flag_values.register_flag_by_module(module_name, flag)
    flag_values.register_flag_by_module_id(id(module), flag)
docs: Registers a 'Flag' object with a 'FlagValues' object.
  
    By default, the global FLAGS 'FlagValue' object is used.
  
    Typical users will use one of the more specialized DEFINE_xxx
    functions, such as DEFINE_string or DEFINE_integer.  But developers
    who need to create Flag objects themselves should use this function
    to register their flags.
  
    Args:
      flag: Flag, a flag that is key to the module.
      flag_values: FlagValues, the FlagValues instance with which the flag will
          be registered. This should almost never need to be overridden.
      module_name: str, the name of the Python module declaring this flag.
          If not provided, it will be computed using the stack trace of this call.