summaryrefslogtreecommitdiff
path: root/Source/cmExecutionStatus.h
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2016-12-26 10:38:36 +0100
committerRegina Pfeifer <regina@mailbox.org>2019-07-21 09:25:32 +0200
commit1eebc2956321c2e7da00a5d35e207bedb899c804 (patch)
treea8c98c7349a686061cb035e8859e8925bc79c458 /Source/cmExecutionStatus.h
parent82aa6941e9b292d95820b5723b4dcc8b70fbb417 (diff)
downloadcmake-1eebc2956321c2e7da00a5d35e207bedb899c804.tar.gz
cmCommand: deprecate functions GetMakefile and SetError
Replace the members for the Makefile and the Error with a cmExecutionStatus. Re-implement GetMakefile and SetError based on that. Both functions should be called directly on the cmExecutionStatus that is passed to InitialPass. This will help us make all Commands immutable and remove the need for cloning.
Diffstat (limited to 'Source/cmExecutionStatus.h')
-rw-r--r--Source/cmExecutionStatus.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmExecutionStatus.h b/Source/cmExecutionStatus.h
index 56199dd935..bcacc2f1ed 100644
--- a/Source/cmExecutionStatus.h
+++ b/Source/cmExecutionStatus.h
@@ -3,6 +3,11 @@
#ifndef cmExecutionStatus_h
#define cmExecutionStatus_h
+#include <cmConfigure.h> // IWYU pragma: keep
+#include <string>
+
+class cmMakefile;
+
/** \class cmExecutionStatus
* \brief Superclass for all command status classes
*
@@ -11,14 +16,26 @@
class cmExecutionStatus
{
public:
+ cmExecutionStatus(cmMakefile& makefile)
+ : Makefile(makefile)
+ , Error("unknown error.")
+ {
+ }
+
void Clear()
{
+ this->Error = "unknown error.";
this->ReturnInvoked = false;
this->BreakInvoked = false;
this->ContinueInvoked = false;
this->NestedError = false;
}
+ 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->ReturnInvoked = true; }
bool GetReturnInvoked() const { return this->ReturnInvoked; }
@@ -32,6 +49,8 @@ public:
bool GetNestedError() const { return this->NestedError; }
private:
+ cmMakefile& Makefile;
+ std::string Error;
bool ReturnInvoked = false;
bool BreakInvoked = false;
bool ContinueInvoked = false;