blob: 4cc7ac49f657bbf3e01dc3e6560e2e116785fbc9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#pragma once
#include "gimple-walker.hpp"
#include "expr-rewriter.hpp"
#include "type-reconstructor.hpp"
class GimpleTypeRewriter : public GimpleWalker
{
public:
GimpleTypeRewriter(TypeReconstructor::reorg_record_map_t map, TypeReconstructor::reorg_field_map_t map2) : exprTypeRewriter(map, map2) {};
void _rewrite_function_decl();
private:
ExprTypeRewriter exprTypeRewriter;
void handle_pointer_arithmetic(gimple *s);
virtual void _walk_pre(const_tree) final;
virtual void _walk_pre(gimple*) final;
virtual void _walk_pre(gcall *s) final;
virtual void _walk_pre(greturn *s) final;
virtual void _walk_pre(gassign *s) final;
virtual void _walk_pre(gcond *s) final;
};
|