/*++ Copyright (c) 2016 Microsoft Corporation Module Name: mk_extract_proc.h Abstract: Author: Mikolas Janota (MikolasJanota) Revision History: --*/ #pragma once #include "ast/ast.h" #include "ast/bv_decl_plugin.h" class mk_extract_proc { bv_util & m_util; unsigned m_high; unsigned m_low; sort * m_domain; func_decl * m_f_cached; public: mk_extract_proc(bv_util & u); ~mk_extract_proc(); app * operator()(unsigned high, unsigned low, expr * arg); ast_manager & m() { return m_util.get_manager(); } bv_util & bvutil() { return m_util; } };