mirror of
https://github.com/reactos/CMake.git
synced 2024-11-24 12:09:48 +00:00
Constify property definition API.
This commit is contained in:
parent
1c48edf8fc
commit
9058e27a43
@ -142,8 +142,7 @@ bool cmGetPropertyCommand
|
|||||||
{
|
{
|
||||||
// Lookup brief documentation.
|
// Lookup brief documentation.
|
||||||
std::string output;
|
std::string output;
|
||||||
if(cmPropertyDefinition* def =
|
if(cmPropertyDefinition const* def = this->Makefile->GetState()->
|
||||||
this->Makefile->GetState()->
|
|
||||||
GetPropertyDefinition(this->PropertyName, scope))
|
GetPropertyDefinition(this->PropertyName, scope))
|
||||||
{
|
{
|
||||||
output = def->GetShortDescription();
|
output = def->GetShortDescription();
|
||||||
@ -158,8 +157,7 @@ bool cmGetPropertyCommand
|
|||||||
{
|
{
|
||||||
// Lookup full documentation.
|
// Lookup full documentation.
|
||||||
std::string output;
|
std::string output;
|
||||||
if(cmPropertyDefinition* def =
|
if(cmPropertyDefinition const* def = this->Makefile->GetState()->
|
||||||
this->Makefile->GetState()->
|
|
||||||
GetPropertyDefinition(this->PropertyName, scope))
|
GetPropertyDefinition(this->PropertyName, scope))
|
||||||
{
|
{
|
||||||
output = def->GetFullDescription();
|
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())
|
if (it == this->end())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -40,9 +40,9 @@ bool cmPropertyDefinitionMap::IsPropertyDefined(const std::string& name)
|
|||||||
return true;
|
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())
|
if (it == this->end())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -27,10 +27,10 @@ public:
|
|||||||
bool chain);
|
bool chain);
|
||||||
|
|
||||||
// has a named property been defined
|
// 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
|
// is a named property set to chain
|
||||||
bool IsPropertyChained(const std::string& name);
|
bool IsPropertyChained(const std::string& name) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -256,27 +256,41 @@ void cmState::DefineProperty(const std::string& name,
|
|||||||
chained);
|
chained);
|
||||||
}
|
}
|
||||||
|
|
||||||
cmPropertyDefinition *cmState
|
cmPropertyDefinition const* cmState
|
||||||
::GetPropertyDefinition(const std::string& name,
|
::GetPropertyDefinition(const std::string& name,
|
||||||
cmProperty::ScopeType scope)
|
cmProperty::ScopeType scope) const
|
||||||
{
|
{
|
||||||
if (this->IsPropertyDefined(name,scope))
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmState::IsPropertyDefined(const std::string& name,
|
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,
|
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)
|
void cmState::SetLanguageEnabled(std::string const& l)
|
||||||
|
@ -102,12 +102,14 @@ public:
|
|||||||
bool chain = false);
|
bool chain = false);
|
||||||
|
|
||||||
// get property definition
|
// get property definition
|
||||||
cmPropertyDefinition *GetPropertyDefinition
|
cmPropertyDefinition const* GetPropertyDefinition
|
||||||
(const std::string& name, cmProperty::ScopeType scope);
|
(const std::string& name, cmProperty::ScopeType scope) const;
|
||||||
|
|
||||||
// Is a property defined?
|
// Is a property defined?
|
||||||
bool IsPropertyDefined(const std::string& name, cmProperty::ScopeType scope);
|
bool IsPropertyDefined(const std::string& name,
|
||||||
bool IsPropertyChained(const std::string& name, cmProperty::ScopeType scope);
|
cmProperty::ScopeType scope) const;
|
||||||
|
bool IsPropertyChained(const std::string& name,
|
||||||
|
cmProperty::ScopeType scope) const;
|
||||||
|
|
||||||
void SetLanguageEnabled(std::string const& l);
|
void SetLanguageEnabled(std::string const& l);
|
||||||
bool GetLanguageEnabled(std::string const& l) const;
|
bool GetLanguageEnabled(std::string const& l) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user