pub enum PostfixOp {
Simple {
pattern: Box<Combinator>,
precedence: u8,
mapping: String,
},
Call {
open: Box<Combinator>,
close: Box<Combinator>,
separator: Box<Combinator>,
arg_rule: Option<String>,
precedence: u8,
mapping: String,
},
Index {
open: Box<Combinator>,
close: Box<Combinator>,
precedence: u8,
mapping: String,
},
Member {
pattern: Box<Combinator>,
precedence: u8,
mapping: String,
},
Rule {
rule_name: String,
precedence: u8,
mapping: String,
},
}Expand description
Postfix operator definition
Variants§
Simple
Simple postfix (++, –)
Fields
§
pattern: Box<Combinator>The operator pattern (e.g., Literal(“++”))
Call
Call expression: callee(args)
Fields
§
open: Box<Combinator>Open delimiter (e.g., Literal(“(”))
§
close: Box<Combinator>Close delimiter (e.g., Literal(“)”))
§
separator: Box<Combinator>Argument separator (e.g., Literal(“,”))
Index
Index expression: obj[index]
Fields
§
open: Box<Combinator>Open delimiter (e.g., Literal(“[”))
§
close: Box<Combinator>Close delimiter (e.g., Literal(“]”))
Member
Member access: obj.prop
Fields
§
pattern: Box<Combinator>The dot/accessor pattern (e.g., Literal(“.”), Literal(“?.”))
Rule
Rule-based postfix: parses another rule as the suffix
Used for tagged template literals: tagtemplate
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PostfixOp
impl RefUnwindSafe for PostfixOp
impl Send for PostfixOp
impl Sync for PostfixOp
impl Unpin for PostfixOp
impl UnsafeUnpin for PostfixOp
impl UnwindSafe for PostfixOp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more