]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Use vfunc_name for base access
authorFeng Yu <fengyu@dhcp5-240.iucf.indiana.edu>
Sat, 28 Mar 2009 19:20:39 +0000 (15:20 -0400)
committerJürg Billeter <j@bitron.ch>
Mon, 30 Mar 2009 07:31:15 +0000 (09:31 +0200)
Base access should respect Method.vfunc_name instead of using
Method.name. Fixes bug 577114.

gobject/valaccodememberaccessmodule.vala

index a5baff196f5ec920be4141a037220ad6bda0d1b0..d2731e8afee57373b32a28701b1a2bc9db131b45 100644 (file)
@@ -52,13 +52,13 @@ internal class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
                                        var vcast = new CCodeFunctionCall (new CCodeIdentifier ("%s_CLASS".printf (base_class.get_upper_case_cname (null))));
                                        vcast.add_argument (new CCodeIdentifier ("%s_parent_class".printf (current_class.get_lower_case_cname (null))));
                                        
-                                       expr.ccodenode = new CCodeMemberAccess.pointer (vcast, m.name);
+                                       expr.ccodenode = new CCodeMemberAccess.pointer (vcast, m.vfunc_name);
                                        return;
                                } else if (m.base_interface_method != null) {
                                        var base_iface = (Interface) m.base_interface_method.parent_symbol;
                                        string parent_iface_var = "%s_%s_parent_iface".printf (current_class.get_lower_case_cname (null), base_iface.get_lower_case_cname (null));
 
-                                       expr.ccodenode = new CCodeMemberAccess.pointer (new CCodeIdentifier (parent_iface_var), m.name);
+                                       expr.ccodenode = new CCodeMemberAccess.pointer (new CCodeIdentifier (parent_iface_var), m.vfunc_name);
                                        return;
                                }
                        }