diff --git a/src/SerializedObject.cpp b/src/SerializedObject.cpp index 25219648d3..e2f3cbeab3 100644 --- a/src/SerializedObject.cpp +++ b/src/SerializedObject.cpp @@ -235,11 +235,7 @@ void STObject::add(Serializer& s) const field->addFieldID(s); field->add(s); - - if (dynamic_cast(field)) - s.addFieldID(STI_OBJECT, 1); - else if (dynamic_cast(field)) - s.addFieldID(STI_ARRAY, 1); + s.addFieldID(STI_OBJECT, 1); } } @@ -691,15 +687,11 @@ Json::Value STArray::getJson(int) const void STArray::add(Serializer& s) const { - BOOST_FOREACH(const SerializedType& object, value) + BOOST_FOREACH(const STObject& object, value) { object.addFieldID(s); object.add(s); - - if (dynamic_cast(&object)) - s.addFieldID(STI_OBJECT, 1); - else if (dynamic_cast(&object)) - s.addFieldID(STI_ARRAY, 1); + s.addFieldID(STI_OBJECT, 1); } } diff --git a/src/SerializedObject.h b/src/SerializedObject.h index 8c696b6b7f..bed99e969b 100644 --- a/src/SerializedObject.h +++ b/src/SerializedObject.h @@ -137,12 +137,12 @@ public: class STArray : public SerializedType { public: - typedef std::vector vector; - typedef std::vector::iterator iterator; - typedef std::vector::const_iterator const_iterator; - typedef std::vector::reverse_iterator reverse_iterator; - typedef std::vector::const_reverse_iterator const_reverse_iterator; - typedef std::vector::size_type size_type; + typedef std::vector vector; + typedef std::vector::iterator iterator; + typedef std::vector::const_iterator const_iterator; + typedef std::vector::reverse_iterator reverse_iterator; + typedef std::vector::const_reverse_iterator const_reverse_iterator; + typedef std::vector::size_type size_type; protected: @@ -165,9 +165,9 @@ public: vector& getValue() { return value; } // vector-like functions - void push_back(const SerializedType& object) { value.push_back(object); } - SerializedType& operator[](int j) { return value[j]; } - const SerializedType& operator[](int j) const { return value[j]; } + void push_back(const STObject& object) { value.push_back(object); } + STObject& operator[](int j) { return value[j]; } + const STObject& operator[](int j) const { return value[j]; } iterator begin() { return value.begin(); } const_iterator begin() const { return value.begin(); } iterator end() { return value.end(); } @@ -191,7 +191,7 @@ public: bool operator!=(const STArray &s) { return value != s.value; } virtual SerializedTypeID getSType() const { return STI_ARRAY; } - virtual bool isEquivalent(const SerializedType& t) const; + virtual bool isEquivalent(const STObject& t) const; }; #endif