Lines Matching defs:components
357 // {C:/,//net/}, so get the first two components.
425 SmallVector<StringRef, 4> components;
426 if (!a.isTriviallyEmpty()) components.push_back(a.toStringRef(a_storage));
427 if (!b.isTriviallyEmpty()) components.push_back(b.toStringRef(b_storage));
428 if (!c.isTriviallyEmpty()) components.push_back(c.toStringRef(c_storage));
429 if (!d.isTriviallyEmpty()) components.push_back(d.toStringRef(d_storage));
431 for (auto &component : components) {
713 // Remove path traversal components ("." and "..") when possible, and
720 SmallVector<StringRef, 16> components;
728 // Loop over path components manually. This makes it easier to detect
746 // Check for path traversal components or double separators.
753 if (!components.empty() && components.back() != "..") {
754 components.pop_back();
756 components.push_back(component);
759 components.push_back(component);
772 if (!components.empty()) {
773 buffer += components[0];
774 for (StringRef C : ArrayRef(components).drop_front()) {