diff options
author | Mark Spruiell <mes@zeroc.com> | 2001-12-12 18:40:18 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2001-12-12 18:40:18 +0000 |
commit | a9c7a106b031ffce3b6c428fdec872ef755c3152 (patch) | |
tree | 625f371c439ff6b1b764306def117b1acf54b4a0 /cpp | |
parent | initial check-in (diff) | |
download | ice-a9c7a106b031ffce3b6c428fdec872ef755c3152.tar.bz2 ice-a9c7a106b031ffce3b6c428fdec872ef755c3152.tar.xz ice-a9c7a106b031ffce3b6c428fdec872ef755c3152.zip |
fix for nonmutating ops
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 3d46e6f2d64..f7128687ac4 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -1793,7 +1793,14 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) out << eb; out << nl << "catch (IceInternal.NonRepeatable __ex)"; out << sb; - out << nl << "__rethrowException(__ex.get());"; + if (op->nonmutating()) + { + out << nl << "__cnt = __handleException(__ex.get(), __cnt);"; + } + else + { + out << nl << "__rethrowException(__ex.get());"; + } out << eb; out << nl << "catch (Ice.LocalException __ex)"; out << sb; |