summaryrefslogtreecommitdiff
path: root/cpp/src/slice2swift/SwiftUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2swift/SwiftUtil.cpp')
-rw-r--r--cpp/src/slice2swift/SwiftUtil.cpp8
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;