Function tagua_parser::rules::statements::function::parameters []

pub fn parameters(i: &[u8]) -> IResult<&[u8]Arityu32>

Recognize a list of function parameters.

Examples

use tagua_parser::Result;
use tagua_parser::ast::{
    Arity,
    Name,
    Parameter,
    Ty,
    Variable
};
use tagua_parser::rules::statements::function::parameters;

assert_eq!(
    parameters(b"($x, \\I\\J $y, int &$z)"),
    Result::Done(
        &b""[..],
        Arity::Finite(vec![
            Parameter {
                ty   : Ty::Copy(None),
                name : Variable(&b"x"[..]),
                value: None
            },
            Parameter {
                ty   : Ty::Copy(Some(Name::FullyQualified(vec![&b"I"[..], &b"J"[..]]))),
                name : Variable(&b"y"[..]),
                value: None
            },
            Parameter {
                ty   : Ty::Reference(Some(Name::FullyQualified(vec![&b"int"[..]]))),
                name : Variable(&b"z"[..]),
                value: None
            }
        ])
    )
);Run