Struct tagua_parser::ast::Parameter [] [src]

pub struct Parameter<'a> {
    pub ty: Ty<'a>,
    pub name: Variable<'a>,
    pub value: Option<Expression<'a>>,
}

A parameter, aka input, of a function.

A parameter can:

Examples

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

assert_eq!(
    parameters(b"($x = 42, I &$y)"),
    Result::Done(
        &b""[..],
        Arity::Finite(vec![
            Parameter {
                ty   : Ty::Copy(None),
                name : Variable(&b"x"[..]),
                value: Some(Expression::Literal(Literal::Integer(42i64)))
            },
            Parameter {
                ty   : Ty::Reference(Some(Name::Unqualified(&b"I"[..]))),
                name : Variable(&b"y"[..]),
                value: None
            }
        ])
    )
);Run

Fields

Type of the parameter.

Name of the parameter.

Default value of the parameter.

Trait Implementations

impl<'a> Debug for Parameter<'a>
[src]

Formats the value using the given formatter.

impl<'a> PartialEq for Parameter<'a>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.