Skip to main content

TransformPass

Trait TransformPass 

Source
pub trait TransformPass: Sync {
    // Required method
    fn transform_ctx(&self, ctx: &mut TransformCtx);

    // Provided methods
    fn should_run(&self, _options: &TranslateOptions) -> bool { ... }
    fn name(&self) -> &str { ... }
}
Expand description

A pass that transforms the crate data.

Required Methods§

Source

fn transform_ctx(&self, ctx: &mut TransformCtx)

Provided Methods§

Source

fn should_run(&self, _options: &TranslateOptions) -> bool

Whether the pass should run.

Source

fn name(&self) -> &str

The name of the pass, used for debug logging. The default implementation uses the type name.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl TransformPass for charon_lib::transform::typecheck_and_unify::Check

Source§

impl TransformPass for charon_lib::transform::simplify_output::unbind_item_vars::Check

Source§

impl TransformPass for PrintCtxPass

Source§

impl TransformPass for charon_lib::transform::finish_translation::filter_invisible_trait_impls::Transform

Source§

impl TransformPass for charon_lib::transform::add_missing_info::add_missing_alias_clauses::Transform

Source§

impl TransformPass for charon_lib::transform::add_missing_info::compute_short_names::Transform

Source§

impl TransformPass for charon_lib::transform::add_missing_info::recover_body_comments::Transform

Source§

impl TransformPass for charon_lib::transform::add_missing_info::reorder_decls::Transform

Source§

impl TransformPass for charon_lib::transform::normalize::expand_associated_types::Transform

Source§

impl TransformPass for charon_lib::transform::normalize::partial_monomorphization::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::duplicate_defaulted_methods::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::hide_allocator_param::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::lift_associated_item_clauses::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::remove_adt_clauses::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::remove_nops::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::remove_unused_locals::Transform

Source§

impl TransformPass for charon_lib::transform::simplify_output::remove_unused_self_clause::Transform

Source§

impl TransformPass for charon_lib::transform::control_flow::ullbc_to_llbc::Transform