diff options
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(); |