Lines Matching full:path
1 //===--- Path.cpp -------------------------------------------*- C++-*------===//
9 #include "support/Path.h"
10 #include "llvm/Support/Path.h"
15 std::string maybeCaseFoldPath(PathRef Path) { return Path.lower(); } in maybeCaseFoldPath() argument
18 std::string maybeCaseFoldPath(PathRef Path) { return Path.str(); }
22 PathRef absoluteParent(PathRef Path) { in absoluteParent() argument
23 assert(llvm::sys::path::is_absolute(Path)); in absoluteParent()
27 if (llvm::sys::path::relative_path(Path).empty()) { in absoluteParent()
31 PathRef Result = llvm::sys::path::parent_path(Path); in absoluteParent()
32 assert(Result.empty() || llvm::sys::path::is_absolute(Result)); in absoluteParent()
36 bool pathStartsWith(PathRef Ancestor, PathRef Path, in pathStartsWith() argument
37 llvm::sys::path::Style Style) { in pathStartsWith()
38 assert(llvm::sys::path::is_absolute(Ancestor) && in pathStartsWith()
39 llvm::sys::path::is_absolute(Path)); in pathStartsWith()
42 if (llvm::sys::path::is_separator(Ancestor.back(), Style)) in pathStartsWith()
44 // Ensure Path starts with Ancestor. in pathStartsWith()
45 if (!pathEqual(Ancestor, Path.take_front(Ancestor.size()))) in pathStartsWith()
47 Path = Path.drop_front(Ancestor.size()); in pathStartsWith()
48 // Then make sure either two paths are equal or Path has a separator in pathStartsWith()
50 return Path.empty() || llvm::sys::path::is_separator(Path.front(), Style); in pathStartsWith()