summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2003-02-22 17:19:46 +0000
committerMarc Laukien <marc@zeroc.com>2003-02-22 17:19:46 +0000
commit0d984b923f33e2a6f99b6f0e59cdbee270493340 (patch)
tree921a4c2101bb0ebab9cc24001b0e6fa8c7851924 /cpp/src/slice2java/Gen.cpp
parentfix (diff)
downloadice-0d984b923f33e2a6f99b6f0e59cdbee270493340.tar.bz2
ice-0d984b923f33e2a6f99b6f0e59cdbee270493340.tar.xz
ice-0d984b923f33e2a6f99b6f0e59cdbee270493340.zip
fixed AMD exception bug
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index a52b714e9c7..b3e6c47cc60 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -3928,12 +3928,16 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
out << sp << nl << "final class " << classNameAMDI << '_' << name
<< " extends IceInternal.IncomingAsync implements " << classNameAMD << '_' << name;
out << sb;
+
out << sp << nl << "public" << nl << classNameAMDI << '_' << name << "(IceInternal.Incoming in)";
out << sb;
out << nl << "super(in);";
out << eb;
+
out << sp << nl << "public void" << nl << "ice_response(" << paramsAMD << ")";
out << sb;
+ out << nl << "if(!_finished)";
+ out << sb;
if(ret || !outParams.empty())
{
out << nl << "try";
@@ -3957,8 +3961,12 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
}
out << nl << "__response(true);";
out << eb;
+ out << eb;
+
out << sp << nl << "public void" << nl << "ice_exception(java.lang.Exception ex)";
out << sb;
+ out << nl << "if(!_finished)";
+ out << sb;
if(throws.empty())
{
out << nl << "__exception(ex);";
@@ -3985,6 +3993,8 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
out << eb;
}
out << eb;
+ out << eb;
+
out << eb << ';';
close();