[Cmake-commits] [cmake-commits] hoffman committed cmDependsJavaParserHelper.cxx 1.5 1.6 cmDependsJavaParserHelper.h 1.3 1.4

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Sep 14 10:31:41 EDT 2009


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv13809

Modified Files:
	cmDependsJavaParserHelper.cxx cmDependsJavaParserHelper.h 
Log Message:
Fix open solaris build issue with concept checking that breaks std vector for a class of itself.  Bug #9523.


Index: cmDependsJavaParserHelper.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDependsJavaParserHelper.cxx,v
retrieving revision 1.5
retrieving revision 1.6
diff -C 2 -d -r1.5 -r1.6
*** cmDependsJavaParserHelper.cxx	10 May 2006 19:01:22 -0000	1.5
--- cmDependsJavaParserHelper.cxx	14 Sep 2009 14:31:36 -0000	1.6
***************
*** 53,58 ****
    files->push_back(rname);
    std::vector<CurrentClass>::iterator it;
!   for ( it = this->NestedClasses.begin();
!     it != this->NestedClasses.end();
      ++ it )
      {
--- 53,58 ----
    files->push_back(rname);
    std::vector<CurrentClass>::iterator it;
!   for ( it = this->NestedClasses->begin();
!     it != this->NestedClasses->end();
      ++ it )
      {
***************
*** 250,254 ****
      }
    this->CurrentDepth --;
!   parent->NestedClasses.push_back(*current);
    this->ClassStack.erase(this->ClassStack.end()-1, this->ClassStack.end());
  }
--- 250,254 ----
      }
    this->CurrentDepth --;
!   parent->NestedClasses->push_back(*current);
    this->ClassStack.erase(this->ClassStack.end()-1, this->ClassStack.end());
  }
***************
*** 276,281 ****
    CurrentClass* toplevel = &(*(this->ClassStack.begin()));
    std::vector<CurrentClass>::iterator it;
!   for ( it = toplevel->NestedClasses.begin(); 
!     it != toplevel->NestedClasses.end();
      ++ it )
      {
--- 276,281 ----
    CurrentClass* toplevel = &(*(this->ClassStack.begin()));
    std::vector<CurrentClass>::iterator it;
!   for ( it = toplevel->NestedClasses->begin(); 
!     it != toplevel->NestedClasses->end();
      ++ it )
      {

Index: cmDependsJavaParserHelper.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDependsJavaParserHelper.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** cmDependsJavaParserHelper.h	10 May 2006 19:01:22 -0000	1.3
--- cmDependsJavaParserHelper.h	14 Sep 2009 14:31:38 -0000	1.4
***************
*** 71,82 ****
  private:
    class CurrentClass
!     {
    public:
      cmStdString Name;
!     std::vector<CurrentClass> NestedClasses;
!     CurrentClass() {}
      void AddFileNamesForPrinting(std::vector<cmStdString> *files, 
                                   const char* prefix, const char* sep);
!     };
    cmStdString CurrentPackage;
    cmStdString::size_type InputBufferPos;
--- 71,105 ----
  private:
    class CurrentClass
!   {
    public:
      cmStdString Name;
!     std::vector<CurrentClass>* NestedClasses;
!     CurrentClass() 
!       {
!         this->NestedClasses = new std::vector<CurrentClass>;
!       }
!     ~CurrentClass()
!       {
!         delete this->NestedClasses;
!       }
!     CurrentClass& operator=(CurrentClass const& c) 
!       {
!         this->NestedClasses->clear();
!         this->Name = c.Name;
!         std::copy(
!           c.NestedClasses->begin(),
!           c.NestedClasses->end(),
!           std::back_inserter(
!             *this->NestedClasses)
!           );
!         return *this;
!       }
!     CurrentClass(CurrentClass const& c)
!       {
!         (*this) = c;
!       }
      void AddFileNamesForPrinting(std::vector<cmStdString> *files, 
                                   const char* prefix, const char* sep);
!   };
    cmStdString CurrentPackage;
    cmStdString::size_type InputBufferPos;



More information about the Cmake-commits mailing list