1 /* Copyright 2018 Mozilla Foundation 2 * 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 use super::{ 17 BinaryReader, BinaryReaderError, CustomSectionKind, ExternalKind, FuncType, GlobalType, 18 ImportSectionEntryType, LinkingType, MemoryType, NameType, Naming, Operator, Range, RelocType, 19 Result, SectionCode, TableType, Type, 20 }; 21 22 use super::SectionHeader; 23 24 pub use self::code_section::CodeSectionReader; 25 pub use self::code_section::FunctionBody; 26 pub use self::code_section::LocalsReader; 27 use self::data_count_section::read_data_count_section_content; 28 pub use self::data_section::Data; 29 pub use self::data_section::DataKind; 30 pub use self::data_section::DataSectionReader; 31 pub use self::element_section::Element; 32 pub use self::element_section::ElementItem; 33 pub use self::element_section::ElementItems; 34 pub use self::element_section::ElementItemsReader; 35 pub use self::element_section::ElementKind; 36 pub use self::element_section::ElementSectionReader; 37 pub use self::export_section::Export; 38 pub use self::export_section::ExportSectionReader; 39 pub use self::function_section::FunctionSectionReader; 40 pub use self::global_section::Global; 41 pub use self::global_section::GlobalSectionReader; 42 pub use self::import_section::Import; 43 pub use self::import_section::ImportSectionReader; 44 pub use self::init_expr::InitExpr; 45 pub use self::memory_section::MemorySectionReader; 46 pub use self::module::CustomSectionContent; 47 pub use self::module::ModuleReader; 48 pub use self::module::Section; 49 pub use self::module::SectionContent; 50 use self::start_section::read_start_section_content; 51 pub use self::table_section::TableSectionReader; 52 pub use self::type_section::TypeSectionReader; 53 54 pub use self::section_reader::SectionIterator; 55 pub use self::section_reader::SectionIteratorLimited; 56 pub use self::section_reader::SectionReader; 57 pub use self::section_reader::SectionWithLimitedItems; 58 59 pub use self::name_section::FunctionName; 60 pub use self::name_section::LocalName; 61 pub use self::name_section::ModuleName; 62 pub use self::name_section::Name; 63 pub use self::name_section::NameSectionReader; 64 pub use self::name_section::NamingReader; 65 66 pub use self::producers_section::ProducersField; 67 pub use self::producers_section::ProducersFieldValue; 68 pub use self::producers_section::ProducersFieldValuesReader; 69 pub use self::producers_section::ProducersSectionReader; 70 71 pub use self::linking_section::LinkingSectionReader; 72 73 pub use self::reloc_section::Reloc; 74 pub use self::reloc_section::RelocSectionReader; 75 76 use self::sourcemappingurl_section::read_sourcemappingurl_section_content; 77 78 pub use self::operators::OperatorsReader; 79 80 mod code_section; 81 mod data_count_section; 82 mod data_section; 83 mod element_section; 84 mod export_section; 85 mod function_section; 86 mod global_section; 87 mod import_section; 88 mod init_expr; 89 mod linking_section; 90 mod memory_section; 91 mod module; 92 mod name_section; 93 mod operators; 94 mod producers_section; 95 mod reloc_section; 96 mod section_reader; 97 mod sourcemappingurl_section; 98 mod start_section; 99 mod table_section; 100 mod type_section; 101