/** ** \file inlining/inliner.hh ** \brief Declaration of inlining::Inliner. */ #pragma once #include #include #include #include #include namespace inlining { /// Perform inline expansion of functions. class Inliner : public astclone::Cloner { public: using super_type = astclone::Cloner; // Import overloaded virtual functions. using super_type::operator(); /// Build an Inliner. Inliner(const ast::Ast& tree); /// \name Visit methods. /// \{ // FIXME: Some code was deleted here. /// \} /// \name Getters. /// \{ const misc::set& rec_funs_get() const; /// \} private: /// Recursive functions of the program. misc::set rec_funs_; }; } // namespace inlining