Enum PatternItem

Source
pub enum PatternItem {
Show 46 variants Root, Recv, Lhs, Rhs, Value, MethodCall, Body, Args, Expr, ElseBody, Scope, Name, Superclass, Const, Definee, Iterator, Iteratee, Pattern, Left, Right, IfTrue, IfFalse, Cond, DefaultValue, Ensure, Guard, As, Re, Key, ExcList, ExcVar, Var, Options, To, From, MlhsItems, Arglist, Elements, Stmts, WhenBodies, InBodies, Parts, Indexes, Pairs, RescueBodies, Idx(usize),
}
Expand description

Enum of all types of parent->child transitions during traversing

Variants§

§

Root

Root transition

§

Recv

Transition into .recv from:

  • Send
  • CSend
  • Index
  • IndexAsgn
  • OpAsgn
  • OrAsgn
  • AndAsgn
§

Lhs

Transition into .lhs from:

  • And
  • Masgn
  • MatchAlt
  • Or
§

Rhs

Transition into .rhs from:

  • And
  • Masgn
  • MatchAlt
  • Or
§

Value

Transition into .value from:

  • AndAsgn
  • BlockPass
  • Casgn
  • Cvasgn
  • Defined
  • Gvasgn
  • MatchPattern
  • MatchPattern
  • IndexAsgn
  • Ivasgn
  • Kwsplat
  • Lvasgn
  • MatchAs
  • MatchWithLvasgn
  • OpAsgn
  • OrAsgn
  • Pair
  • Splat
§

MethodCall

Transitions into .call from:

  • Block
  • Numblock
§

Body

Transitions into .body from:

  • Block
  • Class
  • Def
  • Defs
  • Ensure
  • For
  • InPattern
  • Module
  • Numblock
  • Postexe
  • Preexe
  • Rescue
  • RescueBody
  • Sclass
  • Until
  • UntilPost
  • When
  • While
  • WhilePost
§

Args

Transitions into .args from:

  • Block
  • Break
  • Csend
  • Def
  • Defs
  • Next
  • Return
  • Send
  • Super
  • Undef
  • When
  • Yield
§

Expr

Transitions into .expr from:

  • Case
  • CaseMatch
  • Sclass
§

ElseBody

Transitions into .else_body from:

  • Case
  • CaseMatch
  • Rescue
§

Scope

Transitions into .scope from:

  • Casgn
  • Const
§

Name

Transitions into .name from:

  • Class
  • MatchRest
  • Module
§

Superclass

Transitions into .superclass from:

  • Class
§

Const

Transitions into .const from:

  • ConstPattern
§

Definee

Transitions into .definee from:

  • Defs
§

Iterator

Transitions into .iterator from:

  • For
§

Iteratee

Transitions into .iteratee from:

  • For
§

Pattern

Transitions into .pattern from:

  • ConstPattern
  • MatchPattern
  • MatchPatternP
  • InPattern
§

Left

Transitions into .left from:

  • EFlipFlop
  • Erange
  • IFlipFlop
  • Irange
§

Right

Transitions into .right from:

  • EFlipFlop
  • Erange
  • IFlipFlop
  • Irange
§

IfTrue

Transitions into .if_true from:

  • If
  • IfMod
  • IfTernary
§

IfFalse

Transitions into .if_false from:

  • If
  • IfMod
  • IfTernary
§

Cond

Transitions into .cond from:

  • If
  • IfGuard
  • IfMod
  • IfTernary
  • UnlessGuard
  • Until
  • UntilPost
  • While
  • WhilePost
§

DefaultValue

Transitions into .default from:

  • Kwoptarg
  • Optarg
§

Ensure

Transitions into .ensure from:

  • Ensure
§

Guard

Transitions into .guard from:

  • InPattern
§

As

Transitions into .as from:

  • MatchAs
§

Re

Transitions into .re from:

  • MatchCurrentLine
  • MatchWithLvasgn
§

Key

Transitions into .key from:

  • Pair
§

ExcList

Transitions into .exc_list from:

  • RescueBody
§

ExcVar

Transitions into .exc_var from:

  • RescueBody
§

Var

Transitions into .var from:

  • Pin
§

Options

Transitions into .options from:

  • Regexp
§

To

Transitions into .to from:

  • Alias
§

From

Transitions into .from from:

  • Alias
§

MlhsItems

Transitions into .items from:

  • Mlhs
§

Arglist

Transitions into .args from:

  • Args
  • Procarg0
§

Elements

Transitions into .elements from:

  • Array
  • ArrayPattern
  • ArrayPatternWithTail
  • FindPattern
  • HashPattern
§

Stmts

Transitions into .statements from:

  • Begin
  • KwBegin
§

WhenBodies

Transitions into .when_bodies from:

  • Case
§

InBodies

Transitions into .in_bodies from:

  • CaseMatch
§

Parts

Transitions into .parts from:

  • Dstr
  • Dsym
  • Heredoc
  • Regexp
  • XHeredoc
  • Xstr
§

Indexes

Transitions into .indexes from:

  • Index
  • IndexAsgn
§

Pairs

Transitions into .pairs from:

  • Hash
  • Kwargs
§

RescueBodies

Transitions into .rescue_bodies from:

  • Rescue
§

Idx(usize)

Transitions into any element of `Vec

Implementations§

Source§

impl Item

Source

pub fn new(s: &str) -> Result<Item, PatternError>

Parses given string slice and constructs an Item (if possible)

Trait Implementations§

Source§

impl Clone for Item

Source§

fn clone(&self) -> Item

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Item

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Item

Source§

fn eq(&self, other: &Item) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Item

Source§

impl Eq for Item

Source§

impl StructuralPartialEq for Item

Auto Trait Implementations§

§

impl Freeze for Item

§

impl RefUnwindSafe for Item

§

impl Send for Item

§

impl Sync for Item

§

impl Unpin for Item

§

impl UnwindSafe for Item

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.