#pragma once #include "ir/op.hpp" #include "prelude/string.hpp" class CodeGenerator { public: CodeGenerator() = default; virtual ~CodeGenerator() {} public: virtual bool Generate(const IR::OpView* ops) = 0; StringView GetOutput() { return output().view(); } protected: StringBuilder& output() { return m_output; } private: StringBuilder m_output; };