#if !V8_ENABLE_WEBASSEMBLY
#error This header should only be included if WebAssembly is enabled.
#endif
#ifndef V8_WASM_WASM_DISASSEMBLER_IMPL_H_
#define V8_WASM_WASM_DISASSEMBLER_IMPL_H_
#include "src/wasm/function-body-decoder-impl.h"
#include "src/wasm/names-provider.h"
#include "src/wasm/string-builder-multiline.h"
#include "src/wasm/wasm-opcodes.h"
#include "src/zone/zone.h"
namespace v8 {
namespace internal {
namespace wasm {
template <typename ValidationTag>
class ImmediatesPrinter;
IndexAsComment;
constexpr bool kSkipFunctionTypesInTypeSection = …;
constexpr IndexAsComment kIndicesAsComments = …;
constexpr bool kSkipDataSegmentNames = …;
class Indentation { … };
inline StringBuilder& operator<<(StringBuilder& sb, Indentation indentation) { … }
inline StringBuilder& operator<<(StringBuilder& sb, uint64_t n) { … }
V8_EXPORT_PRIVATE void PrintSignatureOneLine(
StringBuilder& out, const FunctionSig* sig, uint32_t func_index,
NamesProvider* names, bool param_names,
IndexAsComment indices_as_comments = NamesProvider::kDontPrintIndex);
class OffsetsProvider : public ITracer { … } … };
inline std::unique_ptr<OffsetsProvider> AllocateOffsetsProvider() { … }
class V8_EXPORT_PRIVATE FunctionBodyDisassembler
: public WasmDecoder<Decoder::FullValidationTag> { … };
class ModuleDisassembler { … };
}
}
}
#endif