summaryrefslogtreecommitdiff
path: root/cpp/src/slice2swift/SwiftUtil.h
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2019-05-28 20:13:19 +0200
committerJose <jose@zeroc.com>2019-05-28 20:13:19 +0200
commit62c538287e6ea5ad1a1a3e0958f9c7deb3c5712e (patch)
treec6b39dc8d73c21d4b5bbb5796ad3301166c137ba /cpp/src/slice2swift/SwiftUtil.h
parentUse nil as default value for optional parameters (diff)
downloadice-62c538287e6ea5ad1a1a3e0958f9c7deb3c5712e.tar.bz2
ice-62c538287e6ea5ad1a1a3e0958f9c7deb3c5712e.tar.xz
ice-62c538287e6ea5ad1a1a3e0958f9c7deb3c5712e.zip
Add Swift documentation comments
Diffstat (limited to 'cpp/src/slice2swift/SwiftUtil.h')
-rw-r--r--cpp/src/slice2swift/SwiftUtil.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/cpp/src/slice2swift/SwiftUtil.h b/cpp/src/slice2swift/SwiftUtil.h
index 951e33a9e38..645c36b9a3f 100644
--- a/cpp/src/slice2swift/SwiftUtil.h
+++ b/cpp/src/slice2swift/SwiftUtil.h
@@ -37,6 +37,18 @@ struct ParamInfo
typedef std::list<ParamInfo> ParamInfoList;
+struct DocElements
+{
+ StringList overview;
+ bool deprecated;
+ StringList deprecateReason;
+ StringList misc;
+ StringList seeAlso;
+ StringList returns;
+ std::map<std::string, StringList> params;
+ std::map<std::string, StringList> exceptions;
+};
+
class SwiftGenerator : private IceUtil::noncopyable
{
public:
@@ -47,6 +59,21 @@ public:
protected:
+ void trimLines(StringList&);
+ StringList splitComment(const std::string&);
+ bool parseCommentLine(const std::string&, const std::string&, bool, std::string&, std::string&);
+ DocElements parseComment(const ContainedPtr&);
+ void writeDocLines(IceUtilInternal::Output&, const StringList&, bool commentFirst = true,
+ const std::string& space = " ");
+ void writeDocSentence(IceUtilInternal::Output&, const StringList&);
+ void writeSeeAlso(IceUtilInternal::Output&, const StringList&, const ContainerPtr&);
+ void writeDocSummary(IceUtilInternal::Output&, const ContainedPtr&);
+ void writeOpDocSummary(IceUtilInternal::Output&, const OperationPtr&, bool, bool, bool = false);
+
+ void writeProxyDocSummary(IceUtilInternal::Output&, const ClassDefPtr&, const std::string&);
+ void writeServantDocSummary(IceUtilInternal::Output&, const ClassDefPtr&, const std::string&);
+ void writeMemberDoc(IceUtilInternal::Output&, const DataMemberPtr&);
+
std::string paramLabel(const std::string&, const ParamDeclList&);
std::string operationReturnType(const OperationPtr&);
bool operationReturnIsTuple(const OperationPtr&);