diff options
Diffstat (limited to 'src/binary-reader-logging.h')
-rw-r--r-- | src/binary-reader-logging.h | 424 |
1 files changed, 0 insertions, 424 deletions
diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h deleted file mode 100644 index c5176bdf..00000000 --- a/src/binary-reader-logging.h +++ /dev/null @@ -1,424 +0,0 @@ -/* - * Copyright 2017 WebAssembly Community Group participants - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef WABT_BINARY_READER_LOGGING_H_ -#define WABT_BINARY_READER_LOGGING_H_ - -#include "src/binary-reader.h" - -namespace wabt { - -class Stream; - -class BinaryReaderLogging : public BinaryReaderDelegate { - public: - BinaryReaderLogging(Stream*, BinaryReaderDelegate* forward); - - bool OnError(const Error&) override; - void OnSetState(const State* s) override; - - Result BeginModule(uint32_t version) override; - Result EndModule() override; - - Result BeginSection(Index section_index, - BinarySection section_type, - Offset size) override; - - Result BeginCustomSection(Index section_index, - Offset size, - std::string_view section_name) override; - Result EndCustomSection() override; - - Result BeginTypeSection(Offset size) override; - Result OnTypeCount(Index count) override; - Result OnFuncType(Index index, - Index param_count, - Type* param_types, - Index result_count, - Type* result_types) override; - Result OnStructType(Index index, Index field_count, TypeMut* fields) override; - Result OnArrayType(Index index, TypeMut field) override; - Result EndTypeSection() override; - - Result BeginImportSection(Offset size) override; - Result OnImportCount(Index count) override; - Result OnImport(Index index, - ExternalKind kind, - std::string_view module_name, - std::string_view field_name) override; - Result OnImportFunc(Index import_index, - std::string_view module_name, - std::string_view field_name, - Index func_index, - Index sig_index) override; - Result OnImportTable(Index import_index, - std::string_view module_name, - std::string_view field_name, - Index table_index, - Type elem_type, - const Limits* elem_limits) override; - Result OnImportMemory(Index import_index, - std::string_view module_name, - std::string_view field_name, - Index memory_index, - const Limits* page_limits) override; - Result OnImportGlobal(Index import_index, - std::string_view module_name, - std::string_view field_name, - Index global_index, - Type type, - bool mutable_) override; - Result OnImportTag(Index import_index, - std::string_view module_name, - std::string_view field_name, - Index tag_index, - Index sig_index) override; - Result EndImportSection() override; - - Result BeginFunctionSection(Offset size) override; - Result OnFunctionCount(Index count) override; - Result OnFunction(Index index, Index sig_index) override; - Result EndFunctionSection() override; - - Result BeginTableSection(Offset size) override; - Result OnTableCount(Index count) override; - Result OnTable(Index index, - Type elem_type, - const Limits* elem_limits) override; - Result EndTableSection() override; - - Result BeginMemorySection(Offset size) override; - Result OnMemoryCount(Index count) override; - Result OnMemory(Index index, const Limits* limits) override; - Result EndMemorySection() override; - - Result BeginGlobalSection(Offset size) override; - Result OnGlobalCount(Index count) override; - Result BeginGlobal(Index index, Type type, bool mutable_) override; - Result BeginGlobalInitExpr(Index index) override; - Result EndGlobalInitExpr(Index index) override; - Result EndGlobal(Index index) override; - Result EndGlobalSection() override; - - Result BeginExportSection(Offset size) override; - Result OnExportCount(Index count) override; - Result OnExport(Index index, - ExternalKind kind, - Index item_index, - std::string_view name) override; - Result EndExportSection() override; - - Result BeginStartSection(Offset size) override; - Result OnStartFunction(Index func_index) override; - Result EndStartSection() override; - - Result BeginCodeSection(Offset size) override; - Result OnFunctionBodyCount(Index count) override; - Result BeginFunctionBody(Index index, Offset size) override; - Result OnLocalDeclCount(Index count) override; - Result OnLocalDecl(Index decl_index, Index count, Type type) override; - - Result OnOpcode(Opcode opcode) override; - Result OnOpcodeBare() override; - Result OnOpcodeIndex(Index value) override; - Result OnOpcodeIndexIndex(Index value, Index value2) override; - Result OnOpcodeUint32(uint32_t value) override; - Result OnOpcodeUint32Uint32(uint32_t value, uint32_t value2) override; - Result OnOpcodeUint32Uint32Uint32(uint32_t value, - uint32_t value2, - uint32_t value3) override; - Result OnOpcodeUint32Uint32Uint32Uint32(uint32_t value, - uint32_t value2, - uint32_t value3, - uint32_t value4) override; - Result OnOpcodeUint64(uint64_t value) override; - Result OnOpcodeF32(uint32_t value) override; - Result OnOpcodeF64(uint64_t value) override; - Result OnOpcodeV128(v128 value) override; - Result OnOpcodeBlockSig(Type sig_type) override; - Result OnOpcodeType(Type type) override; - Result OnAtomicLoadExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnAtomicStoreExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnAtomicRmwExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnAtomicRmwCmpxchgExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnBinaryExpr(Opcode opcode) override; - Result OnBlockExpr(Type sig_type) override; - Result OnBrExpr(Index depth) override; - Result OnBrIfExpr(Index depth) override; - Result OnBrTableExpr(Index num_targets, - Index* target_depths, - Index default_target_depth) override; - Result OnCallExpr(Index func_index) override; - Result OnCatchExpr(Index tag_index) override; - Result OnCatchAllExpr() override; - Result OnCallIndirectExpr(Index sig_index, Index table_index) override; - Result OnCallRefExpr() override; - Result OnCompareExpr(Opcode opcode) override; - Result OnConvertExpr(Opcode opcode) override; - Result OnDelegateExpr(Index depth) override; - Result OnDropExpr() override; - Result OnElseExpr() override; - Result OnEndExpr() override; - Result OnF32ConstExpr(uint32_t value_bits) override; - Result OnF64ConstExpr(uint64_t value_bits) override; - Result OnV128ConstExpr(v128 value_bits) override; - Result OnGlobalGetExpr(Index global_index) override; - Result OnGlobalSetExpr(Index global_index) override; - Result OnI32ConstExpr(uint32_t value) override; - Result OnI64ConstExpr(uint64_t value) override; - Result OnIfExpr(Type sig_type) override; - Result OnLoadExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnLocalGetExpr(Index local_index) override; - Result OnLocalSetExpr(Index local_index) override; - Result OnLocalTeeExpr(Index local_index) override; - Result OnLoopExpr(Type sig_type) override; - Result OnMemoryCopyExpr(Index srcmemidx, Index destmemidx) override; - Result OnDataDropExpr(Index segment_index) override; - Result OnMemoryFillExpr(Index memidx) override; - Result OnMemoryGrowExpr(Index memidx) override; - Result OnMemoryInitExpr(Index segment_index, Index memidx) override; - Result OnMemorySizeExpr(Index memidx) override; - Result OnTableCopyExpr(Index dst_index, Index src_index) override; - Result OnElemDropExpr(Index segment_index) override; - Result OnTableInitExpr(Index segment_index, Index table_index) override; - Result OnTableGetExpr(Index table) override; - Result OnTableSetExpr(Index table) override; - Result OnTableGrowExpr(Index table) override; - Result OnTableSizeExpr(Index table) override; - Result OnTableFillExpr(Index table) override; - Result OnRefFuncExpr(Index index) override; - Result OnRefNullExpr(Type type) override; - Result OnRefIsNullExpr() override; - Result OnNopExpr() override; - Result OnRethrowExpr(Index depth) override; - Result OnReturnCallExpr(Index func_index) override; - Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override; - Result OnReturnExpr() override; - Result OnSelectExpr(Index result_count, Type* result_types) override; - Result OnStoreExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnThrowExpr(Index tag_index) override; - Result OnTryExpr(Type sig_type) override; - Result OnUnaryExpr(Opcode opcode) override; - Result OnTernaryExpr(Opcode opcode) override; - Result OnUnreachableExpr() override; - Result OnAtomicWaitExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnAtomicFenceExpr(uint32_t consistency_model) override; - Result OnAtomicNotifyExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result EndFunctionBody(Index index) override; - Result EndCodeSection() override; - Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override; - Result OnSimdLoadLaneExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset, - uint64_t value) override; - Result OnSimdStoreLaneExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset, - uint64_t value) override; - Result OnSimdShuffleOpExpr(Opcode opcode, v128 value) override; - Result OnLoadSplatExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - Result OnLoadZeroExpr(Opcode opcode, - Index memidx, - Address alignment_log2, - Address offset) override; - - Result BeginElemSection(Offset size) override; - Result OnElemSegmentCount(Index count) override; - Result BeginElemSegment(Index index, - Index table_index, - uint8_t flags) override; - Result BeginElemSegmentInitExpr(Index index) override; - Result EndElemSegmentInitExpr(Index index) override; - Result OnElemSegmentElemType(Index index, Type elem_type) override; - Result OnElemSegmentElemExprCount(Index index, Index count) override; - Result OnElemSegmentElemExpr_RefNull(Index segment_index, Type type) override; - Result OnElemSegmentElemExpr_RefFunc(Index segment_index, - Index func_index) override; - Result EndElemSegment(Index index) override; - Result EndElemSection() override; - - Result BeginDataSection(Offset size) override; - Result OnDataSegmentCount(Index count) override; - Result BeginDataSegment(Index index, - Index memory_index, - uint8_t flags) override; - Result BeginDataSegmentInitExpr(Index index) override; - Result EndDataSegmentInitExpr(Index index) override; - Result OnDataSegmentData(Index index, - const void* data, - Address size) override; - Result EndDataSegment(Index index) override; - Result EndDataSection() override; - - Result BeginDataCountSection(Offset size) override; - Result OnDataCount(Index count) override; - Result EndDataCountSection() override; - - Result BeginNamesSection(Offset size) override; - Result OnModuleNameSubsection(Index index, - uint32_t name_type, - Offset subsection_size) override; - Result OnModuleName(std::string_view name) override; - Result OnFunctionNameSubsection(Index index, - uint32_t name_type, - Offset subsection_size) override; - Result OnFunctionNamesCount(Index num_functions) override; - Result OnFunctionName(Index function_index, - std::string_view function_name) override; - Result OnLocalNameSubsection(Index index, - uint32_t name_type, - Offset subsection_size) override; - Result OnLocalNameFunctionCount(Index num_functions) override; - Result OnLocalNameLocalCount(Index function_index, Index num_locals) override; - Result OnLocalName(Index function_index, - Index local_index, - std::string_view local_name) override; - Result OnNameSubsection(Index index, - NameSectionSubsection subsection_type, - Offset subsection_size) override; - Result OnNameEntry(NameSectionSubsection type, - Index index, - std::string_view name) override; - Result OnNameCount(Index num_names) override; - Result EndNamesSection() override; - - Result BeginRelocSection(Offset size) override; - Result OnRelocCount(Index count, Index section_index) override; - Result OnReloc(RelocType type, - Offset offset, - Index index, - uint32_t addend) override; - Result EndRelocSection() override; - - Result BeginDylinkSection(Offset size) override; - Result OnDylinkInfo(uint32_t mem_size, - uint32_t mem_align, - uint32_t table_size, - uint32_t table_align) override; - Result OnDylinkNeededCount(Index count) override; - Result OnDylinkNeeded(std::string_view needed) override; - Result OnDylinkImportCount(Index count) override; - Result OnDylinkExportCount(Index count) override; - Result OnDylinkImport(std::string_view module, - std::string_view name, - uint32_t flags) override; - Result OnDylinkExport(std::string_view name, uint32_t flags) override; - Result EndDylinkSection() override; - - Result BeginTargetFeaturesSection(Offset size) override; - Result OnFeatureCount(Index count) override; - Result OnFeature(uint8_t prefix, std::string_view name) override; - Result EndTargetFeaturesSection() override; - - Result BeginLinkingSection(Offset size) override; - Result OnSymbolCount(Index count) override; - Result OnDataSymbol(Index index, - uint32_t flags, - std::string_view name, - Index segment, - uint32_t offset, - uint32_t size) override; - Result OnFunctionSymbol(Index index, - uint32_t flags, - std::string_view name, - Index func_index) override; - Result OnGlobalSymbol(Index index, - uint32_t flags, - std::string_view name, - Index global_index) override; - Result OnSectionSymbol(Index index, - uint32_t flags, - Index section_index) override; - Result OnTagSymbol(Index index, - uint32_t flags, - std::string_view name, - Index tag_index) override; - Result OnTableSymbol(Index index, - uint32_t flags, - std::string_view name, - Index tag_index) override; - Result OnSegmentInfoCount(Index count) override; - Result OnSegmentInfo(Index index, - std::string_view name, - Address alignment, - uint32_t flags) override; - Result OnInitFunctionCount(Index count) override; - Result OnInitFunction(uint32_t priority, Index function_index) override; - Result OnComdatCount(Index count) override; - Result OnComdatBegin(std::string_view name, - uint32_t flags, - Index count) override; - Result OnComdatEntry(ComdatType kind, Index index) override; - Result EndLinkingSection() override; - - Result BeginTagSection(Offset size) override; - Result OnTagCount(Index count) override; - Result OnTagType(Index index, Index sig_index) override; - Result EndTagSection() override; - - /* Code Metadata sections */ - Result BeginCodeMetadataSection(std::string_view name, Offset size) override; - Result OnCodeMetadataFuncCount(Index count) override; - Result OnCodeMetadataCount(Index function_index, Index count) override; - Result OnCodeMetadata(Offset offset, const void* data, Address size) override; - Result EndCodeMetadataSection() override; - - private: - void Indent(); - void Dedent(); - void WriteIndent(); - void LogType(Type type); - void LogTypes(Index type_count, Type* types); - void LogTypes(TypeVector& types); - void LogField(TypeMut field); - - Stream* stream_; - BinaryReaderDelegate* reader_; - int indent_; -}; - -} // namespace wabt - -#endif // WABT_BINARY_READER_LOGGING_H_ |