def __init__(self, name, directory, fs):
        if SCons.Debug.track_instances: logInstanceCreation(self, 'Node.FS.Base')
        SCons.Node.Node.__init__(self)

        # Filenames and paths are probably reused and are intern'ed to
        # save some memory.

        #: Filename with extension as it was specified when the object was
        #: created; to obtain filesystem path, use Python str() function
        self.name = SCons.Util.silent_intern(name)
        #: Cached filename extension
        self.suffix = SCons.Util.silent_intern(SCons.Util.splitext(name)[1])
        self.fs = fs #: Reference to parent Node.FS object

        assert directory, "A directory must be provided"

        self.abspath = SCons.Util.silent_intern(directory.entry_abspath(name))
        self.labspath = SCons.Util.silent_intern(directory.entry_labspath(name))
        if directory.path == '.':
            self.path = SCons.Util.silent_intern(name)
        else:
            self.path = SCons.Util.silent_intern(directory.entry_path(name))
        if directory.tpath == '.':
            self.tpath = SCons.Util.silent_intern(name)
        else:
            self.tpath = SCons.Util.silent_intern(directory.entry_tpath(name))
        self.path_elements = directory.path_elements + [self]

        self.dir = directory
        self.cwd = None # will hold the SConscript directory for target nodes
        self.duplicate = directory.duplicate
Initialize a generic Node.FS.Base object.
dataset/ETHPy150Open kayhayen/Nuitka/nuitka/build/inline_copy/lib/scons-2.3.2/SCons/Node/FS.py/Base.__init__