summaryrefslogtreecommitdiffstats
path: root/Source/cmDependsJavaParserHelper.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2009-09-14 14:31:38 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2009-09-14 14:31:38 (GMT)
commit6a9a958591e91d416ec330777f9692082961ff04 (patch)
treefb5100568a43272b631d0c867d3f5ceee77c7ea5 /Source/cmDependsJavaParserHelper.h
parentda29eb892bff37d6f338d4fc154bb4df4a04244c (diff)
downloadCMake-6a9a958591e91d416ec330777f9692082961ff04.zip
CMake-6a9a958591e91d416ec330777f9692082961ff04.tar.gz
CMake-6a9a958591e91d416ec330777f9692082961ff04.tar.bz2
Fix open solaris build issue with concept checking that breaks std vector for a class of itself. Bug #9523.
Diffstat (limited to 'Source/cmDependsJavaParserHelper.h')
-rw-r--r--Source/cmDependsJavaParserHelper.h31
1 files changed, 27 insertions, 4 deletions
diff --git a/Source/cmDependsJavaParserHelper.h b/Source/cmDependsJavaParserHelper.h
index 171518e..551e29b 100644
--- a/Source/cmDependsJavaParserHelper.h
+++ b/Source/cmDependsJavaParserHelper.h
@@ -70,14 +70,37 @@ public:
private:
class CurrentClass
- {
+ {
public:
cmStdString Name;
- std::vector<CurrentClass> NestedClasses;
- CurrentClass() {}
+ 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;
cmStdString InputBuffer;