forked from OSchip/llvm-project
Extract runCommandsInFile method
Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D51260 llvm-svn: 341144
This commit is contained in:
parent
347b989cef
commit
7dfed0b22c
|
@ -58,6 +58,24 @@ static cl::list<std::string> CommandFiles("f",
|
|||
cl::value_desc("file"),
|
||||
cl::cat(ClangQueryCategory));
|
||||
|
||||
bool runCommandsInFile(const char *ExeName, std::string const &FileName,
|
||||
QuerySession &QS) {
|
||||
std::ifstream Input(FileName.c_str());
|
||||
if (!Input.is_open()) {
|
||||
llvm::errs() << ExeName << ": cannot open " << FileName << "\n";
|
||||
return 1;
|
||||
}
|
||||
while (Input.good()) {
|
||||
std::string Line;
|
||||
std::getline(Input, Line);
|
||||
|
||||
QueryRef Q = QueryParser::parse(Line, QS);
|
||||
if (!Q->run(llvm::outs(), QS))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int main(int argc, const char **argv) {
|
||||
llvm::sys::PrintStackTraceOnErrorSignal(argv[0]);
|
||||
|
||||
|
@ -84,19 +102,8 @@ int main(int argc, const char **argv) {
|
|||
}
|
||||
} else if (!CommandFiles.empty()) {
|
||||
for (auto I = CommandFiles.begin(), E = CommandFiles.end(); I != E; ++I) {
|
||||
std::ifstream Input(I->c_str());
|
||||
if (!Input.is_open()) {
|
||||
llvm::errs() << argv[0] << ": cannot open " << *I << "\n";
|
||||
if (runCommandsInFile(argv[0], *I, QS))
|
||||
return 1;
|
||||
}
|
||||
while (Input.good()) {
|
||||
std::string Line;
|
||||
std::getline(Input, Line);
|
||||
|
||||
QueryRef Q = QueryParser::parse(Line, QS);
|
||||
if (!Q->run(llvm::outs(), QS))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
LineEditor LE("clang-query");
|
||||
|
|
Loading…
Reference in New Issue