Trait EcmascriptAnalyzable

Source
pub trait EcmascriptAnalyzable:
    Module
    + Asset
    + Send
    + Sync
    + NonLocalValue
    + ValueDebug {
    // Required methods
    fn analyze(self: Vc<Self>) -> Vc<AnalyzeEcmascriptModuleResult>
       where Self: Sized;
    fn module_content_without_analysis(
        self: Vc<Self>,
        generate_source_map: bool,
    ) -> Vc<EcmascriptModuleContent>
       where Self: Sized;
    fn module_content_options(
        self: Vc<Self>,
        chunking_context: Vc<Box<dyn ChunkingContext>>,
        async_module_info: Option<Vc<AsyncModuleInfo>>,
    ) -> Vc<EcmascriptModuleContentOptions>
       where Self: Sized;

    // Provided method
    fn module_content(
        self: Vc<Self>,
        chunking_context: Vc<Box<dyn ChunkingContext>>,
        async_module_info: Option<Vc<AsyncModuleInfo>>,
    ) -> Vc<EcmascriptModuleContent>
       where Self: Sized { ... }
}

Required Methods§

Source

fn analyze(self: Vc<Self>) -> Vc<AnalyzeEcmascriptModuleResult>
where Self: Sized,

Source

fn module_content_without_analysis( self: Vc<Self>, generate_source_map: bool, ) -> Vc<EcmascriptModuleContent>
where Self: Sized,

Generates module contents without an analysis pass. This is useful for transforming code that is not a module, e.g. runtime code.

Source

fn module_content_options( self: Vc<Self>, chunking_context: Vc<Box<dyn ChunkingContext>>, async_module_info: Option<Vc<AsyncModuleInfo>>, ) -> Vc<EcmascriptModuleContentOptions>
where Self: Sized,

Provided Methods§

Source

fn module_content( self: Vc<Self>, chunking_context: Vc<Box<dyn ChunkingContext>>, async_module_info: Option<Vc<AsyncModuleInfo>>, ) -> Vc<EcmascriptModuleContent>
where Self: Sized,

Trait Implementations§

Source§

impl VcValueTrait for Box<dyn EcmascriptAnalyzable>

Source§

type ValueTrait = dyn EcmascriptAnalyzable

Source§

fn get_trait_type_id() -> TraitTypeId

Returns the type id of the trait object.
Source§

fn get_impl_vtables() -> &'static VTableRegistry<Self::ValueTrait>

Returns the vtable for an implementation of this trait. Panics if ValueTypeId does not implement the trait.
Source§

impl Dynamic<Box<dyn Asset>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Dynamic<Box<dyn EcmascriptAnalyzable>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Dynamic<Box<dyn Module>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Dynamic<Box<dyn ValueDebug>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Upcast<Box<dyn Asset>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Upcast<Box<dyn EcmascriptAnalyzable>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Upcast<Box<dyn Module>> for Box<dyn EcmascriptAnalyzable>

Source§

impl Upcast<Box<dyn ValueDebug>> for Box<dyn EcmascriptAnalyzable>

Implementors§