From: Jürg Billeter Date: Fri, 24 Oct 2008 17:40:32 +0000 (+0000) Subject: Support methods throwing errors X-Git-Tag: VALA_0_5_1~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78b7f42d90f1d024200471e5b960ddbdf4fbfaec;p=thirdparty%2Fvala.git Support methods throwing errors 2008-10-24 Jürg Billeter * vapigen/valagirparser.vala: Support methods throwing errors svn path=/trunk/; revision=1906 --- diff --git a/ChangeLog b/ChangeLog index b07e088ba..c91e4d108 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-10-24 Jürg Billeter + + * vapigen/valagirparser.vala: + + Support methods throwing errors + 2008-10-24 Jürg Billeter * vapigen/valagirparser.vala: diff --git a/vapigen/valagirparser.vala b/vapigen/valagirparser.vala index 655bf6b0c..a6362acb2 100644 --- a/vapigen/valagirparser.vala +++ b/vapigen/valagirparser.vala @@ -30,6 +30,7 @@ public class Vala.GirParser : CodeVisitor { MarkupReader reader; CodeContext context; + Namespace glib_ns; SourceFile current_source_file; SourceLocation begin; @@ -46,6 +47,7 @@ public class Vala.GirParser : CodeVisitor { */ public void parse (CodeContext context) { this.context = context; + glib_ns = context.root.scope.lookup ("GLib") as Namespace; context.accept (this); } @@ -670,6 +672,7 @@ public class Vala.GirParser : CodeVisitor { Method parse_method () { start_element ("method"); string name = reader.get_attribute ("name"); + string throws_string = reader.get_attribute ("throws"); next (); DataType return_type; if (current_token == MarkupTokenType.START_ELEMENT && reader.name == "return-value") { @@ -687,6 +690,9 @@ public class Vala.GirParser : CodeVisitor { } end_element ("parameters"); } + if (throws_string == "1") { + m.add_error_type (new ErrorType (null)); + } end_element ("method"); return m; }