fn parse_dollar_expr(
    lite_arg: &Spanned<String>,
    registry: &dyn SignatureRegistry,
) -> (SpannedExpression, Option<ParseError>) {
    trace!("Parsing dollar expression: {:?}", lite_arg.item);
    if lite_arg.item == "$true" {
        (
            SpannedExpression::new(Expression::boolean(true), lite_arg.span),
            None,
        )
    } else if lite_arg.item == "$false" {
        (
            SpannedExpression::new(Expression::boolean(false), lite_arg.span),
            None,
        )
    } else if lite_arg.item.ends_with(')') {
        //Return invocation
        trace!("Parsing invocation expression");
        parse_invocation(lite_arg, registry)
    } else if lite_arg.item.contains('.') {
        trace!("Parsing path expression");
        parse_full_column_path(lite_arg, registry)
    } else {
        trace!("Parsing variable expression");
        parse_variable(lite_arg, registry)
    }
}
/// Parses the given lite_arg starting with dollar returning
/// a expression starting with $
/// Currently either Variable, Invocation, FullColumnPath
Parses the given lite_arg starting with dollar returning
a expression starting with $
Currently either Variable, Invocation, FullColumnPath
Parses the given lite_arg starting with dollar returning a expression starting with $ Currently either Variable Invocation FullColumnPath
fn parse_dollar_expr(
    lite_arg: &Spanned<String>,
    registry: &dyn SignatureRegistry,
) -> (SpannedExpression, Option<ParseError>) {
    trace!("Parsing dollar expression: {:?}", lite_arg.item);
    if lite_arg.item == "$true" {
        (
            SpannedExpression::new(Expression::boolean(true), lite_arg.span),
            None,
        )
    } else if lite_arg.item == "$false" {
        (
            SpannedExpression::new(Expression::boolean(false), lite_arg.span),
            None,
        )
    } else if lite_arg.item.ends_with(')') {
        //Return invocation
        trace!("Parsing invocation expression");
        parse_invocation(lite_arg, registry)
    } else if lite_arg.item.contains('.') {
        trace!("Parsing path expression");
        parse_full_column_path(lite_arg, registry)
    } else {
        trace!("Parsing variable expression");
        parse_variable(lite_arg, registry)
    }
}
fn parse_dollar_expr ( lite_arg : & Spanned < String > , registry : & dyn SignatureRegistry , ) -> ( SpannedExpression , Option < ParseError > ) { trace ! ( " " lite_arg item ) ; if lite_arg . item == " " { ( SpannedExpression :: new ( Expression :: boolean ( true ) , lite_arg . span ) , None , ) } else if lite_arg . item == " " { ( SpannedExpression :: new ( Expression :: boolean ( false ) , lite_arg . span ) , None , ) } else if lite_arg . item . ends_with ( ')' ) { //Return invocation trace ! ( " " ) ; parse_invocation ( lite_arg , registry ) } else if lite_arg . item . contains ( '.' ) { trace ! ( " " ) ; parse_full_column_path ( lite_arg , registry ) } else { trace ! ( " " ) ; parse_variable ( lite_arg , registry ) } }
Parses the given lite_arg starting with dollar returning
a expression starting with $
Currently either Variable, Invocation, FullColumnPath
Parses the given lite_arg starting with dollar returning a expression starting with $ Currently either Variable Invocation FullColumnPath
lite_arg
&Spanned<String>
registry
&dyn SignatureRegistry
lite_arg
&Spanned<String>
registry
&dyn SignatureRegistry