mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Remove doublepointer in VirtualMethods, and from_borrowed_ref
Most of the heavy lifting done by: ``` $ ls *rs | xargs gawk -i inplace '/let .*: &&.*from_borrowed_ref/{sub("&&", "\\&");sub("_borrowed_","_");} {print $0}' $ ls *rs | xargs gawk -i inplace "/impl.*VirtualMethods/{in_vm=1; sub(/<'a>/,\"\");sub(/&'a /,\"\")} /^}\$/{in_vm=0;} in_vm{\$0=gensub(/\\*self([^.])/,\"self\\\1\",\"g\"); sub(/from_borrowed_ref/,\"from_ref\")} {print}" ```
This commit is contained in:
parent
5e83a3f0a3
commit
b33c5427bc
34 changed files with 159 additions and 164 deletions
|
@ -126,126 +126,126 @@ pub trait VirtualMethods {
|
|||
/// method call on the trait object will invoke the corresponding method on the
|
||||
/// concrete type, propagating up the parent hierarchy unless otherwise
|
||||
/// interrupted.
|
||||
pub fn vtable_for<'a>(node: &'a &'a Node) -> &'a (VirtualMethods + 'a) {
|
||||
pub fn vtable_for<'a>(node: &'a Node) -> &'a (VirtualMethods + 'a) {
|
||||
match node.type_id() {
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAnchorElement)) => {
|
||||
let element = HTMLAnchorElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLAnchorElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAppletElement)) => {
|
||||
HTMLAppletElementCast::to_borrowed_ref(node).unwrap() as &'a (VirtualMethods + 'a)
|
||||
HTMLAppletElementCast::to_ref(node).unwrap() as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLAreaElement)) => {
|
||||
let element = HTMLAreaElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLAreaElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBaseElement)) => {
|
||||
let element = HTMLBaseElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLBaseElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement)) => {
|
||||
let element = HTMLBodyElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLBodyElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLButtonElement)) => {
|
||||
let element = HTMLButtonElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLButtonElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLCanvasElement)) => {
|
||||
let element = HTMLCanvasElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLCanvasElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLFieldSetElement)) => {
|
||||
let element = HTMLFieldSetElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLFieldSetElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLFontElement)) => {
|
||||
let element = HTMLFontElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLFontElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLFormElement)) => {
|
||||
let element = HTMLFormElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLFormElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLHeadElement)) => {
|
||||
let element = HTMLHeadElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLHeadElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLImageElement)) => {
|
||||
let element = HTMLImageElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLImageElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLIFrameElement)) => {
|
||||
let element = HTMLIFrameElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLIFrameElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLInputElement)) => {
|
||||
let element = HTMLInputElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLInputElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLLinkElement)) => {
|
||||
let element = HTMLLinkElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLLinkElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLObjectElement)) => {
|
||||
let element = HTMLObjectElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLObjectElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLOptGroupElement)) => {
|
||||
let element = HTMLOptGroupElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLOptGroupElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLOptionElement)) => {
|
||||
let element = HTMLOptionElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLOptionElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLScriptElement)) => {
|
||||
let element = HTMLScriptElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLScriptElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLSelectElement)) => {
|
||||
let element = HTMLSelectElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLSelectElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLStyleElement)) => {
|
||||
let element = HTMLStyleElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLStyleElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableElement)) => {
|
||||
let element =
|
||||
HTMLTableElementCast::to_borrowed_ref(node).unwrap();
|
||||
HTMLTableElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableCellElement(_))) => {
|
||||
let element =
|
||||
HTMLTableCellElementCast::to_borrowed_ref(node).unwrap();
|
||||
HTMLTableCellElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableRowElement)) => {
|
||||
let element =
|
||||
HTMLTableRowElementCast::to_borrowed_ref(node).unwrap();
|
||||
HTMLTableRowElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableSectionElement)) => {
|
||||
let element =
|
||||
HTMLTableSectionElementCast::to_borrowed_ref(node).unwrap();
|
||||
HTMLTableSectionElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTextAreaElement)) => {
|
||||
let element = HTMLTextAreaElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLTextAreaElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTitleElement)) => {
|
||||
let element =
|
||||
HTMLTitleElementCast::to_borrowed_ref(node).unwrap();
|
||||
HTMLTitleElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(ElementTypeId::Element) => {
|
||||
let element = ElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = ElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
NodeTypeId::Element(_) => {
|
||||
let element = HTMLElementCast::to_borrowed_ref(node).unwrap();
|
||||
let element = HTMLElementCast::to_ref(node).unwrap();
|
||||
element as &'a (VirtualMethods + 'a)
|
||||
}
|
||||
_ => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue