--- /dev/null
+public abstract class Foo {
+ public Baz get_struct () { return Baz (); }
+ public abstract void bar ();
+}
+
+public struct Baz {
+ Foo foo;
+
+ public void bar () {
+ foo.bar ();
+ }
+}
+
+void main () { }
body.check (context);
}
- context.analyzer.current_source_file = old_source_file;
- context.analyzer.current_symbol = old_symbol;
-
if (context.analyzer.current_struct != null) {
if (is_abstract || is_virtual || overrides) {
error = true;
return false;
}
+ context.analyzer.current_source_file = old_source_file;
+ context.analyzer.current_symbol = old_symbol;
+
if (!external_package && !overrides && !hides && get_hidden_member () != null) {
Report.warning (source_reference, "%s hides inherited method `%s'. Use the `new' keyword if hiding was intentional".printf (get_full_name (), get_hidden_member ().get_full_name ()));
}