summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2018-01-17 15:31:02 -0800
committerMark Spruiell <mes@zeroc.com>2018-01-17 15:31:02 -0800
commitf1565f0f13b88c1ab04fb66aff67e9ac443af8ac (patch)
tree63286d397a95213db55a305cf1a48bcebf70047b /cpp/src/Slice/Parser.h
parentMore Travis CI fixes (diff)
downloadice-f1565f0f13b88c1ab04fb66aff67e9ac443af8ac.tar.bz2
ice-f1565f0f13b88c1ab04fb66aff67e9ac443af8ac.tar.xz
ice-f1565f0f13b88c1ab04fb66aff67e9ac443af8ac.zip
Adding doc comments to C++
Diffstat (limited to 'cpp/src/Slice/Parser.h')
-rw-r--r--cpp/src/Slice/Parser.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.h b/cpp/src/Slice/Parser.h
index 11cff96866e..b061c42fe2d 100644
--- a/cpp/src/Slice/Parser.h
+++ b/cpp/src/Slice/Parser.h
@@ -260,6 +260,43 @@ private:
typedef ::IceUtil::Handle<DefinitionContext> DefinitionContextPtr;
// ----------------------------------------------------------------------
+// Comment
+// ----------------------------------------------------------------------
+
+class Comment : public ::IceUtil::SimpleShared
+{
+public:
+
+ bool isDeprecated() const;
+ StringList deprecated() const;
+
+ StringList overview() const; // Contains all introductory lines up to the first tag.
+ StringList misc() const; // Contains unrecognized tags.
+ StringList seeAlso() const; // Targets of @see tags.
+
+ StringList returns() const; // Description of an operation's return value.
+ std::map<std::string, StringList> parameters() const; // Parameter descriptions for an op. Key is parameter name.
+ std::map<std::string, StringList> exceptions() const; // Exception descriptions for an op. Key is exception name.
+
+private:
+
+ Comment();
+
+ bool _isDeprecated;
+ StringList _deprecated;
+ StringList _overview;
+ StringList _misc;
+ StringList _seeAlso;
+
+ StringList _returns;
+ std::map<std::string, StringList> _parameters;
+ std::map<std::string, StringList> _exceptions;
+
+ friend class Contained;
+};
+typedef ::IceUtil::Handle<Comment> CommentPtr;
+
+// ----------------------------------------------------------------------
// GrammarBase
// ----------------------------------------------------------------------
@@ -366,6 +403,7 @@ public:
std::string file() const;
std::string line() const;
std::string comment() const;
+ CommentPtr parseComment(bool) const;
int includeLevel() const;
void updateIncludeLevel();