[−][src]Struct c2rust_refactor::transform::rewrite::RewriteExpr
rewrite_expr Command
Usage: rewrite_expr PAT REPL [FILTER]
Marks: reads FILTER, if set; may read other marks depending on PAT
For every expression in the crate matching PAT, replace it with REPL.
PAT and REPL are both Rust expressions. PAT can use placeholders to
capture nodes from the matched AST, and REPL can refer to those same
placeholders to substitute in the captured nodes. See the matcher module for
details on AST pattern matching.
If FILTER is provided, only expressions marked FILTER will be rewritten.
This usage is obsolete - change PAT to marked!(PAT, FILTER) to get the same
behavior.
Example:
fn double(x: i32) -> i32 { x * 2 }
After running rewrite_expr '$e * 2' '$e + $e':
fn double(x: i32) -> i32 { x + x }
Here $e * 2 matches x * 2, capturing x as $e. Then x is
substituted for $e in $e + $e, producing the final expression x + x.
Fields
pat: Stringrepl: Stringfilter: Option<Symbol>Trait Implementations
impl Transform for RewriteExpr[src]
fn transform(&self, krate: &mut Crate, st: &CommandState, cx: &RefactorCtxt)[src]
fn min_phase(&self) -> Phase[src]
Auto Trait Implementations
impl !Send for RewriteExpr
impl !Sync for RewriteExpr
Blanket Implementations
impl<T> Lone for T[src]
impl<T> From for T[src]
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T> Borrow for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<E> SpecializationError for E[src]
default fn not_found<S, T>(
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized, [src]
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
impl<T> Erased for T[src]
impl<T> Send for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Sync for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Same for T
type Output = T
Should always be Self
impl<T> MaybeResult for T[src]
impl<'a, T> Captures for T where
T: ?Sized, [src]
T: ?Sized,