mirror of
https://github.com/servo/servo.git
synced 2025-06-24 09:04:33 +01:00
Make TreeIterator::nodes a Vec.
This commit is contained in:
parent
cc23a324e5
commit
a1ec0cec11
1 changed files with 6 additions and 6 deletions
|
@ -517,14 +517,14 @@ impl NodeHelpers for JS<Node> {
|
||||||
|
|
||||||
/// Iterates over this node and all its descendants, in preorder.
|
/// Iterates over this node and all its descendants, in preorder.
|
||||||
fn traverse_preorder(&self) -> TreeIterator {
|
fn traverse_preorder(&self) -> TreeIterator {
|
||||||
let mut nodes = ~[];
|
let mut nodes = vec!();
|
||||||
gather_abstract_nodes(self, &mut nodes, false);
|
gather_abstract_nodes(self, &mut nodes, false);
|
||||||
TreeIterator::new(nodes)
|
TreeIterator::new(nodes)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Iterates over this node and all its descendants, in postorder.
|
/// Iterates over this node and all its descendants, in postorder.
|
||||||
fn sequential_traverse_postorder(&self) -> TreeIterator {
|
fn sequential_traverse_postorder(&self) -> TreeIterator {
|
||||||
let mut nodes = ~[];
|
let mut nodes = vec!();
|
||||||
gather_abstract_nodes(self, &mut nodes, true);
|
gather_abstract_nodes(self, &mut nodes, true);
|
||||||
TreeIterator::new(nodes)
|
TreeIterator::new(nodes)
|
||||||
}
|
}
|
||||||
|
@ -633,12 +633,12 @@ impl Iterator<JS<Node>> for AncestorIterator {
|
||||||
// FIXME: Do this without precomputing a vector of refs.
|
// FIXME: Do this without precomputing a vector of refs.
|
||||||
// Easy for preorder; harder for postorder.
|
// Easy for preorder; harder for postorder.
|
||||||
pub struct TreeIterator {
|
pub struct TreeIterator {
|
||||||
nodes: ~[JS<Node>],
|
nodes: Vec<JS<Node>>,
|
||||||
index: uint,
|
index: uint,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TreeIterator {
|
impl TreeIterator {
|
||||||
fn new(nodes: ~[JS<Node>]) -> TreeIterator {
|
fn new(nodes: Vec<JS<Node>>) -> TreeIterator {
|
||||||
TreeIterator {
|
TreeIterator {
|
||||||
nodes: nodes,
|
nodes: nodes,
|
||||||
index: 0,
|
index: 0,
|
||||||
|
@ -651,7 +651,7 @@ impl Iterator<JS<Node>> for TreeIterator {
|
||||||
if self.index >= self.nodes.len() {
|
if self.index >= self.nodes.len() {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
let v = self.nodes[self.index].clone();
|
let v = self.nodes.get(self.index).clone();
|
||||||
self.index += 1;
|
self.index += 1;
|
||||||
Some(v)
|
Some(v)
|
||||||
}
|
}
|
||||||
|
@ -735,7 +735,7 @@ impl Iterator<JS<Node>> for NodeIterator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn gather_abstract_nodes(cur: &JS<Node>, refs: &mut ~[JS<Node>], postorder: bool) {
|
fn gather_abstract_nodes(cur: &JS<Node>, refs: &mut Vec<JS<Node>>, postorder: bool) {
|
||||||
if !postorder {
|
if !postorder {
|
||||||
refs.push(cur.clone());
|
refs.push(cur.clone());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue