Constify property definition API.
This commit is contained in:
parent
1c48edf8fc
commit
9058e27a43
|
@ -142,8 +142,7 @@ bool cmGetPropertyCommand
|
|||
{
|
||||
// Lookup brief documentation.
|
||||
std::string output;
|
||||
if(cmPropertyDefinition* def =
|
||||
this->Makefile->GetState()->
|
||||
if(cmPropertyDefinition const* def = this->Makefile->GetState()->
|
||||
GetPropertyDefinition(this->PropertyName, scope))
|
||||
{
|
||||
output = def->GetShortDescription();
|
||||
|
@ -158,8 +157,7 @@ bool cmGetPropertyCommand
|
|||
{
|
||||
// Lookup full documentation.
|
||||
std::string output;
|
||||
if(cmPropertyDefinition* def =
|
||||
this->Makefile->GetState()->
|
||||
if(cmPropertyDefinition const* def = this->Makefile->GetState()->
|
||||
GetPropertyDefinition(this->PropertyName, scope))
|
||||
{
|
||||
output = def->GetFullDescription();
|
||||
|
|
|
@ -29,9 +29,9 @@ void cmPropertyDefinitionMap
|
|||
}
|
||||
}
|
||||
|
||||
bool cmPropertyDefinitionMap::IsPropertyDefined(const std::string& name)
|
||||
bool cmPropertyDefinitionMap::IsPropertyDefined(const std::string& name) const
|
||||
{
|
||||
cmPropertyDefinitionMap::iterator it = this->find(name);
|
||||
cmPropertyDefinitionMap::const_iterator it = this->find(name);
|
||||
if (it == this->end())
|
||||
{
|
||||
return false;
|
||||
|
@ -40,9 +40,9 @@ bool cmPropertyDefinitionMap::IsPropertyDefined(const std::string& name)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool cmPropertyDefinitionMap::IsPropertyChained(const std::string& name)
|
||||
bool cmPropertyDefinitionMap::IsPropertyChained(const std::string& name) const
|
||||
{
|
||||
cmPropertyDefinitionMap::iterator it = this->find(name);
|
||||
cmPropertyDefinitionMap::const_iterator it = this->find(name);
|
||||
if (it == this->end())
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -27,10 +27,10 @@ public:
|
|||
bool chain);
|
||||
|
||||
// has a named property been defined
|
||||
bool IsPropertyDefined(const std::string& name);
|
||||
bool IsPropertyDefined(const std::string& name) const;
|
||||
|
||||
// is a named property set to chain
|
||||
bool IsPropertyChained(const std::string& name);
|
||||
bool IsPropertyChained(const std::string& name) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -256,27 +256,41 @@ void cmState::DefineProperty(const std::string& name,
|
|||
chained);
|
||||
}
|
||||
|
||||
cmPropertyDefinition *cmState
|
||||
cmPropertyDefinition const* cmState
|
||||
::GetPropertyDefinition(const std::string& name,
|
||||
cmProperty::ScopeType scope)
|
||||
cmProperty::ScopeType scope) const
|
||||
{
|
||||
if (this->IsPropertyDefined(name,scope))
|
||||
{
|
||||
return &(this->PropertyDefinitions[scope][name]);
|
||||
cmPropertyDefinitionMap const& defs =
|
||||
this->PropertyDefinitions.find(scope)->second;
|
||||
return &defs.find(name)->second;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool cmState::IsPropertyDefined(const std::string& name,
|
||||
cmProperty::ScopeType scope)
|
||||
cmProperty::ScopeType scope) const
|
||||
{
|
||||
return this->PropertyDefinitions[scope].IsPropertyDefined(name);
|
||||
std::map<cmProperty::ScopeType, cmPropertyDefinitionMap>::const_iterator it
|
||||
= this->PropertyDefinitions.find(scope);
|
||||
if (it == this->PropertyDefinitions.end())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return it->second.IsPropertyDefined(name);
|
||||
}
|
||||
|
||||
bool cmState::IsPropertyChained(const std::string& name,
|
||||
cmProperty::ScopeType scope)
|
||||
cmProperty::ScopeType scope) const
|
||||
{
|
||||
return this->PropertyDefinitions[scope].IsPropertyChained(name);
|
||||
std::map<cmProperty::ScopeType, cmPropertyDefinitionMap>::const_iterator it
|
||||
= this->PropertyDefinitions.find(scope);
|
||||
if (it == this->PropertyDefinitions.end())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return it->second.IsPropertyChained(name);
|
||||
}
|
||||
|
||||
void cmState::SetLanguageEnabled(std::string const& l)
|
||||
|
|
|
@ -102,12 +102,14 @@ public:
|
|||
bool chain = false);
|
||||
|
||||
// get property definition
|
||||
cmPropertyDefinition *GetPropertyDefinition
|
||||
(const std::string& name, cmProperty::ScopeType scope);
|
||||
cmPropertyDefinition const* GetPropertyDefinition
|
||||
(const std::string& name, cmProperty::ScopeType scope) const;
|
||||
|
||||
// Is a property defined?
|
||||
bool IsPropertyDefined(const std::string& name, cmProperty::ScopeType scope);
|
||||
bool IsPropertyChained(const std::string& name, cmProperty::ScopeType scope);
|
||||
bool IsPropertyDefined(const std::string& name,
|
||||
cmProperty::ScopeType scope) const;
|
||||
bool IsPropertyChained(const std::string& name,
|
||||
cmProperty::ScopeType scope) const;
|
||||
|
||||
void SetLanguageEnabled(std::string const& l);
|
||||
bool GetLanguageEnabled(std::string const& l) const;
|
||||
|
|
Loading…
Reference in New Issue