diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-01 06:03:50 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-01 06:03:50 +0000 |
commit | ae18008584b5b38a44991bf7cdf02870f75c349a (patch) | |
tree | a76c0c37fe94f8eea3a753073fe2a8ce5053724d /lib/Support/PathV2.cpp | |
parent | 1d3896232a1c54c171c2bf60eda52a42006ff17b (diff) |
Support/PathV2: Add has_{root_path,root_name,root_directory,parent_path,filename,stem,extension} implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120559 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/PathV2.cpp')
-rw-r--r-- | lib/Support/PathV2.cpp | 88 |
1 files changed, 70 insertions, 18 deletions
diff --git a/lib/Support/PathV2.cpp b/lib/Support/PathV2.cpp index 47e59dd1cf..57ccf893d9 100644 --- a/lib/Support/PathV2.cpp +++ b/lib/Support/PathV2.cpp @@ -370,24 +370,6 @@ error_code root_directory(const StringRef &path, StringRef &result) { return make_error_code(errc::success); } -error_code has_root_name(const Twine &path, bool &result) { - SmallString<128> storage; - StringRef p = path.toStringRef(storage); - - if (error_code ec = root_name(p, p)) return ec; - result = !p.empty(); - return make_error_code(errc::success); -} - -error_code has_root_directory(const Twine &path, bool &result) { - SmallString<128> storage; - StringRef p = path.toStringRef(storage); - - if (error_code ec = root_directory(p, p)) return ec; - result = !p.empty(); - return make_error_code(errc::success); -} - error_code relative_path(const StringRef &path, StringRef &result) { StringRef root; if (error_code ec = root_path(path, root)) return ec; @@ -590,6 +572,76 @@ error_code extension(const StringRef &path, StringRef &result) { return make_error_code(errc::success); } +error_code has_root_name(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = root_name(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_root_directory(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = root_directory(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_root_path(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = root_path(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_filename(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = filename(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_parent_path(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = parent_path(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_stem(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = stem(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + +error_code has_extension(const Twine &path, bool &result) { + SmallString<128> path_storage; + StringRef p = path.toStringRef(path_storage); + + if (error_code ec = extension(p, p)) return ec; + + result = !p.empty(); + return make_error_code(errc::success); +} + } } } |