Plumbing for a Virtual File System

Adds the -vfsoverlay frontend option that enables the user to pass
VFS overlay YAML files to Swift. These files define a (potentially
many-layered) virtual mapping on which we predicate a VFS.

Switch all input-based memory buffer reads in the Frontend to the new
FileSystem-based approach.
This commit is contained in:
Robert Widmann
2018-07-28 01:21:17 -04:00
parent 2dfa303975
commit 0e58b7fd14
22 changed files with 234 additions and 13 deletions

View File

@@ -463,6 +463,10 @@ static bool ParseSearchPathArgs(SearchPathOptions &Opts,
Opts.LibrarySearchPaths.push_back(resolveSearchPath(A->getValue()));
}
for (const Arg *A : Args.filtered(OPT_vfsoverlay)) {
Opts.VFSOverlayFiles.push_back(resolveSearchPath(A->getValue()));
}
if (const Arg *A = Args.getLastArg(OPT_sdk))
Opts.SDKPath = A->getValue();