26#ifndef LLVM_CLANG_TOOLING_COMMONOPTIONSPARSER_H
27#define LLVM_CLANG_TOOLING_COMMONOPTIONSPARSER_H
31#include "llvm/Support/CommandLine.h"
32#include "llvm/Support/Error.h"
82 int &argc,
const char **argv, llvm::cl::OptionCategory &
Category,
83 llvm::cl::NumOccurrencesFlag OccurrencesFlag = llvm::cl::OneOrMore,
84 const char *Overview =
nullptr);
90 create(
int &argc,
const char **argv, llvm::cl::OptionCategory &
Category,
91 llvm::cl::NumOccurrencesFlag OccurrencesFlag = llvm::cl::OneOrMore,
92 const char *Overview =
nullptr);
101 return SourcePathList;
113 llvm::Error init(
int &argc,
const char **argv,
115 llvm::cl::NumOccurrencesFlag OccurrencesFlag,
116 const char *Overview);
118 std::unique_ptr<CompilationDatabase> Compilations;
119 std::vector<std::string> SourcePathList;
126 std::unique_ptr<CompilationDatabase> Compilations)
127 : Compilations(
std::move(Compilations)) {}
131 std::vector<CompileCommand>
134 std::vector<std::string>
getAllFiles()
const override;
139 std::unique_ptr<CompilationDatabase> Compilations;
140 std::vector<ArgumentsAdjuster> Adjusters;
142 std::vector<CompileCommand>
143 adjustCommands(std::vector<CompileCommand> Commands)
const;
The JSON file list parser is used to communicate input to InstallAPI.