}
Comment? parse_doc () {
- if (reader.name != "doc") {
- return null;
- }
- skip_other_docs ();
++ Comment? comment = null;
- start_element ("doc");
- next ();
- if (reader.name != "doc") {
- return null;
- }
++ while (current_token == MarkupTokenType.START_ELEMENT) {
++ unowned string reader_name = reader.name;
- Comment? comment = null;
- start_element ("doc");
- next ();
++ if (reader_name == "doc") {
++ start_element ("doc");
++ next ();
- if (current_token == MarkupTokenType.TEXT) {
- comment = new Comment (reader.content, current.source_reference);
- next ();
- Comment? comment = null;
+
- if (current_token == MarkupTokenType.TEXT) {
- comment = new Comment (reader.content, current.source_reference);
- next ();
- }
++ if (current_token == MarkupTokenType.TEXT) {
++ comment = new Comment (reader.content, current.source_reference);
++ next ();
++ }
+
- end_element ("doc");
++ end_element ("doc");
++ } else if (reader_name == "doc-version" || reader_name == "doc-deprecated" || reader_name == "doc-stability") {
++ skip_element ();
++ } else {
++ break;
++ }
+ }
- end_element ("doc");
- skip_other_docs ();
return comment;
}