forked from extern/nushell
27 lines
601 B
Rust
27 lines
601 B
Rust
|
use crate::parser::TokenNode;
|
||
|
use getset::Getters;
|
||
|
|
||
|
#[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Getters)]
|
||
|
pub struct CallNode {
|
||
|
#[get = "crate"]
|
||
|
head: Box<TokenNode>,
|
||
|
#[get = "crate"]
|
||
|
children: Option<Vec<TokenNode>>,
|
||
|
}
|
||
|
|
||
|
impl CallNode {
|
||
|
pub fn new(head: Box<TokenNode>, children: Vec<TokenNode>) -> CallNode {
|
||
|
if children.len() == 0 {
|
||
|
CallNode {
|
||
|
head,
|
||
|
children: None,
|
||
|
}
|
||
|
} else {
|
||
|
CallNode {
|
||
|
head,
|
||
|
children: Some(children),
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|