#ifndef jk_STATICPASS_HPP #define jk_STATICPASS_HPP #include "commons.hpp" #include "SymTable.hpp" #include "Node.hpp" namespace jk { class StaticPass { public: explicit StaticPass(std::shared_ptr sym, Logger& logger); virtual ~StaticPass(); void pass(std::shared_ptr node); private: std::shared_ptr m_sym; Logger& m_logger; std::vector> m_types; void push(std::shared_ptr type); std::shared_ptr pop(); }; } #endif