Lines Matching defs:components
358 // {C:/,//net/}, so get the first two components.
426 SmallVector<StringRef, 4> components;
427 if (!a.isTriviallyEmpty()) components.push_back(a.toStringRef(a_storage));
428 if (!b.isTriviallyEmpty()) components.push_back(b.toStringRef(b_storage));
429 if (!c.isTriviallyEmpty()) components.push_back(c.toStringRef(c_storage));
430 if (!d.isTriviallyEmpty()) components.push_back(d.toStringRef(d_storage));
432 for (auto &component : components) {
714 // Remove path traversal components ("." and "..") when possible, and
721 SmallVector<StringRef, 16> components;
729 // Loop over path components manually. This makes it easier to detect
747 // Check for path traversal components or double separators.
754 if (!components.empty() && components.back() != "..") {
755 components.pop_back();
757 components.push_back(component);
760 components.push_back(component);
773 if (!components.empty()) {
774 buffer += components[0];
775 for (StringRef C : ArrayRef(components).drop_front()) {