abstract class Base { protected abstract void Foo(); public void Bar() { Foo(); } } class Derived : Base { protected override void Foo() { } }
Push 'Bar' down to the Derived. Result is:
abstract class Base { protected abstract void Foo(); } class Derived : Base { protected override void Foo() { } public void Bar() { base.Foo(); } }
PushMembersDownTest.testBug28304