parameters: (args, kw)
docstring: This converts any arguments after the action argument into
      their equivalent keywords and adds them to the kw argument.
docstring_summary: This converts any arguments after the action argument into
      their equivalent keywords and adds them to the kw argument.
docstring_tokens: This converts any arguments after the action argument into their equivalent keywords and adds them to the kw argument .
function: def _do_create_keywords(args, kw):
      """This converts any arguments after the action argument into
      their equivalent keywords and adds them to the kw argument.
      """
      v = kw.get('varlist', ())
      # prevent varlist="FOO" from being interpreted as ['F', 'O', 'O']
      if is_String(v): v = (v,)
      kw['varlist'] = tuple(v)
      if args:
          # turn positional args into equivalent keywords
          cmdstrfunc = args[0]
          if cmdstrfunc is None or is_String(cmdstrfunc):
              kw['cmdstr'] = cmdstrfunc
          elif callable(cmdstrfunc):
              kw['strfunction'] = cmdstrfunc
          else:
              raise SCons.Errors.UserError(
                  'Invalid command display variable type. '
                  'You must either pass a string or a callback which '
                  'accepts (target, source, env) as parameters.')
          if len(args) > 1:
              kw['varlist'] = tuple(SCons.Util.flatten(args[1:])) + kw['varlist']
      if kw.get('strfunction', _null) is not _null \
                        and kw.get('cmdstr', _null) is not _null:
          raise SCons.Errors.UserError(
              'Cannot have both strfunction and cmdstr args to Action()')
function_tokens: def _do_create_keywords ( args , kw ) : v = kw . get ( 'varlist' , ( ) ) # prevent varlist="FOO" from being interpreted as ['F', 'O', 'O'] if is_String ( v ) : v = ( v , ) kw [ 'varlist' ] = tuple ( v ) if args : # turn positional args into equivalent keywords cmdstrfunc = args [ 0 ] if cmdstrfunc is None or is_String ( cmdstrfunc ) : kw [ 'cmdstr' ] = cmdstrfunc elif callable ( cmdstrfunc ) : kw [ 'strfunction' ] = cmdstrfunc else : raise SCons . Errors . UserError ( 'Invalid command display variable type. ' 'You must either pass a string or a callback which ' 'accepts (target, source, env) as parameters.' ) if len ( args ) > 1 : kw [ 'varlist' ] = tuple ( SCons . Util . flatten ( args [ 1 : ] ) ) + kw [ 'varlist' ] if kw . get ( 'strfunction' , _null ) is not _null and kw . get ( 'cmdstr' , _null ) is not _null : raise SCons . Errors . UserError ( 'Cannot have both strfunction and cmdstr args to Action()' )