diff options
author | Jose <jose@zeroc.com> | 2017-05-04 11:44:19 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-05-04 11:44:19 +0200 |
commit | 34806029cac2f1d8a0adc657d15e986260fad181 (patch) | |
tree | 5831b4b7049f117243dbf77258b3fcb183da1222 /cpp/src/slice2java | |
parent | Fix (ICE-7861) - Generated Result struct for local interface op in C# (diff) | |
download | ice-34806029cac2f1d8a0adc657d15e986260fad181.tar.bz2 ice-34806029cac2f1d8a0adc657d15e986260fad181.tar.xz ice-34806029cac2f1d8a0adc657d15e986260fad181.zip |
Fix (ICE-7860) - local class inherit local interface broken in Java
Diffstat (limited to 'cpp/src/slice2java')
-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()) |