r249832 - [VFS] Rename RedirectingFS internals to avoid collisions with public clang classes

Benjamin Kramer via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 9 06:28:14 PDT 2015


Author: d0k
Date: Fri Oct  9 08:28:13 2015
New Revision: 249832

URL: http://llvm.org/viewvc/llvm-project?rev=249832&view=rev
Log:
[VFS] Rename RedirectingFS internals to avoid collisions with public clang classes

Hopefully fixes the MSVC build. NFC intended.

Modified:
    cfe/trunk/lib/Basic/VirtualFileSystem.cpp

Modified: cfe/trunk/lib/Basic/VirtualFileSystem.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/VirtualFileSystem.cpp?rev=249832&r1=249831&r2=249832&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/VirtualFileSystem.cpp (original)
+++ cfe/trunk/lib/Basic/VirtualFileSystem.cpp Fri Oct  9 08:28:13 2015
@@ -667,13 +667,14 @@ public:
   EntryKind getKind() const { return Kind; }
 };
 
-class DirectoryEntry : public Entry {
+class RedirectingDirectoryEntry : public Entry {
   std::vector<std::unique_ptr<Entry>> Contents;
   Status S;
 
 public:
-  DirectoryEntry(StringRef Name, std::vector<std::unique_ptr<Entry>> Contents,
-                 Status S)
+  RedirectingDirectoryEntry(StringRef Name,
+                            std::vector<std::unique_ptr<Entry>> Contents,
+                            Status S)
       : Entry(EK_Directory, Name), Contents(std::move(Contents)),
         S(std::move(S)) {}
   Status getStatus() { return S; }
@@ -683,7 +684,7 @@ public:
   static bool classof(const Entry *E) { return E->getKind() == EK_Directory; }
 };
 
-class FileEntry : public Entry {
+class RedirectingFileEntry : public Entry {
 public:
   enum NameKind {
     NK_NotSet,
@@ -694,7 +695,8 @@ private:
   std::string ExternalContentsPath;
   NameKind UseName;
 public:
-  FileEntry(StringRef Name, StringRef ExternalContentsPath, NameKind UseName)
+  RedirectingFileEntry(StringRef Name, StringRef ExternalContentsPath,
+                       NameKind UseName)
       : Entry(EK_File, Name), ExternalContentsPath(ExternalContentsPath),
         UseName(UseName) {}
   StringRef getExternalContentsPath() const { return ExternalContentsPath; }
@@ -711,11 +713,13 @@ class RedirectingFileSystem;
 class VFSFromYamlDirIterImpl : public clang::vfs::detail::DirIterImpl {
   std::string Dir;
   RedirectingFileSystem &FS;
-  DirectoryEntry::iterator Current, End;
+  RedirectingDirectoryEntry::iterator Current, End;
+
 public:
   VFSFromYamlDirIterImpl(const Twine &Path, RedirectingFileSystem &FS,
-                         DirectoryEntry::iterator Begin,
-                         DirectoryEntry::iterator End, std::error_code &EC);
+                         RedirectingDirectoryEntry::iterator Begin,
+                         RedirectingDirectoryEntry::iterator End,
+                         std::error_code &EC);
   std::error_code increment() override;
 };
 
@@ -843,7 +847,7 @@ public:
       return directory_iterator();
     }
 
-    DirectoryEntry *D = cast<DirectoryEntry>(*E);
+    auto *D = cast<RedirectingDirectoryEntry>(*E);
     return directory_iterator(std::make_shared<VFSFromYamlDirIterImpl>(Dir,
         *this, D->contents_begin(), D->contents_end(), EC));
   }
@@ -948,7 +952,7 @@ class RedirectingFileSystemParser {
     std::vector<std::unique_ptr<Entry>> EntryArrayContents;
     std::string ExternalContentsPath;
     std::string Name;
-    FileEntry::NameKind UseExternalName = FileEntry::NK_NotSet;
+    auto UseExternalName = RedirectingFileEntry::NK_NotSet;
     EntryKind Kind;
 
     for (yaml::MappingNode::iterator I = M->begin(), E = M->end(); I != E;
@@ -1016,7 +1020,8 @@ class RedirectingFileSystemParser {
         bool Val;
         if (!parseScalarBool(I->getValue(), Val))
           return nullptr;
-        UseExternalName = Val ? FileEntry::NK_External : FileEntry::NK_Virtual;
+        UseExternalName = Val ? RedirectingFileEntry::NK_External
+                              : RedirectingFileEntry::NK_Virtual;
       } else {
         llvm_unreachable("key missing from Keys");
       }
@@ -1034,7 +1039,8 @@ class RedirectingFileSystemParser {
       return nullptr;
 
     // check invalid configuration
-    if (Kind == EK_Directory && UseExternalName != FileEntry::NK_NotSet) {
+    if (Kind == EK_Directory &&
+        UseExternalName != RedirectingFileEntry::NK_NotSet) {
       error(N, "'use-external-name' is not supported for directories");
       return nullptr;
     }
@@ -1051,11 +1057,11 @@ class RedirectingFileSystemParser {
     std::unique_ptr<Entry> Result;
     switch (Kind) {
     case EK_File:
-      Result = llvm::make_unique<FileEntry>(
+      Result = llvm::make_unique<RedirectingFileEntry>(
           LastComponent, std::move(ExternalContentsPath), UseExternalName);
       break;
     case EK_Directory:
-      Result = llvm::make_unique<DirectoryEntry>(
+      Result = llvm::make_unique<RedirectingDirectoryEntry>(
           LastComponent, std::move(EntryArrayContents),
           Status("", getNextVirtualUniqueID(), sys::TimeValue::now(), 0, 0, 0,
                  file_type::directory_file, sys::fs::all_all));
@@ -1072,7 +1078,7 @@ class RedirectingFileSystemParser {
          I != E; ++I) {
       std::vector<std::unique_ptr<Entry>> Entries;
       Entries.push_back(std::move(Result));
-      Result = llvm::make_unique<DirectoryEntry>(
+      Result = llvm::make_unique<RedirectingDirectoryEntry>(
           *I, std::move(Entries),
           Status("", getNextVirtualUniqueID(), sys::TimeValue::now(), 0, 0, 0,
                  file_type::directory_file, sys::fs::all_all));
@@ -1232,7 +1238,7 @@ RedirectingFileSystem::lookupPath(sys::p
     return From;
   }
 
-  DirectoryEntry *DE = dyn_cast<DirectoryEntry>(From);
+  auto *DE = dyn_cast<RedirectingDirectoryEntry>(From);
   if (!DE)
     return make_error_code(llvm::errc::not_a_directory);
 
@@ -1248,7 +1254,7 @@ RedirectingFileSystem::lookupPath(sys::p
 ErrorOr<Status> RedirectingFileSystem::status(const Twine &Path, Entry *E) {
   assert(E != nullptr);
   std::string PathStr(Path.str());
-  if (FileEntry *F = dyn_cast<FileEntry>(E)) {
+  if (auto *F = dyn_cast<RedirectingFileEntry>(E)) {
     ErrorOr<Status> S = ExternalFS->status(F->getExternalContentsPath());
     assert(!S || S->getName() == F->getExternalContentsPath());
     if (S && !F->useExternalName(UseExternalNames))
@@ -1257,7 +1263,7 @@ ErrorOr<Status> RedirectingFileSystem::s
       S->IsVFSMapped = true;
     return S;
   } else { // directory
-    DirectoryEntry *DE = cast<DirectoryEntry>(E);
+    auto *DE = cast<RedirectingDirectoryEntry>(E);
     return Status::copyWithNewName(DE->getStatus(), PathStr);
   }
 }
@@ -1301,7 +1307,7 @@ RedirectingFileSystem::openFileForRead(c
   if (!E)
     return E.getError();
 
-  FileEntry *F = dyn_cast<FileEntry>(*E);
+  auto *F = dyn_cast<RedirectingFileEntry>(*E);
   if (!F) // FIXME: errc::not_a_file?
     return make_error_code(llvm::errc::invalid_argument);
 
@@ -1466,11 +1472,10 @@ void YAMLVFSWriter::write(llvm::raw_ostr
   JSONWriter(OS).write(Mappings, IsCaseSensitive);
 }
 
-VFSFromYamlDirIterImpl::VFSFromYamlDirIterImpl(const Twine &_Path,
-                                               RedirectingFileSystem &FS,
-                                               DirectoryEntry::iterator Begin,
-                                               DirectoryEntry::iterator End,
-                                               std::error_code &EC)
+VFSFromYamlDirIterImpl::VFSFromYamlDirIterImpl(
+    const Twine &_Path, RedirectingFileSystem &FS,
+    RedirectingDirectoryEntry::iterator Begin,
+    RedirectingDirectoryEntry::iterator End, std::error_code &EC)
     : Dir(_Path.str()), FS(FS), Current(Begin), End(End) {
   if (Current != End) {
     SmallString<128> PathStr(Dir);




More information about the cfe-commits mailing list