8 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILECOMMANDS_H
9 #define LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILECOMMANDS_H
12 #include "clang/Tooling/ArgumentsAdjusters.h"
13 #include "llvm/ADT/StringMap.h"
14 #include "llvm/ADT/StringRef.h"
45 void adjust(std::vector<std::string> &Cmd, llvm::StringRef File)
const;
46 explicit operator clang::tooling::ArgumentsAdjuster() &&;
79 void strip(llvm::StringRef Arg);
87 unsigned char Modes = 0;
88 uint16_t Priority = 0;
89 uint16_t ExactArgs = 0;
90 uint16_t PrefixArgs = 0;
92 static llvm::ArrayRef<Rule> rulesFor(llvm::StringRef Arg);
93 const Rule *matchingRule(llvm::StringRef Arg,
unsigned Mode,
94 unsigned &ArgCount)
const;
95 llvm::SmallVector<Rule> Rules;
96 std::deque<std::string> Storage;