diff options
author | Benoit Foucher <benoit@zeroc.com> | 2005-05-27 15:58:06 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2005-05-27 15:58:06 +0000 |
commit | 5a4e1d8f19abc897347ddc3e8ecdff069b775e2c (patch) | |
tree | e8d55f6999b3fa5edca0db5d841d1e6d3a9e68e8 /cpp/src/IceGrid/DescriptorHelper.cpp | |
parent | New template implementation. (diff) | |
download | ice-5a4e1d8f19abc897347ddc3e8ecdff069b775e2c.tar.bz2 ice-5a4e1d8f19abc897347ddc3e8ecdff069b775e2c.tar.xz ice-5a4e1d8f19abc897347ddc3e8ecdff069b775e2c.zip |
Fix
Diffstat (limited to 'cpp/src/IceGrid/DescriptorHelper.cpp')
-rw-r--r-- | cpp/src/IceGrid/DescriptorHelper.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index 6ff97d1fd8b..f121c80d614 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -125,9 +125,13 @@ DescriptorVariables::hasVariable(const string& name) const void DescriptorVariables::addVariable(const string& name, const string& value) { + if(_scopes.back().parameters.find(name) != _scopes.back().parameters.end()) + { + throw "can't define variable `" + name + "': a parameter with the same was previously defined"; + } if(_scopes.back().used.find(name) != _scopes.back().used.end()) { - throw "you can't redefine the variable `" + name + "' after its use"; + throw "can't redefine variable `" + name + "' after its use"; } _scopes.back().variables[name] = value; } @@ -190,6 +194,10 @@ DescriptorVariables::getCurrentScopeParameters() const void DescriptorVariables::addParameter(const string& name) { + if(_scopes.back().variables.find(name) != _scopes.back().variables.end()) + { + throw "can't declare parameter `" + name + "': a variable with the same was previously defined"; + } _scopes.back().parameters.insert(name); } @@ -674,6 +682,11 @@ ComponentDescriptorHelper::operator==(const ComponentDescriptorHelper& helper) c return false; } + if(_descriptor->variables != helper._descriptor->variables) + { + return false; + } + return true; } |