Module(body=[ClassDef(name='A', bases=[], body=[FunctionDef(name='__init__', args=arguments(args=[Name(id='self', ctx=Param())], vararg=None, kwarg=None, defaults=[]), body=[Print(dest=None, values=[Str(s='at0')], nl=True), Assign(targets=[Attribute(value=Name(id='self', ctx=Load()), attr='a', ctx=Store())], value=Str(s='O')), Assign(targets=[Attribute(value=Name(id='self', ctx=Load()), attr='b', ctx=Store())], value=Str(s='x'))], decorator_list=[]), FunctionDef(name='test', args=arguments(args=[Name(id='self', ctx=Param())], vararg=None, kwarg=None, defaults=[]), body=[Print(dest=None, values=[Str(s='KO')], nl=True)], decorator_list=[])], decorator_list=[]), ClassDef(name='B', bases=[Name(id='A', ctx=Load())], body=[FunctionDef(name='__init__', args=arguments(args=[Name(id='self', ctx=Param())], vararg=None, kwarg=None, defaults=[]), body=[Print(dest=None, values=[Str(s='at1')], nl=True), Expr(value=Call(func=Attribute(value=Name(id='A', ctx=Load()), attr='__init__', ctx=Load()), args=[Name(id='self', ctx=Load())], keywords=[], starargs=None, kwargs=None)), Assign(targets=[Attribute(value=Name(id='self', ctx=Load()), attr='b', ctx=Store())], value=Str(s='K'))], decorator_list=[]), FunctionDef(name='test', args=arguments(args=[Name(id='self', ctx=Param())], vararg=None, kwarg=None, defaults=[]), body=[Print(dest=None, values=[BinOp(left=Attribute(value=Name(id='self', ctx=Load()), attr='a', ctx=Load()), op=Add(), right=Attribute(value=Name(id='self', ctx=Load()), attr='b', ctx=Load()))], nl=True)], decorator_list=[])], decorator_list=[]), Print(dest=None, values=[Str(s='at2')], nl=True), Expr(value=Call(func=Attribute(value=Call(func=Name(id='B', ctx=Load()), args=[], keywords=[], starargs=None, kwargs=None), attr='test', ctx=Load()), args=[], keywords=[], starargs=None, kwargs=None)), Print(dest=None, values=[Str(s='at3')], nl=True)])