summaryrefslogtreecommitdiff
path: root/cpp/src/slice2swift/SwiftUtil.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-02-26 13:38:16 +0100
committerJose <jose@zeroc.com>2019-02-26 13:38:16 +0100
commitca4a6a5638a92150a2d384ce95ca116b191f9afc (patch)
tree6662af4ef5dedb7a7920945efcc4d47bed322174 /cpp/src/slice2swift/SwiftUtil.cpp
parentGenerate imports for types defined in separate Swift modules (diff)
downloadice-ca4a6a5638a92150a2d384ce95ca116b191f9afc.tar.bz2
ice-ca4a6a5638a92150a2d384ce95ca116b191f9afc.tar.xz
ice-ca4a6a5638a92150a2d384ce95ca116b191f9afc.zip
Fix module prefix
Diffstat (limited to 'cpp/src/slice2swift/SwiftUtil.cpp')
-rw-r--r--cpp/src/slice2swift/SwiftUtil.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/slice2swift/SwiftUtil.cpp b/cpp/src/slice2swift/SwiftUtil.cpp
index 085a3bc46d9..bc41d2bfa13 100644
--- a/cpp/src/slice2swift/SwiftUtil.cpp
+++ b/cpp/src/slice2swift/SwiftUtil.cpp
@@ -364,7 +364,9 @@ SwiftGenerator::fixIdent(const std::string& ident)
std::string
SwiftGenerator::fixName(const ContainedPtr& cont)
{
- return cont->name();
+ string swiftPrefix;
+ string swiftModule = getSwiftModule(getTopLevelModule(cont), swiftPrefix);
+ return swiftPrefix + cont->name();
}
//
@@ -520,7 +522,9 @@ SwiftGenerator::writeTuple(IceUtilInternal::Output& out, const StringList& tuple
}
void
-SwiftGenerator::writeDataMembers(IceUtilInternal::Output& out, const DataMemberList& members, bool writeGetter)
+SwiftGenerator::writeDataMembers(IceUtilInternal::Output& out,
+ const DataMemberList& members,
+ bool writeGetter)
{
for(DataMemberList::const_iterator q = members.begin(); q != members.end(); ++q)
{
@@ -874,7 +878,7 @@ SwiftGenerator::MetaDataVisitor::visitModuleStart(const ModulePtr& p)
{
prefixes->second[p->name()] = swiftPrefix;
}
- else
+ else if(current->second != swiftPrefix)
{
ostringstream os;
os << "invalid module prefix:\n Slice module `" << m->scoped() << "' is already using";