Struct erg_parser::ast::Args
source · pub struct Args {
pub paren: Option<(Token, Token)>,
/* private fields */
}
Fields§
§paren: Option<(Token, Token)>
Implementations§
source§impl Args
impl Args
pub fn new( pos_args: Vec<PosArg>, var_args: Option<PosArg>, kw_args: Vec<KwArg>, paren: Option<(Token, Token)> ) -> Self
pub fn pos_only(pos_arg: Vec<PosArg>, paren: Option<(Token, Token)>) -> Self
pub fn single(pos_args: PosArg) -> Self
pub fn empty() -> Self
pub fn deconstruct( self ) -> (Vec<PosArg>, Option<PosArg>, Vec<KwArg>, Option<(Token, Token)>)
pub fn is_empty(&self) -> bool
pub fn len(&self) -> usize
pub fn kw_is_empty(&self) -> bool
pub fn pos_args(&self) -> &[PosArg]
pub fn kw_args(&self) -> &[KwArg]
pub fn has_pos_arg(&self, pa: &PosArg) -> bool
pub fn into_iters( self ) -> (impl IntoIterator<Item = PosArg>, impl IntoIterator<Item = KwArg>)
pub fn push_pos(&mut self, arg: PosArg)
pub fn extend_pos<I>(&mut self, iter: I)where I: IntoIterator<Item = PosArg>,
pub fn remove_pos(&mut self, index: usize) -> PosArg
pub fn insert_pos(&mut self, index: usize, arg: PosArg)
pub fn set_var_args(&mut self, arg: PosArg)
pub fn push_kw(&mut self, arg: KwArg)
pub fn set_parens(&mut self, paren: (Token, Token))
pub fn get_left_or_key(&self, key: &str) -> Option<&Expr>
Trait Implementations§
source§impl Locational for Args
impl Locational for Args
source§fn loc(&self) -> Location
fn loc(&self) -> Location
NOTE:
loc
cannot be treated as a light method when self
is a large grammatical element.
If possible, delay the computation by passing &impl Locational
or other means.