| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #pragma once
- #include <cmConfigure.h> // IWYU pragma: keep
- #include <string>
- #include <vector>
- class cmMakefile;
- /** \class cmExecutionStatus
- * \brief Superclass for all command status classes
- *
- * when a command is involked it may set values on a command status instance
- */
- class cmExecutionStatus
- {
- public:
- cmExecutionStatus(cmMakefile& makefile)
- : Makefile(makefile)
- , Error("unknown error.")
- {
- }
- cmMakefile& GetMakefile() { return this->Makefile; }
- void SetError(std::string const& e) { this->Error = e; }
- std::string const& GetError() const { return this->Error; }
- void SetReturnInvoked()
- {
- this->Variables.clear();
- this->ReturnInvoked = true;
- }
- void SetReturnInvoked(std::vector<std::string> variables)
- {
- this->Variables = std::move(variables);
- this->ReturnInvoked = true;
- }
- bool GetReturnInvoked() const { return this->ReturnInvoked; }
- const std::vector<std::string>& GetReturnVariables() const
- {
- return this->Variables;
- }
- void SetBreakInvoked() { this->BreakInvoked = true; }
- bool GetBreakInvoked() const { return this->BreakInvoked; }
- void SetContinueInvoked() { this->ContinueInvoked = true; }
- bool GetContinueInvoked() const { return this->ContinueInvoked; }
- void SetNestedError() { this->NestedError = true; }
- bool GetNestedError() const { return this->NestedError; }
- private:
- cmMakefile& Makefile;
- std::string Error;
- bool ReturnInvoked = false;
- bool BreakInvoked = false;
- bool ContinueInvoked = false;
- bool NestedError = false;
- std::vector<std::string> Variables;
- };
|