[vala/switch-to-gir: 2/3] girparser: Fix parsing glib:boxed.



commit b5507b367f8f93e74b9a4bca22569ab2b8e7f7d9
Author: Luca Bruno <lucabru src gnome org>
Date:   Wed Jan 5 12:33:04 2011 +0100

    girparser: Fix parsing glib:boxed.

 vala/valagirparser.vala |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index d1f9255..fbed2f0 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1560,7 +1560,7 @@ public class Vala.GirParser : CodeVisitor {
 				add_symbol_info (parse_callback ());
 			} else if (reader.name == "record") {
 				if (reader.get_attribute ("glib:get-type") != null) {
-					add_symbol_info (parse_boxed ());
+					add_symbol_info (parse_boxed ("record"));
 				} else {
 					if (!reader.get_attribute ("name").has_suffix ("Private")) {
 						add_symbol_info (parse_record ());
@@ -1575,7 +1575,7 @@ public class Vala.GirParser : CodeVisitor {
 				add_symbol_info (iface);
 				interfaces.add (iface);
 			} else if (reader.name == "glib:boxed") {
-				add_symbol_info (parse_boxed ());
+				add_symbol_info (parse_boxed ("glib:boxed"));
 			} else if (reader.name == "union") {
 				add_symbol_info (parse_union ());
 			} else if (reader.name == "constant") {
@@ -2505,7 +2505,8 @@ public class Vala.GirParser : CodeVisitor {
 		return this.parse_function ("glib:signal") as Signal;
 	}
 
-	Class parse_boxed () {
+	Class parse_boxed (string element_name) {
+		start_element (element_name);
 		string name = reader.get_attribute ("name");
 		if (name == null) {
 			name = reader.get_attribute ("glib:name");
@@ -2549,7 +2550,7 @@ public class Vala.GirParser : CodeVisitor {
 
 			pop_metadata ();
 		}
-		end_element ("record");
+		end_element (element_name);
 
 		merge_add_process (cl);
 		current_symbols_info = old_symbols_info;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]