[FileSystem] Move path resolution logic out of FileSpec

This patch removes the logic for resolving paths out of FileSpec and
updates call sites to rely on the FileSystem class instead.

Differential revision: https://reviews.llvm.org/D53915

llvm-svn: 345890
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index 4f36fba..45736b5 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -1418,8 +1418,9 @@
       m_supports_mem_region = LazyBool::eLazyBoolNo;
       return parse_error;
     }
-    m_mem_region_cache.emplace_back(
-        info, FileSpec(info.GetName().GetCString(), true));
+    FileSpec file_spec(info.GetName().GetCString());
+    FileSystem::Instance().Resolve(file_spec);
+    m_mem_region_cache.emplace_back(info, file_spec);
   }
 
   if (m_mem_region_cache.empty()) {
@@ -1723,7 +1724,8 @@
   if (error.Fail())
     return error;
 
-  FileSpec module_file_spec(module_path, true);
+  FileSpec module_file_spec(module_path);
+  FileSystem::Instance().Resolve(module_file_spec);
 
   file_spec.Clear();
   for (const auto &it : m_mem_region_cache) {
@@ -1743,7 +1745,7 @@
   if (error.Fail())
     return error;
 
-  FileSpec file(file_name, false);
+  FileSpec file(file_name);
   for (const auto &it : m_mem_region_cache) {
     if (it.second == file) {
       load_addr = it.first.GetRange().GetRangeBase();