| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ |
| |
| #![cfg_attr(crown, feature(register_tool))] |
| // Register the linter `crown`, which is the Servo-specific linter for the script crate. |
| #![cfg_attr(crown, register_tool(crown))] |
| |
| #[macro_use] |
| extern crate js; |
| #[macro_use] |
| extern crate jstraceable_derive; |
| #[macro_use] |
| extern crate log; |
| #[macro_use] |
| extern crate malloc_size_of_derive; |
| |
| pub mod callback; |
| mod constant; |
| mod constructor; |
| pub mod conversions; |
| pub mod error; |
| mod finalize; |
| mod guard; |
| mod import; |
| pub mod inheritance; |
| pub mod interface; |
| pub mod interfaces; |
| pub mod iterable; |
| pub mod like; |
| mod lock; |
| mod mem; |
| mod namespace; |
| pub mod num; |
| pub mod principals; |
| pub mod proxyhandler; |
| pub mod realms; |
| pub mod record; |
| pub mod reflector; |
| pub mod root; |
| pub mod script_runtime; |
| pub mod settings_stack; |
| pub mod str; |
| pub mod structuredclone; |
| pub mod trace; |
| pub mod utils; |
| pub mod weakref; |
| |
| #[allow(non_snake_case, unsafe_op_in_unsafe_fn)] |
| pub mod codegen { |
| pub mod Globals { |
| include!(concat!(env!("OUT_DIR"), "/Globals.rs")); |
| } |
| #[allow(dead_code, unused_imports, clippy::enum_variant_names)] |
| pub mod InheritTypes { |
| include!(concat!(env!("OUT_DIR"), "/InheritTypes.rs")); |
| } |
| #[allow(clippy::upper_case_acronyms)] |
| pub mod PrototypeList { |
| include!(concat!(env!("OUT_DIR"), "/PrototypeList.rs")); |
| } |
| pub(crate) mod DomTypes { |
| include!(concat!(env!("OUT_DIR"), "/DomTypes.rs")); |
| } |
| #[allow( |
| dead_code, |
| clippy::extra_unused_type_parameters, |
| clippy::missing_safety_doc, |
| clippy::result_unit_err |
| )] |
| pub mod GenericBindings { |
| include!(concat!(env!("OUT_DIR"), "/Bindings/mod.rs")); |
| } |
| #[allow( |
| non_camel_case_types, |
| unused_imports, |
| unused_variables, |
| clippy::large_enum_variant, |
| clippy::upper_case_acronyms, |
| clippy::enum_variant_names |
| )] |
| pub mod GenericUnionTypes { |
| include!(concat!(env!("OUT_DIR"), "/GenericUnionTypes.rs")); |
| } |
| pub mod RegisterBindings { |
| include!(concat!(env!("OUT_DIR"), "/RegisterBindings.rs")); |
| } |
| } |
| |
| // These trait exports are public, because they are used in the DOM bindings. |
| // Since they are used in derive macros, |
| // it is useful that they are accessible at the root of the crate. |
| pub(crate) use js::gc::Traceable as JSTraceable; |
| |
| pub use crate::codegen::DomTypes::DomTypes; |
| pub(crate) use crate::reflector::{DomObject, MutDomObject, Reflector}; |
| pub(crate) use crate::trace::CustomTraceable; |