mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Remove a prefix from a method name by manually resolving methods
This commit is contained in:
parent
6358b7d94e
commit
4ef0f39c78
3 changed files with 10 additions and 5 deletions
|
@ -213,8 +213,14 @@ impl<'ln> LayoutNode<'ln> {
|
||||||
|
|
||||||
/// Returns an iterator over this node's children.
|
/// Returns an iterator over this node's children.
|
||||||
pub fn children(&self) -> LayoutNodeChildrenIterator<'ln> {
|
pub fn children(&self) -> LayoutNodeChildrenIterator<'ln> {
|
||||||
|
// FIXME(zwarich): Remove this when UFCS lands and there is a better way
|
||||||
|
// of disambiguating methods.
|
||||||
|
fn first_child<T: TLayoutNode>(this: &T) -> Option<T> {
|
||||||
|
this.first_child()
|
||||||
|
}
|
||||||
|
|
||||||
LayoutNodeChildrenIterator {
|
LayoutNodeChildrenIterator {
|
||||||
current_node: self.first_child(),
|
current_node: first_child(self),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,7 +253,7 @@ impl<'ln> TNode<'ln, LayoutElement<'ln>> for LayoutNode<'ln> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn tnode_first_child(&self) -> Option<LayoutNode<'ln>> {
|
fn first_child(&self) -> Option<LayoutNode<'ln>> {
|
||||||
unsafe {
|
unsafe {
|
||||||
self.node.first_child_ref().map(|node| self.new_with_this_lifetime(&node))
|
self.node.first_child_ref().map(|node| self.new_with_this_lifetime(&node))
|
||||||
}
|
}
|
||||||
|
|
|
@ -2039,7 +2039,7 @@ impl<'a> style::TNode<'a, JSRef<'a, Element>> for JSRef<'a, Node> {
|
||||||
(self as &NodeHelpers).parent_node().map(|node| *node.root())
|
(self as &NodeHelpers).parent_node().map(|node| *node.root())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn tnode_first_child(&self) -> Option<JSRef<'a, Node>> {
|
fn first_child(&self) -> Option<JSRef<'a, Node>> {
|
||||||
(self as &NodeHelpers).first_child().map(|node| *node.root())
|
(self as &NodeHelpers).first_child().map(|node| *node.root())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,7 @@ use string_cache::{Atom, Namespace};
|
||||||
|
|
||||||
pub trait TNode<'a, E: TElement<'a>> : Clone {
|
pub trait TNode<'a, E: TElement<'a>> : Clone {
|
||||||
fn parent_node(&self) -> Option<Self>;
|
fn parent_node(&self) -> Option<Self>;
|
||||||
/// Name is prefixed to avoid a conflict with TLayoutNode.
|
fn first_child(&self) -> Option<Self>;
|
||||||
fn tnode_first_child(&self) -> Option<Self>;
|
|
||||||
fn prev_sibling(&self) -> Option<Self>;
|
fn prev_sibling(&self) -> Option<Self>;
|
||||||
fn next_sibling(&self) -> Option<Self>;
|
fn next_sibling(&self) -> Option<Self>;
|
||||||
fn is_document(&self) -> bool;
|
fn is_document(&self) -> bool;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue