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;