diff options
Diffstat (limited to 'cpp/src/slice2swift/Gen.cpp')
-rw-r--r-- | cpp/src/slice2swift/Gen.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cpp/src/slice2swift/Gen.cpp b/cpp/src/slice2swift/Gen.cpp index 86d25b75bad..1041d9c0b2c 100644 --- a/cpp/src/slice2swift/Gen.cpp +++ b/cpp/src/slice2swift/Gen.cpp @@ -866,6 +866,26 @@ Gen::ProxyVisitor::visitClassDefStart(const ClassDefPtr& p) out << nl << "return " << prxI << ".uncheckedCast(prx: prx, facet: facet, context: context) as " << prxI << "?"; out << eb; + // + // InputStream extension + // + out << sp; + out << nl << "public extension " << getUnqualified("Ice.InputStream", swiftModule); + out << sb; + + out << nl << "func read(_ prx: " << prx << ".Protocol) throws -> " << prx << "?"; + out << sb; + out << nl << "return try read() as " << prxI << "?"; + out << eb; + + out << sp; + out << nl << "func read(tag: Int32, prx: " << prx << ".Protocol) throws -> " << prx << "?"; + out << sb; + out << nl << "return try read(tag: tag) as " << prxI << "?"; + out << eb; + + out << eb; + out << sp; out << nl << "public extension " << prx; out << sb; |