[valadoc] libvaladoc: gir-reader: accept #[id].[id|func]
- From: Florian Brosch <flobrosch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [valadoc] libvaladoc: gir-reader: accept #[id].[id|func]
- Date: Fri, 27 Jan 2012 16:45:32 +0000 (UTC)
commit 70f4fa9a293229d051b9f23ad54e8a3c40d5a686
Author: Florian Brosch <flo brosch gmail com>
Date: Fri Jan 6 22:58:18 2012 +0100
libvaladoc: gir-reader: accept #[id].[id|func]
src/libvaladoc/ctyperesolver.vala | 12 +++++++++---
.../documentation/gtkdoccommentscanner.vala | 13 +++++++++----
2 files changed, 18 insertions(+), 7 deletions(-)
---
diff --git a/src/libvaladoc/ctyperesolver.vala b/src/libvaladoc/ctyperesolver.vala
index 7405136..863cc38 100755
--- a/src/libvaladoc/ctyperesolver.vala
+++ b/src/libvaladoc/ctyperesolver.vala
@@ -70,7 +70,7 @@ public class Valadoc.CTypeResolver : Visitor {
return !last_was_underscore;
}
- private string? translate_cname (string name) {
+ private string? translate_cname_to_g (string name) {
if (is_capitalized_and_underscored (name)) {
string[] segments = name.split ("_");
unowned string last_segment = segments[segments.length - 1];
@@ -143,7 +143,7 @@ public class Valadoc.CTypeResolver : Visitor {
return node;
}
- string? alternative = translate_cname (_name);
+ string? alternative = translate_cname_to_g (_name);
if (alternative != null) {
return nodes.get (alternative);
}
@@ -162,6 +162,13 @@ public class Valadoc.CTypeResolver : Visitor {
return this.tree.search_symbol_str (null, "GLib.FileStream.printf");
}
+ int dotpos = _name.index_of_char ('.');
+ if (dotpos > 0) {
+ string fst = _name.substring (0, dotpos);
+ string snd = _name.substring (dotpos + 1);
+ return nodes.get (fst + ":" + snd);
+ }
+
return null;
}
@@ -283,7 +290,6 @@ public class Valadoc.CTypeResolver : Visitor {
string parent_cname = get_parent_type_cname (item);
if (parent_cname != null) {
register_symbol (parent_cname+"->"+item.get_cname (), item);
- register_symbol (parent_cname+"."+item.get_cname (), item);
}
}
}
diff --git a/src/libvaladoc/documentation/gtkdoccommentscanner.vala b/src/libvaladoc/documentation/gtkdoccommentscanner.vala
index afc6f79..62b102a 100644
--- a/src/libvaladoc/documentation/gtkdoccommentscanner.vala
+++ b/src/libvaladoc/documentation/gtkdoccommentscanner.vala
@@ -331,25 +331,30 @@ public class Valadoc.Gtkdoc.Scanner {
} else {
id_len += id_len2 + separator_len;
}
- } else if (this.pos.has_prefix ("->")) {
+ } else if (this.pos.has_prefix ("->") || this.pos.has_prefix (".")) {
unowned string sep_start = this.pos;
int sep_column_start = this.column;
+ int separator_len = 1;
+
+ if (this.pos.has_prefix ("->")) {
+ separator_len = 2;
+ next_char ();
+ }
next_char ();
- next_char ();
Token? func_token = function_prefix ();
if (func_token == null) {
int id_len2;
if ((id_len2 = id_prefix ()) > 0) {
- id_len += 2 + id_len2;
+ id_len += separator_len + id_len2;
} else {
this.column = sep_column_start;
this.pos = sep_start;
}
} else {
- id_len += 2 + func_token.content.length;
+ id_len += separator_len + func_token.content.length;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]