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
endin_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: LocLocation 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: LocLocation of the end keyword
case 1; in 2; end
~~~expression_l: LocLocation of the full expression
case 1; in 2; end
~~~~~~~~~~~~~~~~~Implementations
Returns in_bodies field
Returns else_body field
Returns keyword_l field
Returns else_l field
Returns expression_l field
Sets in_bodies field
Sets else_body field
Sets keyword_l field
Sets else_l field
Sets expression_l field
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for CaseMatch
impl UnwindSafe for CaseMatch
Blanket Implementations
Mutably borrows from an owned value. Read more