]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GType: Remove duplicated code for interface vfunc declarators
authorJürg Billeter <j@bitron.ch>
Sun, 13 Sep 2009 13:15:12 +0000 (15:15 +0200)
committerJürg Billeter <j@bitron.ch>
Sun, 13 Sep 2009 15:12:39 +0000 (17:12 +0200)
codegen/valagtypemodule.vala

index 6b7f3ec583ce62730ac87b9af95030c86b247e54..df8c99acc1e863869a5efcd1e1d0e84529980501 100644 (file)
@@ -1695,19 +1695,7 @@ internal class Vala.GTypeModule : GErrorModule {
                type_struct.add_field ("GTypeInterface", "parent_iface");
 
                foreach (Method m in iface.get_methods ()) {
-                       if ((!m.is_abstract && !m.is_virtual) || m.coroutine) {
-                               continue;
-                       }
-
-                       // add vfunc field to the type struct
-                       var vdeclarator = new CCodeFunctionDeclarator (m.vfunc_name);
-                       var cparam_map = new HashMap<int,CCodeFormalParameter> (direct_hash, direct_equal);
-
-                       generate_cparameters (m, decl_space, cparam_map, new CCodeFunction ("fake"), vdeclarator);
-
-                       var vdecl = new CCodeDeclaration (m.return_type.get_cname ());
-                       vdecl.add_declarator (vdeclarator);
-                       type_struct.add_declaration (vdecl);
+                       generate_virtual_method_declaration (m, decl_space, type_struct);
                }
 
                foreach (Property prop in iface.get_properties ()) {