From: Jürg Billeter Date: Tue, 27 Jan 2009 20:09:35 +0000 (+0000) Subject: Add overriding members to .vapi files, fixes bug 569219 X-Git-Tag: 0.5.7~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=365e49a6e1dc914fd697d211405bc06bd3c00647;p=thirdparty%2Fvala.git Add overriding members to .vapi files, fixes bug 569219 2009-01-27 Jürg Billeter * vala/valacodewriter.vala: * vala/valamethod.vala: Add overriding members to .vapi files, fixes bug 569219 svn path=/trunk/; revision=2405 --- diff --git a/ChangeLog b/ChangeLog index c0b221e30..9ff0dd182 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-01-27 Jürg Billeter + + * vala/valacodewriter.vala: + * vala/valamethod.vala: + + Add overriding members to .vapi files, fixes bug 569219 + 2009-01-27 Jürg Billeter * vala/valamemberaccess.vala: diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala index 259cdbccb..9e82047ed 100644 --- a/vala/valacodewriter.vala +++ b/vala/valacodewriter.vala @@ -813,7 +813,7 @@ public class Vala.CodeWriter : CodeVisitor { } // don't write interface implementation unless it's an abstract or virtual method - if (!check_accessibility (m) || m.overrides || (m.base_interface_method != null && !m.is_abstract && !m.is_virtual)) { + if (!check_accessibility (m) || (m.base_interface_method != null && !m.is_abstract && !m.is_virtual)) { if (!dump_tree) { return; } @@ -910,6 +910,8 @@ public class Vala.CodeWriter : CodeVisitor { write_string ("abstract "); } else if (m.is_virtual) { write_string ("virtual "); + } else if (m.overrides) { + write_string ("override "); } if (!(m is CreationMethod)) { @@ -933,7 +935,7 @@ public class Vala.CodeWriter : CodeVisitor { } public override void visit_property (Property prop) { - if (!check_accessibility (prop) || prop.overrides || (prop.base_interface_property != null && !prop.is_abstract && !prop.is_virtual)) { + if (!check_accessibility (prop) || (prop.base_interface_property != null && !prop.is_abstract && !prop.is_virtual)) { return; } @@ -951,6 +953,8 @@ public class Vala.CodeWriter : CodeVisitor { write_string ("abstract "); } else if (prop.is_virtual) { write_string ("virtual "); + } else if (prop.overrides) { + write_string ("override "); } write_type (prop.property_type); diff --git a/vala/valamethod.vala b/vala/valamethod.vala index 98e8d9da7..b5218caf5 100644 --- a/vala/valamethod.vala +++ b/vala/valamethod.vala @@ -526,16 +526,11 @@ public class Vala.Method : Member { } if (parent_symbol is Class) { - /* VAPI classes don't specify overridden methods */ - if (!parent_symbol.external_package) { - if (!(this is CreationMethod)) { - find_base_interface_method ((Class) parent_symbol); - if (is_virtual || is_abstract || overrides) { - find_base_class_method ((Class) parent_symbol); - } + if (!(this is CreationMethod)) { + find_base_interface_method ((Class) parent_symbol); + if (is_virtual || is_abstract || overrides) { + find_base_class_method ((Class) parent_symbol); } - } else if (is_virtual || is_abstract) { - _base_method = this; } } else if (parent_symbol is Interface) { if (is_virtual || is_abstract) {