Struct wasm_bindgen_backend::ast::Program
source · pub struct Program {
pub exports: Vec<Export>,
pub imports: Vec<Import>,
pub enums: Vec<Enum>,
pub structs: Vec<Struct>,
pub consts: Vec<Const>,
pub dictionaries: Vec<Dictionary>,
pub typescript_custom_sections: Vec<String>,
}
Expand description
An abstract syntax tree representing a rust program. Contains extra information for joining up this rust code with javascript.
Fields
exports: Vec<Export>
rust -> js interfaces
imports: Vec<Import>
js -> rust interfaces
enums: Vec<Enum>
rust enums
structs: Vec<Struct>
rust structs
consts: Vec<Const>
rust consts
dictionaries: Vec<Dictionary>
“dictionaries”, generated for WebIDL, which are basically just “typed objects” in the sense that they represent a JS object with a particular shape in JIT parlance.
typescript_custom_sections: Vec<String>
custom typescript sections to be included in the definition file
Trait Implementations
sourceimpl ImportedTypes for Program
impl ImportedTypes for Program
fn imported_types<F>(&self, f: &mut F)where
F: FnMut(&Ident, ImportedTypeKind),
sourceimpl RemoveUndefinedImports for Program
impl RemoveUndefinedImports for Program
sourceimpl TryToTokens for Program
impl TryToTokens for Program
fn try_to_tokens(&self, tokens: &mut TokenStream) -> Result<(), Diagnostic>
fn try_to_token_stream(&self) -> Result<TokenStream, Diagnostic>
Auto Trait Implementations
impl RefUnwindSafe for Program
impl !Send for Program
impl !Sync for Program
impl Unpin for Program
impl UnwindSafe for Program
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more