diff options
author | Marc Laukien <marc@zeroc.com> | 2003-02-22 17:19:46 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2003-02-22 17:19:46 +0000 |
commit | 0d984b923f33e2a6f99b6f0e59cdbee270493340 (patch) | |
tree | 921a4c2101bb0ebab9cc24001b0e6fa8c7851924 /cpp/src/slice2java/Gen.cpp | |
parent | fix (diff) | |
download | ice-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.cpp | 10 |
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(); |