diff --git a/Source/cmDefinitions.cxx b/Source/cmDefinitions.cxx index fe32dd5d8..abb46b333 100644 --- a/Source/cmDefinitions.cxx +++ b/Source/cmDefinitions.cxx @@ -20,13 +20,6 @@ cmDefinitions::cmDefinitions(cmDefinitions* parent) { } -//---------------------------------------------------------------------------- -void cmDefinitions::Reset(cmDefinitions* parent) -{ - this->Up = parent; - this->Map.clear(); -} - //---------------------------------------------------------------------------- cmDefinitions::Def const& cmDefinitions::GetInternal(const std::string& key) @@ -45,23 +38,6 @@ cmDefinitions::GetInternal(const std::string& key) return this->NoDef; } -//---------------------------------------------------------------------------- -cmDefinitions::Def const& -cmDefinitions::SetInternal(const std::string& key, Def const& def) -{ - if(this->Up || def.Exists) - { - // In lower scopes we store keys, defined or not. - return (this->Map[key] = def); - } - else - { - // In the top-most scope we need not store undefined keys. - this->Map.erase(key); - return this->NoDef; - } -} - //---------------------------------------------------------------------------- const char* cmDefinitions::Get(const std::string& key) { @@ -70,10 +46,19 @@ const char* cmDefinitions::Get(const std::string& key) } //---------------------------------------------------------------------------- -const char* cmDefinitions::Set(const std::string& key, const char* value) +void cmDefinitions::Set(const std::string& key, const char* value) { - Def const& def = this->SetInternal(key, Def(value)); - return def.Exists? def.c_str() : 0; + Def def(value); + if(this->Up || def.Exists) + { + // In lower scopes we store keys, defined or not. + this->Map[key] = def; + } + else + { + // In the top-most scope we need not store undefined keys. + this->Map.erase(key); + } } //---------------------------------------------------------------------------- diff --git a/Source/cmDefinitions.h b/Source/cmDefinitions.h index a2f053fda..83cd0d9ce 100644 --- a/Source/cmDefinitions.h +++ b/Source/cmDefinitions.h @@ -30,9 +30,6 @@ public: /** Construct with the given parent scope. */ cmDefinitions(cmDefinitions* parent = 0); - /** Reset object as if newly constructed. */ - void Reset(cmDefinitions* parent = 0); - /** Returns the parent scope, if any. */ cmDefinitions* GetParent() const { return this->Up; } @@ -41,7 +38,7 @@ public: const char* Get(const std::string& key); /** Set (or unset if null) a value associated with a key. */ - const char* Set(const std::string& key, const char* value); + void Set(const std::string& key, const char* value); /** Get the set of all local keys. */ std::set LocalKeys() const; @@ -81,7 +78,6 @@ private: // Internal query and update methods. Def const& GetInternal(const std::string& key); - Def const& SetInternal(const std::string& key, Def const& def); // Implementation of Closure() method. struct ClosureTag {};