summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2005-09-20 22:57:05 +0000
committerMichi Henning <michi@zeroc.com>2005-09-20 22:57:05 +0000
commita01c9d1d7136209ab57eb4ea04ee8e8e58165d99 (patch)
treed68b50dfd73a7fa80c95fd67282874823254139f /cpp/src/slice2java/Gen.cpp
parentBug 483 - Added EHOSTUNREACH to connect failed reasons (diff)
downloadice-a01c9d1d7136209ab57eb4ea04ee8e8e58165d99.tar.bz2
ice-a01c9d1d7136209ab57eb4ea04ee8e8e58165d99.tar.xz
ice-a01c9d1d7136209ab57eb4ea04ee8e8e58165d99.zip
Bug 467.
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index b32e85a4e08..8aff75f3b49 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -2280,11 +2280,17 @@ Slice::Gen::TypesVisitor::visitStructEnd(const StructPtr& p)
out << eb;
out << sp << nl << "public java.lang.Object" << nl << "clone()";
- out.inc();
- out << nl << "throws java.lang.CloneNotSupportedException";
- out.dec();
out << sb;
- out << nl << "return super.clone();";
+ out << nl << "java.lang.Object o = null;";
+ out << nl << "try";
+ out << sb;
+ out << nl << "o = super.clone();";
+ out << eb;
+ out << nl << "catch(CloneNotSupportedException ex)";
+ out << sb;
+ out << nl << "assert false; // impossible";
+ out << eb;
+ out << nl << "return o;";
out << eb;
if(!p->isLocal())