vala r1177 - in trunk: . vala
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1177 - in trunk: . vala
- Date: Mon, 7 Apr 2008 17:28:33 +0100 (BST)
Author: juergbi
Date: Mon Apr 7 17:28:32 2008
New Revision: 1177
URL: http://svn.gnome.org/viewvc/vala?rev=1177&view=rev
Log:
2008-04-07 Juerg Billeter <j bitron ch>
* vala/valasemanticanalyzer.vala: don't compare base_method and
base_interface_method in visit_class as this might not be set yet
in other classes; available methods will already be checked in
detail in visit_method, fixes bug 523263
Modified:
trunk/ChangeLog
trunk/vala/valasemanticanalyzer.vala
Modified: trunk/vala/valasemanticanalyzer.vala
==============================================================================
--- trunk/vala/valasemanticanalyzer.vala (original)
+++ trunk/vala/valasemanticanalyzer.vala Mon Apr 7 17:28:32 2008
@@ -184,7 +184,7 @@
foreach (Method m in iface.get_methods ()) {
if (m.is_abstract) {
var sym = cl.scope.lookup (m.name);
- if (sym == null || !(sym is Method) || ((Method) sym).base_interface_method != m) {
+ if (!(sym is Method)) {
cl.error = true;
Report.error (cl.source_reference, "`%s' does not implement interface method `%s'".printf (cl.get_full_name (), m.get_full_name ()));
}
@@ -200,9 +200,7 @@
foreach (Method base_method in base_class.get_methods ()) {
if (base_method.is_abstract) {
var override_method = symbol_lookup_inherited (cl, base_method.name) as Method;
- if (override_method == null
- || !override_method.overrides
- || override_method.base_method != base_method) {
+ if (override_method == null || !override_method.overrides) {
cl.error = true;
Report.error (cl.source_reference, "`%s' does not implement abstract method `%s'".printf (cl.get_full_name (), base_method.get_full_name ()));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]