summaryrefslogtreecommitdiff
path: root/cpp/src/slice2vb/Gen.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2006-01-12 05:30:44 +0000
committerMichi Henning <michi@zeroc.com>2006-01-12 05:30:44 +0000
commita1d3c9639f93a9923511c83d21d7c010f09dbd28 (patch)
tree6a95fb9e8c6215a441854f07f28c18e28482956c /cpp/src/slice2vb/Gen.cpp
parentBut 341. (diff)
downloadice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.tar.bz2
ice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.tar.xz
ice-a1d3c9639f93a9923511c83d21d7c010f09dbd28.zip
Bug 341.
Diffstat (limited to 'cpp/src/slice2vb/Gen.cpp')
-rwxr-xr-xcpp/src/slice2vb/Gen.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/slice2vb/Gen.cpp b/cpp/src/slice2vb/Gen.cpp
index f7e6c7303d1..1eb4a0ec495 100755
--- a/cpp/src/slice2vb/Gen.cpp
+++ b/cpp/src/slice2vb/Gen.cpp
@@ -3708,7 +3708,6 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p)
<< "ByVal ctx__ As Ice.Context" << epar
<< " Implements " << name << "Prx." << opName << "_async"; // TODO: should be containing class?
_out.inc();
- _out << nl << "checkTwowayOnly__(\"" << p->name() << "\")";
_out << nl << "cb__.invoke__" << spar << "Me" << argsAMI << "ctx__" << epar;
_out.dec();
_out << nl << "End Sub";
@@ -4792,6 +4791,16 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p)
_out << nl << "Try";
_out.inc();
_out << nl << "prepare__(prx__, \"" << p->name() << "\", " << sliceModeToIceMode(p) << ", ctx__)";
+ if(p->returnsData())
+ {
+ _out << nl << "If Not prx__.ice_isTwoway() Then";
+ _out.inc();
+ _out << nl << "Dim ex As Ice.TwowayOnlyException = New Ice.TwowayOnlyException()";
+ _out << nl << "ex.operation = \"" << p->name() << "\"";
+ _out << nl << "Throw ex";
+ _out.dec();
+ _out << nl << "End If";
+ }
for(q = inParams.begin(); q != inParams.end(); ++q)
{
string typeS = typeToString(q->first);