summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-08-07 16:24:49 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-08-07 16:24:49 -0230
commit616c711e77748fcd4a4c4e3e935ce8a4ebdcd92d (patch)
tree957aa9533c0587f8e4470acebc2a8db937783862 /cpp/src/slice2java
parentICE-1593 Handling thread interrupts in Java (diff)
downloadice-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.cpp28
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();