summaryrefslogtreecommitdiffstats
path: root/clang/include/clang/Tooling/Execution.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/include/clang/Tooling/Execution.h')
-rw-r--r--clang/include/clang/Tooling/Execution.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/include/clang/Tooling/Execution.h b/clang/include/clang/Tooling/Execution.h
index 68aef53cb58..7f4b145773e 100644
--- a/clang/include/clang/Tooling/Execution.h
+++ b/clang/include/clang/Tooling/Execution.h
@@ -114,6 +114,13 @@ public:
/// Returns the name of a specific executor.
virtual StringRef getExecutorName() const = 0;
+ /// Should return true iff executor runs all actions in a single process.
+ /// Clients can use this signal to find out if they can collect results
+ /// in-memory (e.g. to avoid serialization costs of using ToolResults).
+ /// The single-process executors can still run multiple threads, but all
+ /// executions are guaranteed to share the same memory.
+ virtual bool isSingleProcess() const = 0;
+
/// Executes each action with a corresponding arguments adjuster.
virtual llvm::Error
execute(llvm::ArrayRef<
OpenPOWER on IntegriCloud