1 /*++
2 Copyright (c) 2018 Microsoft Corporation
3 
4 Module Name:
5 
6     recfun_rewriter.h
7 
8 Abstract:
9 
10     Rewriter recursive function applications to values
11 
12 Author:
13 
14     Nikolaj Bjorner (nbjorner) 2020-04-26
15 
16 
17 --*/
18 
19 #pragma once
20 
21 #include "ast/recfun_decl_plugin.h"
22 #include "ast/rewriter/rewriter.h"
23 
24 class recfun_rewriter {
25     ast_manager& m;
26     recfun::util  m_rec;
27 public:
recfun_rewriter(ast_manager & m)28     recfun_rewriter(ast_manager& m): m(m), m_rec(m) {}
29 
30     br_status mk_app_core(func_decl * f, unsigned num_args, expr * const * args, expr_ref & result);
31 
get_fid()32     family_id get_fid() const { return m_rec.get_family_id(); }
33 
34 };
35 
36