Skip to main content

Module converters

Module converters 

Source
Expand description

Individual MutationConverter implementations

Each module handles one or more MutationSpec variants.

§Implementation Status

§Phase 1: Basic Converters

  • rename.rs - RenameConverter
  • field.rs - FieldConverter (AddField, RemoveField)
  • visibility.rs - VisibilityConverter
  • derive.rs - DeriveConverter (AddDerive, RemoveDerive)

§Phase 2: Complex Converters

  • enum_.rs - EnumConverter (AddVariant, RemoveVariant)
  • remove.rs - RemoveConverter (RemoveItem)
  • method.rs - MethodConverter
  • module.rs - ModuleConverter (AddMod, RemoveMod, CreateMod)
  • add_item/ - AddItemConverter (with ItemParser sub-parsers)

§Phase 3: Remaining Converters

  • idiom.rs - IdiomConverter (OrganizeImports, LoopToIterator, etc.)
  • trait_.rs - TraitConverter (ExtractTrait, InlineTrait)
  • move_.rs - MoveConverter
  • plugin.rs - PluginConverter (WASM skeleton)
  • stmt.rs - StmtConverter (ReplaceExpr, RemoveStatement, InsertStatement, ReplaceStatement)
  • match_arm.rs - MatchArmConverter (AddMatchArm)
  • struct_literal_field.rs - StructLiteralFieldConverter (AddStructLiteralField)
  • duplicate.rs - DuplicateConverter (DuplicateFunction, DuplicateStruct, DuplicateEnum, DuplicateModTree)

Re-exports§

pub use add_item::AddItemConverter;
pub use derive::DeriveConverter;
pub use duplicate::DuplicateConverter;
pub use enum_::EnumConverter;
pub use field::FieldConverter;
pub use idiom::IdiomConverter;
pub use match_arm::MatchArmConverter;
pub use method::MethodConverter;
pub use module::ModuleConverter;
pub use move_::MoveConverter;
pub use plugin::PluginConverter;
pub use remove::RemoveConverter;
pub use rename::RenameConverter;
pub use stmt::StmtConverter;
pub use struct_literal_field::StructLiteralFieldConverter;
pub use trait_::TraitConverter;
pub use visibility::VisibilityConverter;

Modules§

add_item
AddItemConverter: Converts AddItem MutationSpec to appropriate Mutations
derive
DeriveConverter: Converts MutationSpec::AddDerive and RemoveDerive
duplicate
DuplicateConverter: Converts Duplicate MutationSpecs to AddPureItemsMutation
enum_
EnumConverter: Converts MutationSpec::AddVariant and RemoveVariant
field
FieldConverter: Converts MutationSpec::AddField and RemoveField
idiom
IdiomConverter: Converts idiom transformation MutationSpecs to Mutations
match_arm
MatchArmConverter: Converts MutationSpec::AddMatchArm, RemoveMatchArm, and ReplaceMatchArm
method
MethodConverter: Converts MutationSpec::AddMethod and RemoveMethod
module
ModuleConverter: Converts MutationSpec::RemoveMod, CreateMod
move_
MoveConverter: Converts MoveItem MutationSpec to MoveItemMutation
plugin
PluginConverter: Converts PluginTransform MutationSpec to WASM plugin execution
remove
RemoveConverter: Converts MutationSpec::RemoveItem
rename
RenameConverter: Converts MutationSpec::Rename to RenameMutation
stmt
StmtConverter: Converts statement-level MutationSpec variants to Mutations
struct_literal_field
StructLiteralFieldConverter: Converts MutationSpec::AddStructLiteralField and RemoveStructLiteralField
trait_
TraitConverter: Converts trait abstraction MutationSpecs to Mutations
visibility
VisibilityConverter: Converts MutationSpec::ChangeVisibility

Traits§

ResolveTargetSymbol
Trait for resolving MutationTargetSymbol to SymbolId.