diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/FreezeScript/TransformAnalyzer.cpp | 4 | ||||
-rw-r--r-- | cpp/src/FreezeScript/TransformDescriptors.cpp | 53 | ||||
-rw-r--r-- | cpp/src/FreezeScript/TransformDescriptors.h | 2 |
3 files changed, 3 insertions, 56 deletions
diff --git a/cpp/src/FreezeScript/TransformAnalyzer.cpp b/cpp/src/FreezeScript/TransformAnalyzer.cpp index 5d056381d16..cc47b1dd791 100644 --- a/cpp/src/FreezeScript/TransformAnalyzer.cpp +++ b/cpp/src/FreezeScript/TransformAnalyzer.cpp @@ -25,7 +25,7 @@ namespace FreezeScript { // -// TransformVisitor visits the old definitions and compares them with +// AnalyzeTransformVisitor visits the old definitions and compares them with // the new definitions. // class AnalyzeTransformVisitor : public ParserVisitor @@ -82,7 +82,7 @@ private: } //////////////////////////////////// -// TransformVisitor +// AnalyzeTransformVisitor //////////////////////////////////// FreezeScript::AnalyzeTransformVisitor::AnalyzeTransformVisitor(XMLOutput& out, const UnitPtr& newUnit, 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); } diff --git a/cpp/src/FreezeScript/TransformDescriptors.h b/cpp/src/FreezeScript/TransformDescriptors.h index d0d33085796..c2f26168b25 100644 --- a/cpp/src/FreezeScript/TransformDescriptors.h +++ b/cpp/src/FreezeScript/TransformDescriptors.h @@ -94,8 +94,6 @@ private: NodePtr _value; std::string _valueStr; Slice::TypePtr _type; - NodePtr _length; - std::string _lengthStr; bool _convert; }; |