blob: 21d1b2e9845eda889d282cae31fd608061c18b7a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
use super::string_range::StringRange;
use crate::tree::command_node::CommandNodeTrait;
pub struct ParsedCommandNode<S> {
node: Box<dyn CommandNodeTrait<S>>,
range: StringRange,
}
impl<S> ParsedCommandNode<S> {
fn new(node: dyn CommandNodeTrait<S>, range: StringRange) -> Self {
Self { node, range }
}
fn node(&self) -> &dyn CommandNodeTrait<S> {
&self.node
}
fn range(&self) -> &StringRange {
&self.range
}
}
impl<S> Clone for ParsedCommandNode<S> {
fn clone_from(&mut self, source: &Self) {
Self {
node: self.node.clone(),
range: self.range.clone(),
}
}
}
|