summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index ce6aaff3cbb..ee4f01688d3 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -353,19 +353,20 @@ Slice::JavaVisitor::writeMarshalUnmarshalParams(Output& out, const string& packa
{
if(checkReturnType && op->returnTag() < (*pli)->tag())
{
- writeMarshalUnmarshalCode(out, package, ret, OptionalParam, op->returnTag(), "__ret", marshal, iter, false,
- op->getMetaData());
+ writeMarshalUnmarshalCode(out, package, ret, OptionalReturnParam, op->returnTag(), "__ret", marshal, iter,
+ false, op->getMetaData());
checkReturnType = false;
}
- writeMarshalUnmarshalCode(out, package, (*pli)->type(), OptionalParam, (*pli)->tag(),
+ writeMarshalUnmarshalCode(out, package, (*pli)->type(),
+ (*pli)->isOutParam() ? OptionalOutParam : OptionalInParam, (*pli)->tag(),
fixKwd((*pli)->name()), marshal, iter, false, (*pli)->getMetaData());
}
if(checkReturnType)
{
- writeMarshalUnmarshalCode(out, package, ret, OptionalParam, op->returnTag(), "__ret", marshal, iter, false,
- op->getMetaData());
+ writeMarshalUnmarshalCode(out, package, ret, OptionalReturnParam, op->returnTag(), "__ret", marshal, iter,
+ false, op->getMetaData());
}
}