ordinary functions (there should be no advice)
on A:
A::A()
void A::f()
void A::f()
void A::g()
void A::g()
void A::h()
on B:
A::A()
B::B()
B::B()
void B::f()
void B::f()
void B::f()
void B::g()
void B::g()
void B::g()
void B::h()
on C:
A::A()
B::B()
B::B()
C::C()
C::C()
C::C()
void C::f()
void C::f()
void C::f()
void C::f()
void C::g()
void C::g()
void C::g()
void C::g()
void C::h()
on D:
A::A()
B::B()
B::B()
D::D()
D::D()
D::D()
void D::f()
void D::f()
void D::f()
void D::f()
void D::g()
void D::g()
void D::g()
void D::g()
void D::h()
D::~D()
D::~D()
D::~D()
B::~B()
B::~B()
A::~A()
C::~C()
C::~C()
C::~C()
B::~B()
B::~B()
A::~A()
B::~B()
B::~B()
A::~A()
A::~A()
