Struct lib_ruby_parser::nodes::CaseMatch [−][src]
#[repr(C)]pub struct CaseMatch { pub expr: Box<Node>, pub in_bodies: Vec<Node>, pub else_body: Option<Box<Node>>, pub keyword_l: Loc, pub else_l: Option<Loc>, pub end_l: Loc, pub expression_l: Loc, }
Expand description
Represents a case
statement used for pattern matching (for regular case
see Case
node)
Fields
expr: Box<Node>
Expression given to case
, Int("1")
for case 1; in 1; end
None
for code like
case
in pattern
end
in_bodies: Vec<Node>
A list of InPattern
nodes (each has pattern
, guard
and body
)
else_body: Option<Box<Node>>
Body of the else
branch, None
if there’s no else
branch
keyword_l: Loc
Location of the case
keyword
case 1; in 2; end
~~~~
else_l: Option<Loc>
Location of the else
keyword
case 1; in 2; else; end
~~~~
None
if there’s no else
branch
end_l: Loc
Location of the end
keyword
case 1; in 2; end
~~~
expression_l: Loc
Location of the full expression
case 1; in 2; end
~~~~~~~~~~~~~~~~~
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for CaseMatch
impl UnwindSafe for CaseMatch
Blanket Implementations
Mutably borrows from an owned value. Read more