'Find all files under the base and set ``allfiles`` to the absolute
pathnames of files found.'

def findall(self):

    from stat import S_ISREG, S_ISDIR, S_ISLNK
    self.allfiles = allfiles = []
    root = self.base
    stack = [root]
    pop = stack.pop
    push = stack.append
    while stack:
        root = pop()
        names = os.listdir(root)
        for name in names:
            fullname = os.path.join(root, name)
            stat = os.stat(fullname)
            mode = stat.st_mode
            if S_ISREG(mode):
                allfiles.append(fsdecode(fullname))
            elif (S_ISDIR(mode) and (not S_ISLNK(mode))):
                push(fullname)
