1#![deny(missing_docs, trivial_numeric_casts, unused_extern_crates)]
9#![warn(unused_import_braces)]
10#![deny(unstable_features)]
11#![allow(clippy::new_without_default)]
12#![warn(
13 clippy::float_arithmetic,
14 clippy::mut_mut,
15 clippy::nonminimal_bool,
16 clippy::map_unwrap_or,
17 clippy::print_stdout,
18 clippy::unicode_not_nfc,
19 clippy::use_self
20)]
21
22mod lib {
23 pub mod std {
24 pub use std::{borrow, boxed, fmt, str, string, sync, vec};
25 }
26}
27
28mod address_map;
29mod compiler;
30mod error;
31mod function;
32mod jump_table;
33mod module;
34mod relocation;
35mod target;
36mod trap;
37#[macro_use]
38mod translator;
39mod section;
40mod sourceloc;
41
42pub use crate::address_map::{FunctionAddressMap, InstructionAddressMap};
43pub use crate::compiler::{Compiler, CompilerConfig, Symbol, SymbolRegistry};
44pub use crate::error::{
45 CompileError, MiddlewareError, ParseCpuFeatureError, WasmError, WasmResult,
46};
47pub use crate::function::{
48 Compilation, CompiledFunction, CompiledFunctionFrameInfo, CustomSections, Dwarf, FunctionBody,
49 FunctionBodyRef, Functions, TrampolinesSection,
50};
51pub use crate::jump_table::{JumpTable, JumpTableOffsets};
52pub use crate::module::CompileModuleInfo;
53pub use crate::relocation::{Relocation, RelocationKind, RelocationTarget, Relocations};
54pub use crate::section::{
55 CustomSection, CustomSectionProtection, CustomSectionRef, SectionBody, SectionIndex,
56};
57pub use crate::sourceloc::SourceLoc;
58pub use crate::target::{
59 Architecture, BinaryFormat, CallingConvention, CpuFeature, Endianness, OperatingSystem,
60 PointerWidth, Target, Triple,
61};
62pub use crate::translator::{
63 translate_module, wptype_to_type, FunctionBodyData, FunctionReader, ModuleEnvironment,
64 ModuleTranslationState,
65};
66pub use crate::trap::TrapInformation;
67pub use unc_vm_types::Features;
68
69pub use wasmparser;
71
72pub type CodeOffset = u32;
74
75pub type Addend = i64;
77
78pub const VERSION: &str = env!("CARGO_PKG_VERSION");