diff options
Diffstat (limited to 'cpp/src/slice2swift/SwiftUtil.cpp')
-rw-r--r-- | cpp/src/slice2swift/SwiftUtil.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/slice2swift/SwiftUtil.cpp b/cpp/src/slice2swift/SwiftUtil.cpp index 55d7a319f51..ed46a909a9b 100644 --- a/cpp/src/slice2swift/SwiftUtil.cpp +++ b/cpp/src/slice2swift/SwiftUtil.cpp @@ -1265,6 +1265,10 @@ SwiftGenerator::writeProxyOperation(::IceUtilInternal::Output& out, const Operat assert(param->optional()); writeMarshalUnmarshalCode(out, param, false, false, true, param->tag()); } + if(op->sendsClasses(false)) + { + out << nl << "ostr.writePendingValues()"; + } out << nl << "ostr.endEncapsulation()"; // @@ -1368,6 +1372,10 @@ SwiftGenerator::writeProxyOperation(::IceUtilInternal::Output& out, const Operat writeMarshalUnmarshalCode(out, param, false, true, false, param->tag()); returnVals.push_back((*q)->name()); } + if(op->returnsClasses(false)) + { + out << nl << "try istr.readPendingValues()"; + } out << nl << "try istr.endEncapsulation()"; out << sp; |