from aspects import wrap_around
from tracer_advice import tracer_advice
class B1:
def foo(self):
print "B1.foo"
class B2:
def foo(self):
print "B2.foo"
def bar(self):
print "B2.bar"
class B3:
def bar(self):
print "B3.bar"
class D1(B1,B2):
pass
class DD1(D1,B3):
pass
wrap_around( B1.foo, tracer_advice )
wrap_around( B2.foo, tracer_advice )
wrap_around( B2.bar, tracer_advice )
wrap_around( B3.bar, tracer_advice )
wrap_around( DD1.bar, tracer_advice )
o = DD1()
o.foo()
o.bar()
|