diff options
author | Matthew Newhook <matthew@zeroc.com> | 2014-08-07 16:24:49 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2014-08-07 16:24:49 -0230 |
commit | 616c711e77748fcd4a4c4e3e935ce8a4ebdcd92d (patch) | |
tree | 957aa9533c0587f8e4470acebc2a8db937783862 /cpp/src/slice2java | |
parent | ICE-1593 Handling thread interrupts in Java (diff) | |
download | ice-616c711e77748fcd4a4c4e3e935ce8a4ebdcd92d.tar.bz2 ice-616c711e77748fcd4a4c4e3e935ce8a4ebdcd92d.tar.xz ice-616c711e77748fcd4a4c4e3e935ce8a4ebdcd92d.zip |
Removed unused holder types.
Fixed holder types to use the generic holder type.
Changed the code generator to use the generic holder types.
Changed the Ice internals not to use the non-generic holder types.
Diffstat (limited to 'cpp/src/slice2java')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 4f9842eba04..48f3af304c8 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -4598,16 +4598,20 @@ Slice::Gen::HolderVisitor::writeHolder(const TypePtr& p) { out << " extends Ice.ObjectHolderBase<" << typeS << ">"; } + else { + out << " extends Ice.Holder<" << typeS << ">"; + } out << sb; - out << sp << nl << "public" << nl << name << "Holder()"; - out << sb; - out << eb; - out << sp << nl << "public" << nl << name << "Holder(" << typeS << " value)"; - out << sb; - out << nl << "this.value = value;"; - out << eb; if(!p->isLocal() && ((builtin && builtin->kind() == Builtin::KindObject) || cl)) { + out << sp << nl << "public" << nl << name << "Holder()"; + out << sb; + out << eb; + out << sp << nl << "public" << nl << name << "Holder(" << typeS << " value)"; + out << sb; + out << nl << "this.value = value;"; + out << eb; + out << sp << nl << "public void"; out << nl << "patch(Ice.Object v)"; out << sb; @@ -4639,9 +4643,15 @@ Slice::Gen::HolderVisitor::writeHolder(const TypePtr& p) } out << eb; } - else + else { - out << sp << nl << "public " << typeS << " value;"; + out << sp << nl << "public" << nl << name << "Holder()"; + out << sb; + out << eb; + out << sp << nl << "public" << nl << name << "Holder(" << typeS << " value)"; + out << sb; + out << nl << "super(value);"; + out << eb; } out << eb; close(); |