#pragma once #include "expr-walker.hpp" #include "type-reconstructor.hpp" class ExprTypeRewriter : public ExprWalker { public: ExprTypeRewriter(TypeReconstructor::reorg_record_map_t map, TypeReconstructor::reorg_field_map_t map2) : _map(map), _map2(map2) {}; private: TypeReconstructor::reorg_record_map_t _map; TypeReconstructor::reorg_field_map_t _map2; void _walk_post(const_tree e); void _walk_COMPONENT_REF_post(const_tree e); };