dsp-asm/stmt_base.hpp
Zack Buhman ddf46ce8fd stmt_ins: refactor
The overall intent is to make writing a decompiler require less code
duplication.

"bits.hpp" and "stmt_enum.hpp" are replaced with "stmt_ins.hpp" which
is generated directly from dsp-notes.csv.
2023-09-03 04:46:34 +00:00

26 lines
546 B
C++

#pragma once
#include "visitor.hpp"
namespace dsp {
struct stmt_t
{
virtual void accept(visitor_t<void> const * visitor) const = 0;
virtual uint32_t accept(visitor_t<uint32_t> const * visitor) const = 0;
};
template <typename T>
struct stmt_accept_t : stmt_t {
virtual void accept(visitor_t<void> const * visitor) const {
return visitor->visit(static_cast<const T*>(this));
}
virtual uint32_t accept(visitor_t<uint32_t> const * visitor) const
{
return visitor->visit(static_cast<const T*>(this));
}
};
}