From: Rico Tzschichholz Date: Wed, 5 Feb 2020 07:32:53 +0000 (+0100) Subject: vala: Fix base-access check for compact classes (2) X-Git-Tag: 0.47.91~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5eecd3beff3a71f60cfa136f8879f69c905300a6;p=thirdparty%2Fvala.git vala: Fix base-access check for compact classes (2) See 84de99560ee96afa8cb80db3b342d584a72188cd --- diff --git a/vala/valabaseaccess.vala b/vala/valabaseaccess.vala index 002514504..68a3cb8f9 100644 --- a/vala/valabaseaccess.vala +++ b/vala/valabaseaccess.vala @@ -78,12 +78,13 @@ public class Vala.BaseAccess : Expression { Report.error (source_reference, "Base access invalid without base class"); return false; } else if (context.analyzer.current_class.is_compact && context.analyzer.current_method != null - && !(context.analyzer.current_method is CreationMethod) && context.analyzer.current_method.overrides) { + && !(context.analyzer.current_method is CreationMethod) + && (context.analyzer.current_method.overrides || context.analyzer.current_method.is_virtual)) { error = true; Report.error (source_reference, "Base access invalid in virtual overridden method of compact class"); return false; } else if (context.analyzer.current_class.is_compact && context.analyzer.current_property_accessor != null - && context.analyzer.current_property_accessor.get_method ().overrides) { + && (context.analyzer.current_property_accessor.prop.overrides || context.analyzer.current_property_accessor.prop.is_virtual)) { error = true; Report.error (source_reference, "Base access invalid in virtual overridden property of compact class"); return false;