#pragma once #include "type-walker.hpp" #include "expr-accessor.hpp" #include class TypeFieldDeleter : public TypeWalker { public: TypeFieldDeleter(const_tree record, field_access_map_t accesses) : _record(record), _accesses(accesses) {}; private: const_tree _record; field_access_map_t _accesses; std::stack _print; virtual void _walk_RECORD_TYPE_pre(const_tree t); virtual void _walk_RECORD_TYPE_post(const_tree t); virtual void _walk_field_pre(const_tree t); };