This patch adds a VFS that can be overlaid on top of another VFS
to record file system accesses using the FileCollector.
This can help to gather files that are needed for reproducers.
Differential Revision: https://reviews.llvm.org/D65411
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367278 91177308-0d34-0410-b5e6-96231b3b80d8
The file collector class is useful for constructing reproducers by
creating a snapshot of the files that are accessed. Sometimes it might
also be important to construct directories that don't necessarily have files,
but are still accessed by some tool that we want to make a reproducer for.
This is useful for instance for modeling the behavior of Clang's header search,
which scans through a number of directories it doesn't actually access when
looking for framework headers. This commit extends the file collector to allow
it to work with paths that are just directories, by constructing them as the
files are copied over.
Differential Revision: https://reviews.llvm.org/D65297
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367061 91177308-0d34-0410-b5e6-96231b3b80d8
This patch changes the coding style of the FileCollector from the LLDB
to the LLVM coding style. Alex recently lifted it into LLVM and I
volunteered to do the conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366966 91177308-0d34-0410-b5e6-96231b3b80d8