Where Online Learning is simpler!
The C and C++ Include Header Files
cat -n /usr/include/wabt/binary-reader-nop.h
1 /* 2 * Copyright 2016 WebAssembly Community Group participants 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef WABT_BINARY_READER_NOP_H_ 18 #define WABT_BINARY_READER_NOP_H_ 19 20 #include "wabt/binary-reader.h" 21 22 namespace wabt { 23 24 class BinaryReaderNop : public BinaryReaderDelegate { 25 public: 26 bool OnError(const Error&) override { return false; } 27 28 /* Module */ 29 Result BeginModule(uint32_t version) override { return Result::Ok; } 30 Result EndModule() override { return Result::Ok; } 31 32 Result BeginSection(Index section_index, 33 BinarySection section_type, 34 Offset size) override { 35 return Result::Ok; 36 } 37 38 /* Custom section */ 39 Result BeginCustomSection(Index section_index, 40 Offset size, 41 std::string_view section_name) override { 42 return Result::Ok; 43 } 44 Result EndCustomSection() override { return Result::Ok; } 45 46 /* Type section */ 47 Result BeginTypeSection(Offset size) override { return Result::Ok; } 48 Result OnTypeCount(Index count) override { return Result::Ok; } 49 Result OnFuncType(Index index, 50 Index param_count, 51 Type* param_types, 52 Index result_count, 53 Type* result_types) override { 54 return Result::Ok; 55 } 56 Result OnStructType(Index index, 57 Index field_count, 58 TypeMut* fields) override { 59 return Result::Ok; 60 } 61 Result OnArrayType(Index index, TypeMut field) override { return Result::Ok; } 62 Result EndTypeSection() override { return Result::Ok; } 63 64 /* Import section */ 65 Result BeginImportSection(Offset size) override { return Result::Ok; } 66 Result OnImportCount(Index count) override { return Result::Ok; } 67 Result OnImport(Index index, 68 ExternalKind kind, 69 std::string_view module_name, 70 std::string_view field_name) override { 71 return Result::Ok; 72 } 73 Result OnImportFunc(Index import_index, 74 std::string_view module_name, 75 std::string_view field_name, 76 Index func_index, 77 Index sig_index) override { 78 return Result::Ok; 79 } 80 Result OnImportTable(Index import_index, 81 std::string_view module_name, 82 std::string_view field_name, 83 Index table_index, 84 Type elem_type, 85 const Limits* elem_limits) override { 86 return Result::Ok; 87 } 88 Result OnImportMemory(Index import_index, 89 std::string_view module_name, 90 std::string_view field_name, 91 Index memory_index, 92 const Limits* page_limits) override { 93 return Result::Ok; 94 } 95 Result OnImportGlobal(Index import_index, 96 std::string_view module_name, 97 std::string_view field_name, 98 Index global_index, 99 Type type, 100 bool mutable_) override { 101 return Result::Ok; 102 } 103 Result OnImportTag(Index import_index, 104 std::string_view module_name, 105 std::string_view field_name, 106 Index tag_index, 107 Index sig_index) override { 108 return Result::Ok; 109 } 110 Result EndImportSection() override { return Result::Ok; } 111 112 /* Function section */ 113 Result BeginFunctionSection(Offset size) override { return Result::Ok; } 114 Result OnFunctionCount(Index count) override { return Result::Ok; } 115 Result OnFunction(Index index, Index sig_index) override { 116 return Result::Ok; 117 } 118 Result EndFunctionSection() override { return Result::Ok; } 119 120 /* Table section */ 121 Result BeginTableSection(Offset size) override { return Result::Ok; } 122 Result OnTableCount(Index count) override { return Result::Ok; } 123 Result OnTable(Index index, 124 Type elem_type, 125 const Limits* elem_limits) override { 126 return Result::Ok; 127 } 128 Result EndTableSection() override { return Result::Ok; } 129 130 /* Memory section */ 131 Result BeginMemorySection(Offset size) override { return Result::Ok; } 132 Result OnMemoryCount(Index count) override { return Result::Ok; } 133 Result OnMemory(Index index, const Limits* limits) override { 134 return Result::Ok; 135 } 136 Result EndMemorySection() override { return Result::Ok; } 137 138 /* Global section */ 139 Result BeginGlobalSection(Offset size) override { return Result::Ok; } 140 Result OnGlobalCount(Index count) override { return Result::Ok; } 141 Result BeginGlobal(Index index, Type type, bool mutable_) override { 142 return Result::Ok; 143 } 144 Result BeginGlobalInitExpr(Index index) override { return Result::Ok; } 145 Result EndGlobalInitExpr(Index index) override { return Result::Ok; } 146 Result EndGlobal(Index index) override { return Result::Ok; } 147 Result EndGlobalSection() override { return Result::Ok; } 148 149 /* Exports section */ 150 Result BeginExportSection(Offset size) override { return Result::Ok; } 151 Result OnExportCount(Index count) override { return Result::Ok; } 152 Result OnExport(Index index, 153 ExternalKind kind, 154 Index item_index, 155 std::string_view name) override { 156 return Result::Ok; 157 } 158 Result EndExportSection() override { return Result::Ok; } 159 160 /* Start section */ 161 Result BeginStartSection(Offset size) override { return Result::Ok; } 162 Result OnStartFunction(Index func_index) override { return Result::Ok; } 163 Result EndStartSection() override { return Result::Ok; } 164 165 /* Code section */ 166 Result BeginCodeSection(Offset size) override { return Result::Ok; } 167 Result OnFunctionBodyCount(Index count) override { return Result::Ok; } 168 Result BeginFunctionBody(Index index, Offset size) override { 169 return Result::Ok; 170 } 171 Result OnLocalDeclCount(Index count) override { return Result::Ok; } 172 Result OnLocalDecl(Index decl_index, Index count, Type type) override { 173 return Result::Ok; 174 } 175 176 /* Function expressions; called between BeginFunctionBody and 177 EndFunctionBody */ 178 Result OnOpcode(Opcode Opcode) override { return Result::Ok; } 179 Result OnOpcodeBare() override { return Result::Ok; } 180 Result OnOpcodeIndex(Index value) override { return Result::Ok; } 181 Result OnOpcodeIndexIndex(Index value, Index value2) override { 182 return Result::Ok; 183 } 184 Result OnOpcodeUint32(uint32_t value) override { return Result::Ok; } 185 Result OnOpcodeUint32Uint32(uint32_t value, uint32_t value2) override { 186 return Result::Ok; 187 } 188 Result OnOpcodeUint32Uint32Uint32(uint32_t value, 189 uint32_t value2, 190 uint32_t value3) override { 191 return Result::Ok; 192 } 193 Result OnOpcodeUint32Uint32Uint32Uint32(uint32_t value, 194 uint32_t value2, 195 uint32_t value3, 196 uint32_t value4) override { 197 return Result::Ok; 198 } 199 Result OnOpcodeUint64(uint64_t value) override { return Result::Ok; } 200 Result OnOpcodeF32(uint32_t value) override { return Result::Ok; } 201 Result OnOpcodeF64(uint64_t value) override { return Result::Ok; } 202 Result OnOpcodeV128(v128 value) override { return Result::Ok; } 203 Result OnOpcodeBlockSig(Type sig_type) override { return Result::Ok; } 204 Result OnOpcodeType(Type type) override { return Result::Ok; } 205 Result OnAtomicLoadExpr(Opcode opcode, 206 Index memidx, 207 Address alignment_log2, 208 Address offset) override { 209 return Result::Ok; 210 } 211 Result OnAtomicStoreExpr(Opcode opcode, 212 Index memidx, 213 Address alignment_log2, 214 Address offset) override { 215 return Result::Ok; 216 } 217 Result OnAtomicRmwExpr(Opcode opcode, 218 Index memidx, 219 Address alignment_log2, 220 Address offset) override { 221 return Result::Ok; 222 } 223 Result OnAtomicRmwCmpxchgExpr(Opcode opcode, 224 Index memidx, 225 Address alignment_log2, 226 Address offset) override { 227 return Result::Ok; 228 } 229 Result OnAtomicWaitExpr(Opcode, Index, Address, Address) override { 230 return Result::Ok; 231 } 232 Result OnAtomicFenceExpr(uint32_t) override { return Result::Ok; } 233 Result OnAtomicNotifyExpr(Opcode, Index, Address, Address) override { 234 return Result::Ok; 235 } 236 Result OnBinaryExpr(Opcode opcode) override { return Result::Ok; } 237 Result OnBlockExpr(Type sig_type) override { return Result::Ok; } 238 Result OnBrExpr(Index depth) override { return Result::Ok; } 239 Result OnBrIfExpr(Index depth) override { return Result::Ok; } 240 Result OnBrTableExpr(Index num_targets, 241 Index* target_depths, 242 Index default_target_depth) override { 243 return Result::Ok; 244 } 245 Result OnCallExpr(Index func_index) override { return Result::Ok; } 246 Result OnCallIndirectExpr(Index sig_index, Index table_index) override { 247 return Result::Ok; 248 } 249 Result OnCallRefExpr() override { return Result::Ok; } 250 Result OnCatchExpr(Index tag_index) override { return Result::Ok; } 251 Result OnCatchAllExpr() override { return Result::Ok; } 252 Result OnCompareExpr(Opcode opcode) override { return Result::Ok; } 253 Result OnConvertExpr(Opcode opcode) override { return Result::Ok; } 254 Result OnDelegateExpr(Index depth) override { return Result::Ok; } 255 Result OnDropExpr() override { return Result::Ok; } 256 Result OnElseExpr() override { return Result::Ok; } 257 Result OnEndExpr() override { return Result::Ok; } 258 Result OnF32ConstExpr(uint32_t value_bits) override { return Result::Ok; } 259 Result OnF64ConstExpr(uint64_t value_bits) override { return Result::Ok; } 260 Result OnV128ConstExpr(v128 value_bits) override { return Result::Ok; } 261 Result OnGlobalGetExpr(Index global_index) override { return Result::Ok; } 262 Result OnGlobalSetExpr(Index global_index) override { return Result::Ok; } 263 Result OnI32ConstExpr(uint32_t value) override { return Result::Ok; } 264 Result OnI64ConstExpr(uint64_t value) override { return Result::Ok; } 265 Result OnIfExpr(Type sig_type) override { return Result::Ok; } 266 Result OnLoadExpr(Opcode opcode, 267 Index memidx, 268 Address alignment_log2, 269 Address offset) override { 270 return Result::Ok; 271 } 272 Result OnLocalGetExpr(Index local_index) override { return Result::Ok; } 273 Result OnLocalSetExpr(Index local_index) override { return Result::Ok; } 274 Result OnLocalTeeExpr(Index local_index) override { return Result::Ok; } 275 Result OnLoopExpr(Type sig_type) override { return Result::Ok; } 276 Result OnMemoryCopyExpr(Index destmemidx, Index srcmemidx) override { 277 return Result::Ok; 278 } 279 Result OnDataDropExpr(Index segment_index) override { return Result::Ok; } 280 Result OnMemoryFillExpr(Index memidx) override { return Result::Ok; } 281 Result OnMemoryGrowExpr(Index memidx) override { return Result::Ok; } 282 Result OnMemoryInitExpr(Index segment_index, Index memidx) override { 283 return Result::Ok; 284 } 285 Result OnMemorySizeExpr(Index memidx) override { return Result::Ok; } 286 Result OnTableCopyExpr(Index dst_index, Index src_index) override { 287 return Result::Ok; 288 } 289 Result OnElemDropExpr(Index segment_index) override { return Result::Ok; } 290 Result OnTableInitExpr(Index segment_index, Index table_index) override { 291 return Result::Ok; 292 } 293 Result OnTableGetExpr(Index table_index) override { return Result::Ok; } 294 Result OnTableSetExpr(Index table_index) override { return Result::Ok; } 295 Result OnTableGrowExpr(Index table_index) override { return Result::Ok; } 296 Result OnTableSizeExpr(Index table_index) override { return Result::Ok; } 297 Result OnTableFillExpr(Index table_index) override { return Result::Ok; } 298 Result OnRefFuncExpr(Index func_index) override { return Result::Ok; } 299 Result OnRefNullExpr(Type type) override { return Result::Ok; } 300 Result OnRefIsNullExpr() override { return Result::Ok; } 301 Result OnNopExpr() override { return Result::Ok; } 302 Result OnRethrowExpr(Index depth) override { return Result::Ok; } 303 Result OnReturnCallExpr(Index sig_index) override { return Result::Ok; } 304 Result OnReturnCallIndirectExpr(Index sig_index, Index table_index) override { 305 return Result::Ok; 306 } 307 Result OnReturnExpr() override { return Result::Ok; } 308 Result OnSelectExpr(Index result_count, Type* result_types) override { 309 return Result::Ok; 310 } 311 Result OnStoreExpr(Opcode opcode, 312 Index memidx, 313 Address alignment_log2, 314 Address offset) override { 315 return Result::Ok; 316 } 317 Result OnThrowExpr(Index depth) override { return Result::Ok; } 318 Result OnTryExpr(Type sig_type) override { return Result::Ok; } 319 Result OnUnaryExpr(Opcode opcode) override { return Result::Ok; } 320 Result OnTernaryExpr(Opcode opcode) override { return Result::Ok; } 321 Result OnUnreachableExpr() override { return Result::Ok; } 322 Result EndFunctionBody(Index index) override { return Result::Ok; } 323 Result EndCodeSection() override { return Result::Ok; } 324 Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override { 325 return Result::Ok; 326 } 327 Result OnSimdLoadLaneExpr(Opcode opcode, 328 Index memidx, 329 Address alignment_log2, 330 Address offset, 331 uint64_t value) override { 332 return Result::Ok; 333 } 334 Result OnSimdStoreLaneExpr(Opcode opcode, 335 Index memidx, 336 Address alignment_log2, 337 Address offset, 338 uint64_t value) override { 339 return Result::Ok; 340 } 341 Result OnSimdShuffleOpExpr(Opcode opcode, v128 value) override { 342 return Result::Ok; 343 } 344 Result OnLoadSplatExpr(Opcode opcode, 345 Index memidx, 346 Address alignment_log2, 347 Address offset) override { 348 return Result::Ok; 349 } 350 Result OnLoadZeroExpr(Opcode opcode, 351 Index memidx, 352 Address alignment_log2, 353 Address offset) override { 354 return Result::Ok; 355 } 356 357 /* Elem section */ 358 Result BeginElemSection(Offset size) override { return Result::Ok; } 359 Result OnElemSegmentCount(Index count) override { return Result::Ok; } 360 Result BeginElemSegment(Index index, 361 Index table_index, 362 uint8_t flags) override { 363 return Result::Ok; 364 } 365 Result BeginElemSegmentInitExpr(Index index) override { return Result::Ok; } 366 Result EndElemSegmentInitExpr(Index index) override { return Result::Ok; } 367 Result OnElemSegmentElemType(Index index, Type elem_type) override { 368 return Result::Ok; 369 } 370 Result OnElemSegmentElemExprCount(Index index, Index count) override { 371 return Result::Ok; 372 } 373 Result BeginElemExpr(Index elem_index, Index expr_index) override { 374 return Result::Ok; 375 } 376 Result EndElemExpr(Index elem_index, Index expr_index) override { 377 return Result::Ok; 378 } 379 Result EndElemSegment(Index index) override { return Result::Ok; } 380 Result EndElemSection() override { return Result::Ok; } 381 382 /* Data section */ 383 Result BeginDataSection(Offset size) override { return Result::Ok; } 384 Result OnDataSegmentCount(Index count) override { return Result::Ok; } 385 Result BeginDataSegment(Index index, 386 Index memory_index, 387 uint8_t flags) override { 388 return Result::Ok; 389 } 390 Result BeginDataSegmentInitExpr(Index index) override { return Result::Ok; } 391 Result EndDataSegmentInitExpr(Index index) override { return Result::Ok; } 392 Result OnDataSegmentData(Index index, 393 const void* data, 394 Address size) override { 395 return Result::Ok; 396 } 397 Result EndDataSegment(Index index) override { return Result::Ok; } 398 Result EndDataSection() override { return Result::Ok; } 399 400 /* DataCount section */ 401 Result BeginDataCountSection(Offset size) override { return Result::Ok; } 402 Result OnDataCount(Index count) override { return Result::Ok; } 403 Result EndDataCountSection() override { return Result::Ok; } 404 405 /* Names section */ 406 Result BeginNamesSection(Offset size) override { return Result::Ok; } 407 Result OnModuleNameSubsection(Index index, 408 uint32_t name_type, 409 Offset subsection_size) override { 410 return Result::Ok; 411 } 412 Result OnModuleName(std::string_view name) override { return Result::Ok; } 413 Result OnFunctionNameSubsection(Index index, 414 uint32_t name_type, 415 Offset subsection_size) override { 416 return Result::Ok; 417 } 418 Result OnFunctionNamesCount(Index num_functions) override { 419 return Result::Ok; 420 } 421 Result OnFunctionName(Index function_index, 422 std::string_view function_name) override { 423 return Result::Ok; 424 } 425 Result OnLocalNameSubsection(Index index, 426 uint32_t name_type, 427 Offset subsection_size) override { 428 return Result::Ok; 429 } 430 Result OnLocalNameFunctionCount(Index num_functions) override { 431 return Result::Ok; 432 } 433 Result OnLocalNameLocalCount(Index function_index, 434 Index num_locals) override { 435 return Result::Ok; 436 } 437 Result OnLocalName(Index function_index, 438 Index local_index, 439 std::string_view local_name) override { 440 return Result::Ok; 441 } 442 Result EndNamesSection() override { return Result::Ok; } 443 444 Result OnNameSubsection(Index index, 445 NameSectionSubsection subsection_type, 446 Offset subsection_size) override { 447 return Result::Ok; 448 } 449 Result OnNameCount(Index num_names) override { return Result::Ok; } 450 Result OnNameEntry(NameSectionSubsection type, 451 Index index, 452 std::string_view name) override { 453 return Result::Ok; 454 } 455 456 /* Reloc section */ 457 Result BeginRelocSection(Offset size) override { return Result::Ok; } 458 Result OnRelocCount(Index count, Index section_code) override { 459 return Result::Ok; 460 } 461 Result OnReloc(RelocType type, 462 Offset offset, 463 Index index, 464 uint32_t addend) override { 465 return Result::Ok; 466 } 467 Result EndRelocSection() override { return Result::Ok; } 468 469 /* Tag section */ 470 Result BeginTagSection(Offset size) override { return Result::Ok; } 471 Result OnTagCount(Index count) override { return Result::Ok; } 472 Result OnTagType(Index index, Index sig_index) override { return Result::Ok; } 473 Result EndTagSection() override { return Result::Ok; } 474 475 /* Code Metadata sections */ 476 Result BeginCodeMetadataSection(std::string_view name, Offset size) override { 477 return Result::Ok; 478 } 479 Result OnCodeMetadataFuncCount(Index count) override { return Result::Ok; } 480 Result OnCodeMetadataCount(Index function_index, Index count) override { 481 return Result::Ok; 482 } 483 Result OnCodeMetadata(Offset offset, 484 const void* data, 485 Address size) override { 486 return Result::Ok; 487 } 488 Result EndCodeMetadataSection() override { return Result::Ok; } 489 490 /* Dylink section */ 491 Result BeginDylinkSection(Offset size) override { return Result::Ok; } 492 Result OnDylinkInfo(uint32_t mem_size, 493 uint32_t mem_align, 494 uint32_t table_size, 495 uint32_t table_align) override { 496 return Result::Ok; 497 } 498 Result OnDylinkNeededCount(Index count) override { return Result::Ok; } 499 Result OnDylinkNeeded(std::string_view so_name) override { 500 return Result::Ok; 501 } 502 Result OnDylinkImportCount(Index count) override { return Result::Ok; } 503 Result OnDylinkExportCount(Index count) override { return Result::Ok; } 504 Result OnDylinkImport(std::string_view module, 505 std::string_view name, 506 uint32_t flags) override { 507 return Result::Ok; 508 } 509 Result OnDylinkExport(std::string_view name, uint32_t flags) override { 510 return Result::Ok; 511 } 512 Result EndDylinkSection() override { return Result::Ok; } 513 514 /* target_features section */ 515 Result BeginTargetFeaturesSection(Offset size) override { return Result::Ok; } 516 Result OnFeatureCount(Index count) override { return Result::Ok; } 517 Result OnFeature(uint8_t prefix, std::string_view name) override { 518 return Result::Ok; 519 } 520 Result EndTargetFeaturesSection() override { return Result::Ok; } 521 522 /* Generic custom section */ 523 Result BeginGenericCustomSection(Offset size) override { return Result::Ok; } 524 Result OnGenericCustomSection(std::string_view name, 525 const void* data, 526 Offset size) override { 527 return Result::Ok; 528 }; 529 Result EndGenericCustomSection() override { return Result::Ok; } 530 531 /* Linking section */ 532 Result BeginLinkingSection(Offset size) override { return Result::Ok; } 533 Result OnSymbolCount(Index count) override { return Result::Ok; } 534 Result OnDataSymbol(Index index, 535 uint32_t flags, 536 std::string_view name, 537 Index segment, 538 uint32_t offset, 539 uint32_t size) override { 540 return Result::Ok; 541 } 542 Result OnFunctionSymbol(Index index, 543 uint32_t flags, 544 std::string_view name, 545 Index func_index) override { 546 return Result::Ok; 547 } 548 Result OnGlobalSymbol(Index index, 549 uint32_t flags, 550 std::string_view name, 551 Index global_index) override { 552 return Result::Ok; 553 } 554 Result OnSectionSymbol(Index index, 555 uint32_t flags, 556 Index section_index) override { 557 return Result::Ok; 558 } 559 Result OnTagSymbol(Index index, 560 uint32_t flags, 561 std::string_view name, 562 Index tag_index) override { 563 return Result::Ok; 564 } 565 Result OnTableSymbol(Index index, 566 uint32_t flags, 567 std::string_view name, 568 Index table_index) override { 569 return Result::Ok; 570 } 571 Result OnSegmentInfoCount(Index count) override { return Result::Ok; } 572 Result OnSegmentInfo(Index index, 573 std::string_view name, 574 Address alignment, 575 uint32_t flags) override { 576 return Result::Ok; 577 } 578 Result OnInitFunctionCount(Index count) override { return Result::Ok; } 579 Result OnInitFunction(uint32_t priority, Index symbol_index) override { 580 return Result::Ok; 581 } 582 Result OnComdatCount(Index count) override { return Result::Ok; } 583 Result OnComdatBegin(std::string_view name, 584 uint32_t flags, 585 Index count) override { 586 return Result::Ok; 587 } 588 Result OnComdatEntry(ComdatType kind, Index index) override { 589 return Result::Ok; 590 } 591 Result EndLinkingSection() override { return Result::Ok; } 592 }; 593 594 } // namespace wabt 595 596 #endif /* WABT_BINARY_READER_H_ */