[valadoc] libvaladoc/importer: Allow nodes without documentation in valadoc files
- From: Florian Brosch <flobrosch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] libvaladoc/importer: Allow nodes without documentation in valadoc files
- Date: Tue, 21 Sep 2010 23:19:57 +0000 (UTC)
commit 1d97c944314c7cf53a40c59dfee5cedf3b9d0ead
Author: Florian Brosch <flo brosch gmail com>
Date: Wed Sep 8 18:49:34 2010 +0200
libvaladoc/importer: Allow nodes without documentation in valadoc files
.../importer/valadocdocumentationimporter.vala | 52 +++++++++++--------
1 files changed, 30 insertions(+), 22 deletions(-)
---
diff --git a/src/libvaladoc/importer/valadocdocumentationimporter.vala b/src/libvaladoc/importer/valadocdocumentationimporter.vala
index 5603b6e..ee6ef02 100644
--- a/src/libvaladoc/importer/valadocdocumentationimporter.vala
+++ b/src/libvaladoc/importer/valadocdocumentationimporter.vala
@@ -73,27 +73,33 @@ public class Valadoc.Importer.ValadocDocumentationImporter : DocumentationImport
empty_lines
});
- Rule documentation = Rule.seq ({
- TokenType.VALADOC_COMMENT_START.action ((token) => { _comment_location = token.end; }),
- Rule.many ({
- Rule.one_of ({
- TokenType.ANY_WORD.action ((token) => { _comment.append (token.to_string ()); }),
- TokenType.VALADOC_COMMENT_START.action ((token) => { _comment.append (token.to_string ()); }),
- TokenType.VALADOC_SPACE.action ((token) => { _comment.append (token.to_string ()); }),
- TokenType.VALADOC_TAB.action ((token) => { _comment.append (token.to_string ()); }),
- TokenType.VALADOC_EOL.action ((token) => { _comment.append (token.to_string ()); })
- })
+ Rule documentation = Rule.one_of ({
+ Rule.seq ({
+ TokenType.VALADOC_COMMENT_START.action ((token) => { _comment_location = token.end; }),
+ Rule.many ({
+ Rule.one_of ({
+ TokenType.ANY_WORD.action ((token) => { _comment.append (token.to_string ()); }),
+ TokenType.VALADOC_COMMENT_START.action ((token) => { _comment.append (token.to_string ()); }),
+ TokenType.VALADOC_SPACE.action ((token) => { _comment.append (token.to_string ()); }),
+ TokenType.VALADOC_TAB.action ((token) => { _comment.append (token.to_string ()); }),
+ TokenType.VALADOC_EOL.action ((token) => { _comment.append (token.to_string ()); })
+ })
+ }),
+ TokenType.VALADOC_COMMENT_END,
+ optional_empty_lines,
+ TokenType.ANY_WORD.action ((token) => { _cname = token.to_string (); })
+ })
+ .set_reduce (() => {
+ add_documentation (_cname, _comment, _filename, _comment_location);
+ _comment.erase ();
+ _cname = null;
}),
- TokenType.VALADOC_COMMENT_END,
- optional_empty_lines,
- TokenType.ANY_WORD.action ((token) => { _cname = token.to_string (); })
+
+ TokenType.ANY_WORD.action ((token) => {
+ add_documentation (token.to_string (), null, _filename, _comment_location);
+ })
})
- .set_name ("Documentation")
- .set_reduce (() => {
- add_documentation (_cname, _comment, _filename, _comment_location);
- _comment.erase ();
- _cname = null;
- });
+ .set_name ("Documentation");
Rule file = Rule.many ({
optional_empty_lines,
@@ -105,7 +111,7 @@ public class Valadoc.Importer.ValadocDocumentationImporter : DocumentationImport
_parser.set_root_rule (file);
}
- private void add_documentation (string symbol_name, StringBuilder comment, string filename, SourceLocation src_ref) {
+ private void add_documentation (string symbol_name, StringBuilder? comment, string filename, SourceLocation src_ref) {
Api.Node? symbol = null;
if (symbol_name.has_prefix ("c::")) {
@@ -116,7 +122,10 @@ public class Valadoc.Importer.ValadocDocumentationImporter : DocumentationImport
if (symbol == null) {
reporter.simple_warning ("%s does not exist".printf (symbol_name));
- } else {
+ return ;
+ }
+
+ if (comment != null) {
var docu = _doc_parser.parse_comment_str (symbol, comment.str, filename, src_ref.line, src_ref.column);
if (docu != null) {
symbol.documentation = docu;
@@ -136,4 +145,3 @@ public class Valadoc.Importer.ValadocDocumentationImporter : DocumentationImport
}
}
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]