mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-21 10:36:49 +00:00
[VFS] Avoid <stack> include (NFC)
Directly use a vector instead of wrapping it in a stack, like we do in most places.
This commit is contained in:
parent
df86fb069e
commit
48ef912e2b
clang-tools-extra
clang-tidy
clangd
clang
lib
unittests/Support
lldb/include/lldb/Target
llvm
include/llvm/Support
lib
ProfileData/Coverage
Support
Transforms/Instrumentation
@ -9,6 +9,7 @@
|
||||
#include "RedundantStrcatCallsCheck.h"
|
||||
#include "clang/AST/ASTContext.h"
|
||||
#include "clang/ASTMatchers/ASTMatchFinder.h"
|
||||
#include <deque>
|
||||
|
||||
using namespace clang::ast_matchers;
|
||||
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "clang/Lex/MacroArgs.h"
|
||||
#include "clang/Lex/PPCallbacks.h"
|
||||
#include "clang/Lex/Preprocessor.h"
|
||||
#include <stack>
|
||||
|
||||
namespace clang::tidy::bugprone {
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <atomic>
|
||||
#include <chrono>
|
||||
#include <condition_variable>
|
||||
#include <deque>
|
||||
#include <mutex>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include "clang/AST/PrettyPrinter.h"
|
||||
#include "clang/Tooling/Syntax/Tokens.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include <stack>
|
||||
|
||||
namespace clang {
|
||||
namespace clangd {
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "clang/Sema/SemaInternal.h"
|
||||
#include "clang/Sema/SemaObjC.h"
|
||||
#include "clang/Sema/SemaSwift.h"
|
||||
#include <stack>
|
||||
|
||||
using namespace clang;
|
||||
|
||||
|
@ -59,6 +59,7 @@
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#include "llvm/Support/JSON.h"
|
||||
#include "llvm/Support/TimeProfiler.h"
|
||||
#include <stack>
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "lldb/lldb-private-forward.h"
|
||||
#include "lldb/lldb-public.h"
|
||||
|
||||
#include <deque>
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
#include <ctime>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <system_error>
|
||||
#include <utility>
|
||||
@ -219,7 +218,7 @@ namespace detail {
|
||||
|
||||
/// Keeps state for the recursive_directory_iterator.
|
||||
struct RecDirIterState {
|
||||
std::stack<directory_iterator, std::vector<directory_iterator>> Stack;
|
||||
std::vector<directory_iterator> Stack;
|
||||
bool HasNoPushRequest = false;
|
||||
};
|
||||
|
||||
@ -242,8 +241,8 @@ public:
|
||||
/// Equivalent to operator++, with an error code.
|
||||
recursive_directory_iterator &increment(std::error_code &EC);
|
||||
|
||||
const directory_entry &operator*() const { return *State->Stack.top(); }
|
||||
const directory_entry *operator->() const { return &*State->Stack.top(); }
|
||||
const directory_entry &operator*() const { return *State->Stack.back(); }
|
||||
const directory_entry *operator->() const { return &*State->Stack.back(); }
|
||||
|
||||
bool operator==(const recursive_directory_iterator &Other) const {
|
||||
return State == Other.State; // identity
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <system_error>
|
||||
#include <utility>
|
||||
|
@ -2913,30 +2913,31 @@ vfs::recursive_directory_iterator::recursive_directory_iterator(
|
||||
directory_iterator I = FS->dir_begin(Path, EC);
|
||||
if (I != directory_iterator()) {
|
||||
State = std::make_shared<detail::RecDirIterState>();
|
||||
State->Stack.push(I);
|
||||
State->Stack.push_back(I);
|
||||
}
|
||||
}
|
||||
|
||||
vfs::recursive_directory_iterator &
|
||||
recursive_directory_iterator::increment(std::error_code &EC) {
|
||||
assert(FS && State && !State->Stack.empty() && "incrementing past end");
|
||||
assert(!State->Stack.top()->path().empty() && "non-canonical end iterator");
|
||||
assert(!State->Stack.back()->path().empty() && "non-canonical end iterator");
|
||||
vfs::directory_iterator End;
|
||||
|
||||
if (State->HasNoPushRequest)
|
||||
State->HasNoPushRequest = false;
|
||||
else {
|
||||
if (State->Stack.top()->type() == sys::fs::file_type::directory_file) {
|
||||
vfs::directory_iterator I = FS->dir_begin(State->Stack.top()->path(), EC);
|
||||
if (State->Stack.back()->type() == sys::fs::file_type::directory_file) {
|
||||
vfs::directory_iterator I =
|
||||
FS->dir_begin(State->Stack.back()->path(), EC);
|
||||
if (I != End) {
|
||||
State->Stack.push(I);
|
||||
State->Stack.push_back(I);
|
||||
return *this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while (!State->Stack.empty() && State->Stack.top().increment(EC) == End)
|
||||
State->Stack.pop();
|
||||
while (!State->Stack.empty() && State->Stack.back().increment(EC) == End)
|
||||
State->Stack.pop_back();
|
||||
|
||||
if (State->Stack.empty())
|
||||
State.reset(); // end iterator
|
||||
|
@ -120,6 +120,7 @@
|
||||
#include <memory>
|
||||
#include <numeric>
|
||||
#include <optional>
|
||||
#include <stack>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <utility>
|
||||
|
Loading…
x
Reference in New Issue
Block a user