From: Luca Bruno Date: Sun, 31 Oct 2010 21:35:21 +0000 (-0700) Subject: girparser: Generate default parameter names for callbacks X-Git-Tag: 0.11.2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac01cd29e88bae48359b18ef5b2a2ae95886036e;p=thirdparty%2Fvala.git girparser: Generate default parameter names for callbacks --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index a88d5db8a..d855b8f02 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -481,7 +481,7 @@ public class Vala.GirParser : CodeVisitor { return type; } - Parameter parse_parameter (out int array_length_idx = null, out int closure_idx = null, out int destroy_idx = null, out string? scope = null) { + Parameter parse_parameter (out int array_length_idx = null, out int closure_idx = null, out int destroy_idx = null, out string? scope = null, string? default_name = null) { Parameter param; if (&array_length_idx != null) { @@ -496,6 +496,9 @@ public class Vala.GirParser : CodeVisitor { start_element ("parameter"); string name = reader.get_attribute ("name"); + if (name == null) { + name = default_name; + } string direction = reader.get_attribute ("direction"); string transfer = reader.get_attribute ("transfer-ownership"); string allow_none = reader.get_attribute ("allow-none"); @@ -1170,7 +1173,11 @@ public class Vala.GirParser : CodeVisitor { while (current_token == MarkupTokenType.START_ELEMENT) { int array_length_idx, closure_idx, destroy_idx; string scope; - var param = parse_parameter (out array_length_idx, out closure_idx, out destroy_idx, out scope); + string default_param_name = null; + if (s is Delegate) { + default_param_name = "arg%d".printf (parameters.size); + } + var param = parse_parameter (out array_length_idx, out closure_idx, out destroy_idx, out scope, default_param_name); if (array_length_idx != -1) { array_length_parameters.add (array_length_idx); }