pub enum ExprKind {
Show 15 variants
Ident(Ident),
Literal(Literal),
Pipeline(Pipeline),
Tuple(Vec<Expr>),
Array(Vec<Expr>),
Range(Range),
Binary(BinaryExpr),
Unary(UnaryExpr),
FuncCall(FuncCall),
Func(Box<Func>),
SString(Vec<InterpolateItem>),
FString(Vec<InterpolateItem>),
Case(Vec<SwitchCase>),
Param(String),
Internal(String),
}
Variants§
Ident(Ident)
Literal(Literal)
Pipeline(Pipeline)
Tuple(Vec<Expr>)
Array(Vec<Expr>)
Range(Range)
Binary(BinaryExpr)
Unary(UnaryExpr)
FuncCall(FuncCall)
Func(Box<Func>)
SString(Vec<InterpolateItem>)
FString(Vec<InterpolateItem>)
Case(Vec<SwitchCase>)
Param(String)
placeholder for values provided after query is compiled
Internal(String)
When used instead of function body, the function will be translated to a RQ operator. Contains ident of the RQ operator.
Implementations§
source§impl ExprKind
impl ExprKind
sourcepub fn as_ident_mut(&mut self) -> Option<&mut Ident>
pub fn as_ident_mut(&mut self) -> Option<&mut Ident>
Optionally returns mutable references to the inner fields if this is a ExprKind::Ident
, otherwise None
sourcepub fn as_ident(&self) -> Option<&Ident>
pub fn as_ident(&self) -> Option<&Ident>
Optionally returns references to the inner fields if this is a ExprKind::Ident
, otherwise None
sourcepub fn into_ident(self) -> Result<Ident, Self>
pub fn into_ident(self) -> Result<Ident, Self>
Returns the inner fields if this is a ExprKind::Ident
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_literal(&self) -> bool
pub fn is_literal(&self) -> bool
Returns true if this is a ExprKind::Literal
, otherwise false
sourcepub fn as_literal_mut(&mut self) -> Option<&mut Literal>
pub fn as_literal_mut(&mut self) -> Option<&mut Literal>
Optionally returns mutable references to the inner fields if this is a ExprKind::Literal
, otherwise None
sourcepub fn as_literal(&self) -> Option<&Literal>
pub fn as_literal(&self) -> Option<&Literal>
Optionally returns references to the inner fields if this is a ExprKind::Literal
, otherwise None
sourcepub fn into_literal(self) -> Result<Literal, Self>
pub fn into_literal(self) -> Result<Literal, Self>
Returns the inner fields if this is a ExprKind::Literal
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_pipeline(&self) -> bool
pub fn is_pipeline(&self) -> bool
Returns true if this is a ExprKind::Pipeline
, otherwise false
sourcepub fn as_pipeline_mut(&mut self) -> Option<&mut Pipeline>
pub fn as_pipeline_mut(&mut self) -> Option<&mut Pipeline>
Optionally returns mutable references to the inner fields if this is a ExprKind::Pipeline
, otherwise None
sourcepub fn as_pipeline(&self) -> Option<&Pipeline>
pub fn as_pipeline(&self) -> Option<&Pipeline>
Optionally returns references to the inner fields if this is a ExprKind::Pipeline
, otherwise None
sourcepub fn into_pipeline(self) -> Result<Pipeline, Self>
pub fn into_pipeline(self) -> Result<Pipeline, Self>
Returns the inner fields if this is a ExprKind::Pipeline
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_tuple_mut(&mut self) -> Option<&mut Vec<Expr>>
pub fn as_tuple_mut(&mut self) -> Option<&mut Vec<Expr>>
Optionally returns mutable references to the inner fields if this is a ExprKind::Tuple
, otherwise None
sourcepub fn as_tuple(&self) -> Option<&Vec<Expr>>
pub fn as_tuple(&self) -> Option<&Vec<Expr>>
Optionally returns references to the inner fields if this is a ExprKind::Tuple
, otherwise None
sourcepub fn into_tuple(self) -> Result<Vec<Expr>, Self>
pub fn into_tuple(self) -> Result<Vec<Expr>, Self>
Returns the inner fields if this is a ExprKind::Tuple
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_array_mut(&mut self) -> Option<&mut Vec<Expr>>
pub fn as_array_mut(&mut self) -> Option<&mut Vec<Expr>>
Optionally returns mutable references to the inner fields if this is a ExprKind::Array
, otherwise None
sourcepub fn as_array(&self) -> Option<&Vec<Expr>>
pub fn as_array(&self) -> Option<&Vec<Expr>>
Optionally returns references to the inner fields if this is a ExprKind::Array
, otherwise None
sourcepub fn into_array(self) -> Result<Vec<Expr>, Self>
pub fn into_array(self) -> Result<Vec<Expr>, Self>
Returns the inner fields if this is a ExprKind::Array
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_range_mut(&mut self) -> Option<&mut Range>
pub fn as_range_mut(&mut self) -> Option<&mut Range>
Optionally returns mutable references to the inner fields if this is a ExprKind::Range
, otherwise None
sourcepub fn as_range(&self) -> Option<&Range>
pub fn as_range(&self) -> Option<&Range>
Optionally returns references to the inner fields if this is a ExprKind::Range
, otherwise None
sourcepub fn into_range(self) -> Result<Range, Self>
pub fn into_range(self) -> Result<Range, Self>
Returns the inner fields if this is a ExprKind::Range
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_binary_mut(&mut self) -> Option<&mut BinaryExpr>
pub fn as_binary_mut(&mut self) -> Option<&mut BinaryExpr>
Optionally returns mutable references to the inner fields if this is a ExprKind::Binary
, otherwise None
sourcepub fn as_binary(&self) -> Option<&BinaryExpr>
pub fn as_binary(&self) -> Option<&BinaryExpr>
Optionally returns references to the inner fields if this is a ExprKind::Binary
, otherwise None
sourcepub fn into_binary(self) -> Result<BinaryExpr, Self>
pub fn into_binary(self) -> Result<BinaryExpr, Self>
Returns the inner fields if this is a ExprKind::Binary
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_unary_mut(&mut self) -> Option<&mut UnaryExpr>
pub fn as_unary_mut(&mut self) -> Option<&mut UnaryExpr>
Optionally returns mutable references to the inner fields if this is a ExprKind::Unary
, otherwise None
sourcepub fn as_unary(&self) -> Option<&UnaryExpr>
pub fn as_unary(&self) -> Option<&UnaryExpr>
Optionally returns references to the inner fields if this is a ExprKind::Unary
, otherwise None
sourcepub fn into_unary(self) -> Result<UnaryExpr, Self>
pub fn into_unary(self) -> Result<UnaryExpr, Self>
Returns the inner fields if this is a ExprKind::Unary
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_func_call(&self) -> bool
pub fn is_func_call(&self) -> bool
Returns true if this is a ExprKind::FuncCall
, otherwise false
sourcepub fn as_func_call_mut(&mut self) -> Option<&mut FuncCall>
pub fn as_func_call_mut(&mut self) -> Option<&mut FuncCall>
Optionally returns mutable references to the inner fields if this is a ExprKind::FuncCall
, otherwise None
sourcepub fn as_func_call(&self) -> Option<&FuncCall>
pub fn as_func_call(&self) -> Option<&FuncCall>
Optionally returns references to the inner fields if this is a ExprKind::FuncCall
, otherwise None
sourcepub fn into_func_call(self) -> Result<FuncCall, Self>
pub fn into_func_call(self) -> Result<FuncCall, Self>
Returns the inner fields if this is a ExprKind::FuncCall
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_func_mut(&mut self) -> Option<&mut Box<Func>>
pub fn as_func_mut(&mut self) -> Option<&mut Box<Func>>
Optionally returns mutable references to the inner fields if this is a ExprKind::Func
, otherwise None
sourcepub fn as_func(&self) -> Option<&Box<Func>>
pub fn as_func(&self) -> Option<&Box<Func>>
Optionally returns references to the inner fields if this is a ExprKind::Func
, otherwise None
sourcepub fn into_func(self) -> Result<Box<Func>, Self>
pub fn into_func(self) -> Result<Box<Func>, Self>
Returns the inner fields if this is a ExprKind::Func
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_s_string(&self) -> bool
pub fn is_s_string(&self) -> bool
Returns true if this is a ExprKind::SString
, otherwise false
sourcepub fn as_s_string_mut(&mut self) -> Option<&mut Vec<InterpolateItem>>
pub fn as_s_string_mut(&mut self) -> Option<&mut Vec<InterpolateItem>>
Optionally returns mutable references to the inner fields if this is a ExprKind::SString
, otherwise None
sourcepub fn as_s_string(&self) -> Option<&Vec<InterpolateItem>>
pub fn as_s_string(&self) -> Option<&Vec<InterpolateItem>>
Optionally returns references to the inner fields if this is a ExprKind::SString
, otherwise None
sourcepub fn into_s_string(self) -> Result<Vec<InterpolateItem>, Self>
pub fn into_s_string(self) -> Result<Vec<InterpolateItem>, Self>
Returns the inner fields if this is a ExprKind::SString
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_f_string(&self) -> bool
pub fn is_f_string(&self) -> bool
Returns true if this is a ExprKind::FString
, otherwise false
sourcepub fn as_f_string_mut(&mut self) -> Option<&mut Vec<InterpolateItem>>
pub fn as_f_string_mut(&mut self) -> Option<&mut Vec<InterpolateItem>>
Optionally returns mutable references to the inner fields if this is a ExprKind::FString
, otherwise None
sourcepub fn as_f_string(&self) -> Option<&Vec<InterpolateItem>>
pub fn as_f_string(&self) -> Option<&Vec<InterpolateItem>>
Optionally returns references to the inner fields if this is a ExprKind::FString
, otherwise None
sourcepub fn into_f_string(self) -> Result<Vec<InterpolateItem>, Self>
pub fn into_f_string(self) -> Result<Vec<InterpolateItem>, Self>
Returns the inner fields if this is a ExprKind::FString
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_case_mut(&mut self) -> Option<&mut Vec<SwitchCase>>
pub fn as_case_mut(&mut self) -> Option<&mut Vec<SwitchCase>>
Optionally returns mutable references to the inner fields if this is a ExprKind::Case
, otherwise None
sourcepub fn as_case(&self) -> Option<&Vec<SwitchCase>>
pub fn as_case(&self) -> Option<&Vec<SwitchCase>>
Optionally returns references to the inner fields if this is a ExprKind::Case
, otherwise None
sourcepub fn into_case(self) -> Result<Vec<SwitchCase>, Self>
pub fn into_case(self) -> Result<Vec<SwitchCase>, Self>
Returns the inner fields if this is a ExprKind::Case
, otherwise returns back the enum in the Err
case of the result
sourcepub fn as_param_mut(&mut self) -> Option<&mut String>
pub fn as_param_mut(&mut self) -> Option<&mut String>
Optionally returns mutable references to the inner fields if this is a ExprKind::Param
, otherwise None
sourcepub fn as_param(&self) -> Option<&String>
pub fn as_param(&self) -> Option<&String>
Optionally returns references to the inner fields if this is a ExprKind::Param
, otherwise None
sourcepub fn into_param(self) -> Result<String, Self>
pub fn into_param(self) -> Result<String, Self>
Returns the inner fields if this is a ExprKind::Param
, otherwise returns back the enum in the Err
case of the result
sourcepub fn is_internal(&self) -> bool
pub fn is_internal(&self) -> bool
Returns true if this is a ExprKind::Internal
, otherwise false
sourcepub fn as_internal_mut(&mut self) -> Option<&mut String>
pub fn as_internal_mut(&mut self) -> Option<&mut String>
Optionally returns mutable references to the inner fields if this is a ExprKind::Internal
, otherwise None
sourcepub fn as_internal(&self) -> Option<&String>
pub fn as_internal(&self) -> Option<&String>
Optionally returns references to the inner fields if this is a ExprKind::Internal
, otherwise None
sourcepub fn into_internal(self) -> Result<String, Self>
pub fn into_internal(self) -> Result<String, Self>
Returns the inner fields if this is a ExprKind::Internal
, otherwise returns back the enum in the Err
case of the result