27#ifndef LLVM_CLANG_TOOLING_EXECUTION_H
28#define LLVM_CLANG_TOOLING_EXECUTION_H
32#include "llvm/Support/Error.h"
33#include "llvm/Support/Registry.h"
34#include "llvm/Support/StringSaver.h"
50 virtual std::vector<std::pair<llvm::StringRef, llvm::StringRef>>
53 llvm::function_ref<
void(StringRef Key, StringRef
Value)> Callback) = 0;
63 std::vector<std::pair<llvm::StringRef, llvm::StringRef>>
69 llvm::BumpPtrAllocator Arena;
70 llvm::UniqueStringSaver Strings;
72 std::vector<std::pair<llvm::StringRef, llvm::StringRef>> KVResults;
125 llvm::Error
execute(std::unique_ptr<FrontendActionFactory> Action);
127 llvm::Error
execute(std::unique_ptr<FrontendActionFactory> Action,
174 const char *Overview =
nullptr);
180 const char *Overview =
nullptr);
The context of an execution, including the information about compilation and results.
ExecutionContext(ToolResults *Results)
Initializes a context. This does not take ownership of Results.
virtual std::string getCurrentCompilationUnit()
virtual ~ExecutionContext()
virtual std::string getRevision()
virtual std::string getCorpus()
void reportResult(StringRef Key, StringRef Value)
Adds a KV pair to the result container of this execution.
The JSON file list parser is used to communicate input to InstallAPI.