summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index a20ab684b07..03c5b30210f 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -2466,7 +2466,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
// delegate.
//
bool generatePrivateEnd = retS != retSEndAMI || outParamsDeclAMI != outParamsDeclEndAMI;
- if(generatePrivateEnd)
+ if(ret && generatePrivateEnd)
{
string typeStringEndAMI = outputTypeToString(ret, p->getMetaData(), _useWstring | TypeContextAMIPrivateEnd);
outParamsDeclEndAMI.push_back(typeStringEndAMI + ' ' + "__ret");
@@ -5445,7 +5445,12 @@ Slice::Gen::AsyncCallbackTemplateVisitor::generateOperation(const OperationPtr&
}
else
{
- H << "__proxy->___end_" << p->name() << spar << outEndArgs << retEndArg << "__result" << epar << ';';
+ H << "__proxy->___end_" << p->name() << spar << outEndArgs;
+ if(ret)
+ {
+ H << retEndArg;
+ }
+ H << "__result" << epar << ';';
}
writeEndCode(H, outParams, ret, p->getMetaData());
H << eb;
@@ -7008,7 +7013,7 @@ Slice::Gen::MetaDataVisitor::validate(const SyntaxTreeBasePtr& cont, const Strin
}
if(SequencePtr::dynamicCast(cont))
{
- if(ss.find("type:") == 0 || (inParam && (ss == "array" || ss.find("range") == 0)))
+ if(ss.find("type:") == 0 || ss == "array" || ss.find("range") == 0)
{
continue;
}