summaryrefslogtreecommitdiff
path: root/cpp/src/FreezeScript/TransformDescriptors.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-01-17 17:05:58 +0000
committerMark Spruiell <mes@zeroc.com>2004-01-17 17:05:58 +0000
commitcbaefff2e8305ef2e2d51ba84146208f9a49e8d7 (patch)
tree67a87327586b4675d433ee90973e6d34d81061aa /cpp/src/FreezeScript/TransformDescriptors.cpp
parentWin32 fixes (diff)
downloadice-cbaefff2e8305ef2e2d51ba84146208f9a49e8d7.tar.bz2
ice-cbaefff2e8305ef2e2d51ba84146208f9a49e8d7.tar.xz
ice-cbaefff2e8305ef2e2d51ba84146208f9a49e8d7.zip
minor fixes
Diffstat (limited to 'cpp/src/FreezeScript/TransformDescriptors.cpp')
-rw-r--r--cpp/src/FreezeScript/TransformDescriptors.cpp53
1 files changed, 1 insertions, 52 deletions
diff --git a/cpp/src/FreezeScript/TransformDescriptors.cpp b/cpp/src/FreezeScript/TransformDescriptors.cpp
index ad6cdacbced..209ac664dc6 100644
--- a/cpp/src/FreezeScript/TransformDescriptors.cpp
+++ b/cpp/src/FreezeScript/TransformDescriptors.cpp
@@ -18,7 +18,6 @@
#include <FreezeScript/Functions.h>
#include <FreezeScript/Exception.h>
#include <FreezeScript/Util.h>
-#include <IceUtil/UUID.h>
#include <db_cxx.h>
using namespace std;
@@ -419,12 +418,6 @@ FreezeScript::DefineDescriptor::DefineDescriptor(const DescriptorPtr& parent, in
_valueStr = p->second;
}
- p = attributes.find("length");
- if(p != attributes.end())
- {
- _lengthStr = p->second;
- }
-
p = attributes.find("convert");
if(p != attributes.end())
{
@@ -435,11 +428,6 @@ FreezeScript::DefineDescriptor::DefineDescriptor(const DescriptorPtr& parent, in
{
_value = parse(_valueStr);
}
-
- if(!_lengthStr.empty())
- {
- _length = parse(_lengthStr);
- }
}
void
@@ -474,46 +462,7 @@ FreezeScript::DefineDescriptor::execute(const SymbolTablePtr& sym, TransformInfo
}
}
- DataPtr length;
- if(_length)
- {
- SequenceDataPtr seq = SequenceDataPtr::dynamicCast(data);
- if(!seq)
- {
- _errorReporter->error("length attribute specified but type is not a sequence");
- }
-
- try
- {
- length = _length->evaluate(sym);
- }
- catch(const EvaluateException& ex)
- {
- _errorReporter->error("evaluation of length `" + _lengthStr + "' failed:\n" + ex.reason());
- }
-
- DataList& elements = seq->getElements();
- Ice::Long l = length->integerValue();
- if(l < 0 || l > INT_MAX)
- {
- _errorReporter->error("sequence length " + length->toString() + " is out of range");
- }
-
- DataList::size_type len = static_cast<DataList::size_type>(l);
- Slice::SequencePtr seqType = Slice::SequencePtr::dynamicCast(seq->getType());
- assert(seqType);
- Slice::TypePtr elemType = seqType->type();
- for(DataList::size_type i = elements.size(); i < len; ++i)
- {
- DataPtr v = _factory->create(elemType, false);
- if(value)
- {
- assignOrTransform(v, value, _convert, _factory, _errorReporter, info);
- }
- elements.push_back(v);
- }
- }
- else if(value)
+ if(value)
{
assignOrTransform(data, value, _convert, _factory, _errorReporter, info);
}