mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Introduce [Abstract] to mark non-leaf interfaces
Some interfaces like Node, CharacterData and HTMLTableCellElement are never instantiated directly, only their descendant interfaces are. Those are marked with [Abstract] to set their type_id to None instead of having dummy values in the TypeId enums.
This commit is contained in:
parent
941f7dc04b
commit
c25085f68a
21 changed files with 26 additions and 48 deletions
|
@ -9,9 +9,7 @@ use dom::element::ElementTypeId;
|
|||
use dom::eventtarget::{EventTarget, EventTargetTypeId};
|
||||
use dom::htmlelement::HTMLElementTypeId;
|
||||
use dom::htmlmediaelement::HTMLMediaElementTypeId::HTMLAudioElement;
|
||||
use dom::htmlmediaelement::HTMLMediaElementTypeId::HTMLMediaElement;
|
||||
use dom::htmlmediaelement::HTMLMediaElementTypeId::HTMLVideoElement;
|
||||
use dom::htmltablecellelement::HTMLTableCellElementTypeId::HTMLTableCellElement;
|
||||
use dom::htmltablecellelement::HTMLTableCellElementTypeId::HTMLTableDataCellElement;
|
||||
use dom::htmltablecellelement::HTMLTableCellElementTypeId::HTMLTableHeaderCellElement;
|
||||
use dom::node::NodeTypeId;
|
||||
|
@ -249,13 +247,5 @@ pub fn heap_size_of_eventtarget(target: &EventTarget) -> usize {
|
|||
heap_size_of_self_and_children(DocumentTypeCast::to_ref(target).unwrap()),
|
||||
&EventTargetTypeId::Node(NodeTypeId::DocumentFragment) =>
|
||||
heap_size_of_self_and_children(DocumentFragmentCast::to_ref(target).unwrap()),
|
||||
&EventTargetTypeId::EventTarget |
|
||||
&EventTargetTypeId::Node(NodeTypeId::Node) |
|
||||
&EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(
|
||||
HTMLElementTypeId::HTMLMediaElement(HTMLMediaElement)))) |
|
||||
&EventTargetTypeId::Node(NodeTypeId::Element(ElementTypeId::HTMLElement(
|
||||
HTMLElementTypeId::HTMLTableCellElement(HTMLTableCellElement)))) => {
|
||||
unreachable!()
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue