} else {
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);
}
}
} else {
id_len += id_len2 + separator_len;
}
+ } else if (this.pos.has_prefix ("->")) {
+ unowned string sep_start = this.pos;
+ int sep_column_start = this.column;
+
+ 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;
+ } else {
+ this.column = sep_column_start;
+ this.pos = sep_start;
+ }
+ } else {
+ id_len += 2 + func_token.content.length;
+ }
}
return new Token (type, start.substring (1, id_len), null, start, offset (this.pos, start), this.line, column_start, this.column);