sym = base_class.scope.lookup (m.name);
base_class = base_class.base_class;
}
- if (!(sym is Method)) {
+ if (sym is Method) {
+ // method is used as interface implementation, so it is not unused
+ sym.used = true;
+ } else {
error = true;
Report.error (source_reference, "`%s' does not implement interface method `%s'".printf (get_full_name (), m.get_full_name ()));
}
sym = base_class.scope.lookup (prop.name);
base_class = base_class.base_class;
}
- if (!(sym is Property)) {
+ if (sym is Property) {
+ // property is used as interface implementation, so it is not unused
+ sym.used = true;
+ } else {
error = true;
Report.error (source_reference, "`%s' does not implement interface property `%s'".printf (get_full_name (), prop.get_full_name ()));
}