Enum tagua_parser::ast::Arity
[−]
[src]
pub enum Arity<'a> { Constant, Finite(Vec<Parameter<'a>>), Infinite(Vec<Parameter<'a>>), }
Arity of a function.
Variants
Constant
A function with no parameter.
Examples
use tagua_parser::Result; use tagua_parser::ast::Arity; use tagua_parser::rules::statements::function::parameters; assert_eq!( parameters(b"()"), Result::Done(&b""[..], Arity::Constant) );Run
Finite(Vec<Parameter<'a>>)
A function with a finite number of parameters.
Examples
use tagua_parser::Result; use tagua_parser::ast::{ Arity, Parameter, Ty, Variable }; use tagua_parser::rules::statements::function::parameters; assert_eq!( parameters(b"($x, $y)"), Result::Done( &b""[..], Arity::Finite(vec![ Parameter { ty : Ty::Copy(None), name : Variable(&b"x"[..]), value: None }, Parameter { ty : Ty::Copy(None), name : Variable(&b"y"[..]), value: None } ]) ) );Run
Infinite(Vec<Parameter<'a>>)
A variadic function.
Examples
use tagua_parser::Result; use tagua_parser::ast::{ Arity, Parameter, Ty, Variable }; use tagua_parser::rules::statements::function::parameters; assert_eq!( parameters(b"($x, ...$y)"), Result::Done( &b""[..], Arity::Infinite(vec![ Parameter { ty : Ty::Copy(None), name : Variable(&b"x"[..]), value: None }, Parameter { ty : Ty::Copy(None), name : Variable(&b"y"[..]), value: None } ]) ) );Run