open_pql/pql_parser/ast/
fncall.rs1use super::*;
2
3#[derive(Debug, Eq, PartialEq, From)]
4pub struct FnCall<'i> {
5 pub name: Ident<'i>,
6 pub args: Vec<Expr<'i>>,
7
8 pub loc: (Loc, Loc),
9}
10
11#[cfg(test)]
12mod tests {
13 use super::{super::super::parser::*, *};
14
15 fn f(s: &str) -> FnCall<'_> {
16 FnCallParser::new().parse(s).unwrap()
17 }
18
19 #[test]
20 fn test_expr() {
21 let obj = f("equity(hero, river)");
22
23 assert_eq!(obj.name, ("equity", (0, 6)).into());
24 assert_eq!(obj.args.len(), 2);
25 assert_eq!(obj.args[0], Expr::Ident(("hero", (7, 11)).into()));
26 assert_eq!(obj.args[1], Expr::Ident(("river", (13, 18)).into()));
27 assert_eq!(obj.loc, (0, 19));
28 }
29}