#ifndef roza_FUN_HPP #define roza_FUN_HPP #include "commons.hpp" #include "FunTy.hpp" #include "Program.hpp" #include "SymTable.hpp" namespace roza { class Fun { public: explicit Fun(std::shared_ptr type); virtual ~Fun(); std::shared_ptr type() const { return m_type; } std::shared_ptr sym() const { return m_sym; } std::shared_ptr program() const { return m_program; } private: std::shared_ptr m_type; std::shared_ptr m_program = std::make_shared(); std::shared_ptr m_sym = std::make_shared(); }; } #endif