summaryrefslogtreecommitdiff
path: root/cpp/src/slice2swift/Gen.cpp
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2019-03-05 17:20:14 -0500
committerJoe George <joe@zeroc.com>2019-03-05 17:20:14 -0500
commite8de1a033691804c5716b3026f825efe19b8d647 (patch)
treeb69936ddc62d533a918667cc45dbdc2f8ce2e470 /cpp/src/slice2swift/Gen.cpp
parentMore InputStream/OutputStream updates (diff)
downloadice-e8de1a033691804c5716b3026f825efe19b8d647.tar.bz2
ice-e8de1a033691804c5716b3026f825efe19b8d647.tar.xz
ice-e8de1a033691804c5716b3026f825efe19b8d647.zip
slice2swift marshal/unmarshal updates
Diffstat (limited to 'cpp/src/slice2swift/Gen.cpp')
-rw-r--r--cpp/src/slice2swift/Gen.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/cpp/src/slice2swift/Gen.cpp b/cpp/src/slice2swift/Gen.cpp
index 65fa3c9f2f0..e9869d450c2 100644
--- a/cpp/src/slice2swift/Gen.cpp
+++ b/cpp/src/slice2swift/Gen.cpp
@@ -334,19 +334,17 @@ Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p)
{
out << "override ";
}
- out << "public func _iceReadImpl(from ins: " << getUnqualified("Ice.InputStream", swiftModule) << ") throws";
+ out << "public func _iceReadImpl(from istr: " << getUnqualified("Ice.InputStream", swiftModule) << ") throws";
out << sb;
for(DataMemberList::const_iterator q = members.begin(); q != members.end(); ++q)
{
DataMemberPtr member = *q;
- StringList metadata = member->getMetaData();
TypePtr type = member->type();
- out << nl;
- out << member->name() << " = try ins.read()";
+ writeMarshalUnmarshalCode(out, type, member->name(), swiftModule, false, false, false);
}
if(base)
{
- out << nl << "try super._iceReadImpl(from: ins)";
+ out << nl << "try super._iceReadImpl(from: istr)";
}
out << eb;
@@ -398,10 +396,8 @@ Gen::TypesVisitor::visitStructStart(const StructPtr& p)
for(DataMemberList::const_iterator q = members.begin(); q != members.end(); ++q)
{
DataMemberPtr member = *q;
- StringList metadata = member->getMetaData();
TypePtr type = member->type();
- out << nl;
- out << "let " << member->name() << ": " << getUnqualified(getAbsolute(type), swiftModule) << " = try read()";
+ writeMarshalUnmarshalCode(out, type, member->name(), swiftModule, true, true, false);
}
out << nl << "return " << name;
@@ -422,7 +418,7 @@ Gen::TypesVisitor::visitStructStart(const StructPtr& p)
out << nl << "func write(_ v: " << name << ")" << sb;
for(DataMemberList::const_iterator q = members.begin(); q != members.end(); ++q)
{
- out << nl << "write(v." << fixIdent((*q)->name()) << ")";
+ writeMarshalUnmarshalCode(out, (*q)->type(), fixIdent((*q)->name()) , swiftModule, true, false, true);
}
out << eb;
@@ -723,24 +719,26 @@ Gen::ValueVisitor::visitClassDefStart(const ClassDefPtr& p)
{
out << "override ";
}
- out << "public func _iceWriteImpl(to os: " << getUnqualified("Ice.OutputStream", swiftModule) << ")";
+ out << "public func _iceWriteImpl(to ostr: " << getUnqualified("Ice.OutputStream", swiftModule) << ")";
out << sb;
out << nl << "// to.startSlice(ice_staticId(), " << p->compactId() << (!base ? ", true" : ", false") << ");";
for(DataMemberList::const_iterator i = members.begin(); i != members.end(); ++i)
{
DataMemberPtr member = *i;
+ TypePtr type = member->type();
if(!member->optional())
{
- out << nl << "os.write(" << fixIdent(member->name()) << ")";
+ writeMarshalUnmarshalCode(out, type, fixIdent(member->name()), swiftModule, false, false, true);
}
}
for(DataMemberList::const_iterator d = optionalMembers.begin(); d != optionalMembers.end(); ++d)
{
+ // TODO :
}
out << nl << "// to.endSlice();";
if(base)
{
- out << nl << "super._iceWriteImpl(to: os);";
+ out << nl << "super._iceWriteImpl(to: ostr);";
}
out << eb;