summaryrefslogtreecommitdiff
path: root/gcc/type-field-deleter.hpp
blob: 7bbfbfd6584e3b8283c2575f44005ff096f055ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

#include "type-walker.hpp"
#include "expr-accessor.hpp"
#include <stack>

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<bool> _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);
};