summaryrefslogtreecommitdiffstats
path: root/src/commentscan.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/commentscan.h')
-rw-r--r--src/commentscan.h119
1 files changed, 58 insertions, 61 deletions
diff --git a/src/commentscan.h b/src/commentscan.h
index f471890..a0ad6d9 100644
--- a/src/commentscan.h
+++ b/src/commentscan.h
@@ -16,74 +16,71 @@
#ifndef COMMENTSCAN_H
#define COMMENTSCAN_H
+#include <memory>
#include "types.h"
class Entry;
class OutlineParserInterface;
/** @file
- * @brief Interface for the comment block parser */
+ * @brief Interface for the comment block scanner */
-/** Invokes the comment block parser with the request to preprocess a
- * single comment block.
- * @param[in] comment A string representing the actual comment block.
- * Note that leading *'s are already stripped from the comment block.
- * @param[in] fileName The name of the file in which the comment is found.
- * Mainly used for producing warnings.
- * @param[in] lineNr The line number at which the comment block was found.
- * @returns The prepocessed comment block
- */
-QCString preprocessCommentBlock(const QCString &comment,
- const QCString &fileName,
- int lineNr);
-
-/** Invokes the comment block parser with the request to parse a
- * single comment block.
- * @param[in] parser The language parse that invoked this function.
- * The comment block parse may invoke
- * ParserInterface::parsePrototype() in order to parse
- * the argument of a @@fn command.
- * @param[in] curEntry The Entry to which the comment block belongs.
- * Any information (like documentation) that is found in
- * the comment block will be stored in this entry.
- * @param[in] comment A string representing the actual comment block.
- * Note that leading *'s are already stripped from the comment block.
- * @param[in] fileName The name of the file in which the comment is found.
- * Mainly used for producing warnings.
- * @param[in,out] lineNr The line number at which the comment block was found.
- * When the function returns it will be set to the last line parsed.
- * @param[in] isBrief TRUE iff this comment block represents a brief description.
- * @param[in] isJavadocStyle TRUE iff this comment block is in "Javadoc" style.
- * This means that it starts as a brief description until the end of
- * the sentences is found and then proceeds as a detailed description.
- * @param[in] isInbody TRUE iff this comment block is located in the body of
- * a function.
- * @param[in,out] prot The protection level in which this comment block was
- * found. Commands in the comment block may override this.
- * @param[in,out] position The character position within \a comment where the
- * comment block starts. Typically used in case the comment block
- * contains multiple structural commands.
- * @param[out] newEntryNeeded Boolean that is TRUE if the comment block parser
- * finds that a the comment block finishes the entry and a new one
- * needs to be started.
- * @returns TRUE if the comment requires further processing. The
- * parameter \a newEntryNeeded will typically be true in this case and
- * \a position will indicate the offset inside the \a comment string
- * where to proceed parsing. FALSE indicates no further processing is
- * needed.
- */
-bool parseCommentBlock(OutlineParserInterface *parser,
- Entry *curEntry,
- const QCString &comment,
- const QCString &fileName,
- int &lineNr,
- bool isBrief,
- bool isJavadocStyle,
- bool isInbody,
- Protection &prot,
- int &position,
- bool &newEntryNeeded
- );
+class CommentScanner
+{
+ public:
+ CommentScanner();
+ ~CommentScanner();
+ /** Invokes the comment block parser with the request to parse a
+ * single comment block.
+ * @param[in] parser The language parse that invoked this function.
+ * The comment block parse may invoke
+ * ParserInterface::parsePrototype() in order to parse
+ * the argument of a @@fn command.
+ * @param[in] curEntry The Entry to which the comment block belongs.
+ * Any information (like documentation) that is found in
+ * the comment block will be stored in this entry.
+ * @param[in] comment A string representing the actual comment block.
+ * Note that leading *'s are already stripped from the comment block.
+ * @param[in] fileName The name of the file in which the comment is found.
+ * Mainly used for producing warnings.
+ * @param[in,out] lineNr The line number at which the comment block was found.
+ * When the function returns it will be set to the last line parsed.
+ * @param[in] isBrief TRUE iff this comment block represents a brief description.
+ * @param[in] isJavadocStyle TRUE iff this comment block is in "Javadoc" style.
+ * This means that it starts as a brief description until the end of
+ * the sentences is found and then proceeds as a detailed description.
+ * @param[in] isInbody TRUE iff this comment block is located in the body of
+ * a function.
+ * @param[in,out] prot The protection level in which this comment block was
+ * found. Commands in the comment block may override this.
+ * @param[in,out] position The character position within \a comment where the
+ * comment block starts. Typically used in case the comment block
+ * contains multiple structural commands.
+ * @param[out] newEntryNeeded Boolean that is TRUE if the comment block parser
+ * finds that a the comment block finishes the entry and a new one
+ * needs to be started.
+ * @returns TRUE if the comment requires further processing. The
+ * parameter \a newEntryNeeded will typically be true in this case and
+ * \a position will indicate the offset inside the \a comment string
+ * where to proceed parsing. FALSE indicates no further processing is
+ * needed.
+ */
+ bool parseCommentBlock(OutlineParserInterface *parser,
+ Entry *curEntry,
+ const QCString &comment,
+ const QCString &fileName,
+ int &lineNr,
+ bool isBrief,
+ bool isJavadocStyle,
+ bool isInbody,
+ Protection &prot,
+ int &position,
+ bool &newEntryNeeded
+ );
+ private:
+ struct Private;
+ std::unique_ptr<Private> p;
+};
#endif