diff options
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 24f3a7e2957..8a0f8da95a2 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -2496,9 +2496,18 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p) { out << " extends com.zeroc.Ice.Value"; } - else + + if(p->isLocal()) { - implements.push_back("java.lang.Cloneable"); + if(!baseClass) + { + implements.push_back("java.lang.Cloneable"); + } + + for(ClassList::const_iterator q = bases.begin(); q != bases.end(); ++q) + { + implements.push_back(getAbsolute(*q, package)); + } } if(!implements.empty()) |