Coverity: ast module class hierarchy inconsistencies fixed 82/18282/2
Dhruv Khattar [Tue, 21 Jun 2016 18:04:44 +0000 (23:04 +0530)]
Change-Id: I98bb6d431f6f1f782c5aec2371dc9ea7530fa4ce

scilab/modules/ast/includes/exps/arraylistvar.hxx
scilab/modules/ast/includes/types/arrayof.hxx
scilab/modules/ast/includes/types/sparse.hxx
scilab/modules/ast/src/cpp/types/sparse.cpp

index cec6bb3..184f2d1 100644 (file)
@@ -99,7 +99,7 @@ public:
     {
         return ARRAYLISTVAR;
     }
-    inline bool isArrayListVar()
+    inline bool isArrayListVar() const
     {
         return true;
     }
index a375d0f..d0ce13e 100644 (file)
@@ -238,7 +238,7 @@ public :
         return this;
     }
 
-    virtual ArrayOf<T>* set(int _iPos, T _data)
+    virtual ArrayOf<T>* set(int _iPos, const T _data)
     {
         if (m_pRealData == NULL || _iPos >= m_iSize)
         {
@@ -257,7 +257,7 @@ public :
         return this;
     }
 
-    virtual ArrayOf<T>* set(int _iRows, int _iCols, T _data)
+    virtual ArrayOf<T>* set(int _iRows, int _iCols, const T _data)
     {
         //            int piIndexes[2];
         //            piIndexes[0] = _iRows;
index f279d24..d8e55c8 100644 (file)
@@ -143,16 +143,8 @@ struct EXTERN_AST Sparse : GenericType
     */
     void whoAmI() SPARSE_CONST;
     bool isExtract() const;
-    Sparse* clone(void) const;
-    Sparse* clone(void)
-    {
-        return const_cast<Sparse const*>(this)->clone();
-    }
-    bool toString(std::wostringstream& ostr) const;
-    bool toString(std::wostringstream& ostr)
-    {
-        return const_cast<Sparse const*>(this)->toString(ostr);
-    }
+    Sparse* clone(void);
+    bool toString(std::wostringstream& ostr);
 
     /* post condition: dimensions are at least _iNewRows, _iNewCols
        preserving existing data.
@@ -517,18 +509,10 @@ struct EXTERN_AST SparseBool : GenericType
     }
     void finalize();
 
-    bool toString(std::wostringstream& ostr) const;
-    bool toString(std::wostringstream& ostr)
-    {
-        return const_cast<SparseBool const*>(this)->toString(ostr);
-    }
+    bool toString(std::wostringstream& ostr);
 
     /* Config management and GenericType methods overrides */
-    SparseBool* clone(void) const;
-    SparseBool* clone(void)
-    {
-        return const_cast<SparseBool const*>(this)->clone();
-    }
+    SparseBool* clone(void);
 
     SparseBool* resize(int _iNewRows, int _iNewCols);
     SparseBool* reshape(int* _piNewDims, int _iNewDims);
index 2ea89ce..30a9f1b 100644 (file)
@@ -694,7 +694,7 @@ void Sparse::whoAmI() SPARSE_CONST
     std::cout << "types::Sparse";
 }
 
-Sparse* Sparse::clone(void) const
+Sparse* Sparse::clone(void)
 {
     return new Sparse(*this);
 }
@@ -714,7 +714,7 @@ bool Sparse::zero_set()
 }
 
 // TODO: handle precision and line length
-bool Sparse::toString(std::wostringstream& ostr) const
+bool Sparse::toString(std::wostringstream& ostr)
 {
     int iPrecision = ConfigVariable::getFormatSize();
     std::wstring res;
@@ -2909,7 +2909,7 @@ SparseBool::~SparseBool()
 #endif
 }
 
-bool SparseBool::toString(std::wostringstream& ostr) const
+bool SparseBool::toString(std::wostringstream& ostr)
 {
     ostr << ::toString(*matrixBool, 0);
     return true;
@@ -2920,7 +2920,7 @@ void SparseBool::whoAmI() SPARSE_CONST
     std::cout << "types::SparseBool";
 }
 
-SparseBool* SparseBool::clone(void) const
+SparseBool* SparseBool::clone(void)
 {
     return new SparseBool(*this);
 }