]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Fix base-access check for compact classes
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 25 Jan 2020 17:33:13 +0000 (18:33 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 25 Jan 2020 17:52:58 +0000 (18:52 +0100)
See 84de99560ee96afa8cb80db3b342d584a72188cd

vala/valabaseaccess.vala

index 9a7d7ceb6ad584b5bd34ec0dc28faa94435330e1..00251450417440ba95562e96f795cbc215e7bf17 100644 (file)
@@ -78,11 +78,12 @@ 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 is CreationMethod) && context.analyzer.current_method.overrides) {
                        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) {
+               } else if (context.analyzer.current_class.is_compact && context.analyzer.current_property_accessor != null
+                   && context.analyzer.current_property_accessor.get_method ().overrides) {
                        error = true;
                        Report.error (source_reference, "Base access invalid in virtual overridden property of compact class");
                        return false;