#ifndef V8_TOOLS_WASM_MJSUNIT_MODULE_DISASSEMBLER_IMPL_H_
#define V8_TOOLS_WASM_MJSUNIT_MODULE_DISASSEMBLER_IMPL_H_
#include <ctime>
#include "src/numbers/conversions.h"
#include "src/wasm/function-body-decoder-impl.h"
#include "src/wasm/module-decoder-impl.h"
#include "src/wasm/string-builder-multiline.h"
#include "src/wasm/wasm-disassembler-impl.h"
#include "src/wasm/wasm-module.h"
#include "src/wasm/wasm-opcodes-inl.h"
namespace v8::internal::wasm {
static constexpr char kHexChars[] = …;
StringBuilder& operator<<(StringBuilder& sb, base::Vector<const char> chars) { … }
enum OutputContext : bool { … };
class MaybeLebScope { … };
class MjsunitNamesProvider { … };
namespace {
const char* RawOpcodeName(WasmOpcode opcode) { … }
const char* PrefixName(WasmOpcode prefix_opcode) { … }
}
template <typename ValidationTag>
class MjsunitImmediatesPrinter;
class MjsunitFunctionDis : public WasmDecoder<Decoder::FullValidationTag> { … };
void MjsunitFunctionDis::WriteMjsunit(MultiLineStringBuilder& out) { … }
void PrintF32Const(StringBuilder& out, ImmF32Immediate& imm) { … }
void PrintF64Const(StringBuilder& out, ImmF64Immediate& imm) { … }
void PrintI64Const(StringBuilder& out, ImmI64Immediate& imm) { … }
void MjsunitFunctionDis::DecodeGlobalInitializer(StringBuilder& out) { … }
template <typename ValidationTag>
class MjsunitImmediatesPrinter { … };
uint32_t MjsunitFunctionDis::PrintMjsunitImmediatesAndGetLength(
StringBuilder& out) { … }
class MjsunitModuleDis { … };
}
#endif