From: Didier 'Ptitjes Date: Fri, 20 Mar 2009 16:25:19 +0000 (+0100) Subject: GIR writer: Generate static methods correctly X-Git-Tag: 0.7.2~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0cb6ab426342d76d18354b815cd18bc05213d608;p=thirdparty%2Fvala.git GIR writer: Generate static methods correctly Signed-off-by: Didier 'Ptitjes --- diff --git a/gobject/valagirwriter.vala b/gobject/valagirwriter.vala index 2c9b6e329..a1eb3a256 100644 --- a/gobject/valagirwriter.vala +++ b/gobject/valagirwriter.vala @@ -445,13 +445,23 @@ public class Vala.GIRWriter : CodeVisitor { return; } + string tag_name = "method"; + var parent = m.parent_symbol; + if (parent is Namespace || m.binding == MemberBinding.STATIC) { + tag_name = "function"; + } + + write_signature (m, tag_name); + } + + private void write_signature (Method m, string tag_name, bool instance = false) { write_indent (); - stream.printf ("\n"); indent++; DataType instance_type = null; - if (m.binding == MemberBinding.INSTANCE) { + if (instance) { instance_type = CCodeBaseModule.get_data_type_for_symbol ((TypeSymbol) m.parent_symbol); } @@ -461,7 +471,7 @@ public class Vala.GIRWriter : CodeVisitor { indent--; write_indent (); - stream.printf ("\n"); + stream.printf ("\n", tag_name); } public override void visit_creation_method (CreationMethod m) {