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