FileAST(ext=[FuncDef(decl=Decl(name='f', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=FuncDecl(args=ParamList(params=[Decl(name='X1', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X1', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='X2', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X2', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ) ] ), type=TypeDecl(declname='f', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ) ), init=None, bitsize=None ), param_decls=None, body=Compound(block_items=[While(cond=ID(name='b' ), stmt=Compound(block_items=[Assignment(op='=', lvalue=ID(name='X2' ), rvalue=BinaryOp(op='+', left=ID(name='X1' ), right=ID(name='X1' ) ) ) ] ) ), Return(expr=ID(name='X2' ) ) ] ) ), FuncDef(decl=Decl(name='foo', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=FuncDecl(args=ParamList(params=[Decl(name='X1', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X1', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='X2', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X2', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ) ] ), type=TypeDecl(declname='foo', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ) ), init=None, bitsize=None ), param_decls=None, body=Compound(block_items=[Assignment(op='=', lvalue=ID(name='X2' ), rvalue=BinaryOp(op='+', left=ID(name='X1' ), right=ID(name='X1' ) ) ), Assignment(op='=', lvalue=ID(name='X1' ), rvalue=FuncCall(name=ID(name='f' ), args=ExprList(exprs=[ID(name='X2' ), ID(name='X2' ) ] ) ) ) ] ) ) ] )