summaryrefslogtreecommitdiff
path: root/cpp/src/slice2swift/SwiftUtil.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-05-01 19:39:22 +0200
committerJose <jose@zeroc.com>2019-05-01 19:41:29 +0200
commit172fbb1d448e2f77738cb44d2c75f9e1887cecfa (patch)
tree78855b2e1e2e5953154526ed8c699549be2dd2cd /cpp/src/slice2swift/SwiftUtil.cpp
parentRename Util.{h,mm} -> Convert.{h,mm} (diff)
downloadice-172fbb1d448e2f77738cb44d2c75f9e1887cecfa.tar.bz2
ice-172fbb1d448e2f77738cb44d2c75f9e1887cecfa.tar.xz
ice-172fbb1d448e2f77738cb44d2c75f9e1887cecfa.zip
Map ConnectionInfo.cets to SecCertificate array
Diffstat (limited to 'cpp/src/slice2swift/SwiftUtil.cpp')
-rw-r--r--cpp/src/slice2swift/SwiftUtil.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/cpp/src/slice2swift/SwiftUtil.cpp b/cpp/src/slice2swift/SwiftUtil.cpp
index b607750b81d..1f8db1ddfa5 100644
--- a/cpp/src/slice2swift/SwiftUtil.cpp
+++ b/cpp/src/slice2swift/SwiftUtil.cpp
@@ -385,6 +385,20 @@ SwiftGenerator::typeToString(const TypePtr& type,
return "";
}
+ bool local = (typeCtx & TypeContextLocal) != 0;
+ if(local)
+ {
+ for(StringList::const_iterator i = metadata.begin(); i != metadata.end(); ++i)
+ {
+ const string swiftType = "swift:type:";
+ const string meta = *i;
+ if(meta.find(swiftType) == 0)
+ {
+ return meta.substr(swiftType.size());
+ }
+ }
+ }
+
string t = "";
//
// The current module were the type is being used
@@ -781,7 +795,7 @@ SwiftGenerator::writeMemberwiseInitializer(IceUtilInternal::Output& out,
const DataMemberList& members,
const ContainedPtr& p)
{
- writeMemberwiseInitializer(out, members, DataMemberList(), members, p, true);
+ writeMemberwiseInitializer(out, members, DataMemberList(), members, p, false, true);
}
void
@@ -790,6 +804,7 @@ SwiftGenerator::writeMemberwiseInitializer(IceUtilInternal::Output& out,
const DataMemberList& baseMembers,
const DataMemberList& allMembers,
const ContainedPtr& p,
+ bool local,
bool rootClass,
const StringPairList& extraParams)
{
@@ -797,6 +812,11 @@ SwiftGenerator::writeMemberwiseInitializer(IceUtilInternal::Output& out,
{
out << sp;
out << nl;
+ int typeCtx = TypeContextInParam;
+ if(local)
+ {
+ typeCtx |= TypeContextLocal;
+ }
out << "public init" << spar;
for(DataMemberList::const_iterator i = allMembers.begin(); i != allMembers.end(); ++i)
{
@@ -850,7 +870,7 @@ SwiftGenerator::writeMembers(IceUtilInternal::Output& out,
TypePtr type = member->type();
string defaultValue = member->defaultValue();
out << nl << access << "var " << fixIdent(member->name()) << ": "
- << typeToString(type, p, member->getMetaData(), member->optional());
+ << typeToString(type, p, member->getMetaData(), member->optional(), typeCtx);
if(protocol)
{
out << " { get set }";