def get_cachedir_bsig(self):
        """
        Return the signature for a cached file, including
        its children.

        It adds the path of the cached file to the cache signature,
        because multiple targets built by the same action will all
        have the same build signature, and we have to differentiate
        them somehow.
        """
        try:
            return self.cachesig
        except __HOLE__:
            pass

        # Collect signatures for all children
        children = self.children()
        sigs = [n.get_cachedir_csig() for n in children]
        # Append this node's signature...
        sigs.append(self.get_contents_sig())
        # ...and it's path
        sigs.append(self.path)
        # Merge this all into a single signature
        result = self.cachesig = SCons.Util.MD5collect(sigs)
        return result
dataset/ETHPy150Open kayhayen/Nuitka/nuitka/build/inline_copy/lib/scons-2.3.2/SCons/Node/FS.py/File.get_cachedir_bsig