def __init__(self,
                 function,
                 name = "NONE",
                 argument = _null,
                 skeys = _null,
                 path_function = None,
                 # Node.FS.Base so that, by default, it's okay for a
                 # scanner to return a Dir, File or Entry.
                 node_class = SCons.Node.FS.Base,
                 node_factory = None,
                 scan_check = None,
                 recursive = None):

        # Note: this class could easily work with scanner functions that take
        # something other than a filename as an argument (e.g. a database
        # node) and a dependencies list that aren't file names. All that
        # would need to be changed is the documentation.

        self.function = function
        self.path_function = path_function
        self.name = name
        self.argument = argument

        if skeys is _null:
            if SCons.Util.is_Dict(function):
                skeys = list(function.keys())
            else:
                skeys = []
        self.skeys = skeys

        self.node_class = node_class
        self.node_factory = node_factory
        self.scan_check = scan_check
        if callable(recursive):
            self.recurse_nodes = recursive
        elif recursive:
            self.recurse_nodes = self._recurse_all_nodes
        else:
            self.recurse_nodes = self._recurse_no_nodes
Construct a new scanner object given a scanner function.
dataset/ETHPy150Open kayhayen/Nuitka/nuitka/build/inline_copy/lib/scons-2.3.2/SCons/Scanner/__init__.py/Base.__init__