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;