mod emit_impls {
use crate::contracts::ui::{NodeRoleProof, WcagVerified};
use elicitation::contracts::{Established, Prop, ProvableFrom};
use elicitation::proc_macro2::TokenStream;
use elicitation::quote::quote;
macro_rules! structural_prop {
($t:ty, $name:literal) => {
impl Prop for $t {
fn kani_proof() -> TokenStream {
quote! { }
}
fn verus_proof() -> TokenStream {
quote! { }
}
fn creusot_proof() -> TokenStream {
quote! { }
}
}
impl NodeRoleProof for $t {}
impl ProvableFrom<Established<WcagVerified>> for $t {}
};
}
pub struct UnknownNodeValid;
structural_prop!(UnknownNodeValid, "UnknownNodeValid");
pub struct GenericContainerNodeValid;
structural_prop!(GenericContainerNodeValid, "GenericContainerNodeValid");
pub struct PaneNodeValid;
structural_prop!(PaneNodeValid, "PaneNodeValid");
pub struct WindowNodeValid;
structural_prop!(WindowNodeValid, "WindowNodeValid");
pub struct DocumentNodeValid;
structural_prop!(DocumentNodeValid, "DocumentNodeValid");
pub struct RootWebAreaNodeValid;
structural_prop!(RootWebAreaNodeValid, "RootWebAreaNodeValid");
pub struct ApplicationNodeValid;
structural_prop!(ApplicationNodeValid, "ApplicationNodeValid");
pub struct TerminalNodeValid;
structural_prop!(TerminalNodeValid, "TerminalNodeValid");
pub struct ButtonNodeValid;
structural_prop!(ButtonNodeValid, "ButtonNodeValid");
pub struct DefaultButtonNodeValid;
structural_prop!(DefaultButtonNodeValid, "DefaultButtonNodeValid");
pub struct LinkNodeValid;
structural_prop!(LinkNodeValid, "LinkNodeValid");
pub struct CheckBoxNodeValid;
structural_prop!(CheckBoxNodeValid, "CheckBoxNodeValid");
pub struct RadioButtonNodeValid;
structural_prop!(RadioButtonNodeValid, "RadioButtonNodeValid");
pub struct SwitchNodeValid;
structural_prop!(SwitchNodeValid, "SwitchNodeValid");
pub struct ColorWellNodeValid;
structural_prop!(ColorWellNodeValid, "ColorWellNodeValid");
pub struct DisclosureTriangleNodeValid;
structural_prop!(DisclosureTriangleNodeValid, "DisclosureTriangleNodeValid");
pub struct ComboBoxNodeValid;
structural_prop!(ComboBoxNodeValid, "ComboBoxNodeValid");
pub struct EditableComboBoxNodeValid;
structural_prop!(EditableComboBoxNodeValid, "EditableComboBoxNodeValid");
pub struct ListBoxNodeValid;
structural_prop!(ListBoxNodeValid, "ListBoxNodeValid");
pub struct SliderNodeValid;
structural_prop!(SliderNodeValid, "SliderNodeValid");
pub struct SpinButtonNodeValid;
structural_prop!(SpinButtonNodeValid, "SpinButtonNodeValid");
pub struct ProgressIndicatorNodeValid;
structural_prop!(ProgressIndicatorNodeValid, "ProgressIndicatorNodeValid");
pub struct ScrollBarNodeValid;
structural_prop!(ScrollBarNodeValid, "ScrollBarNodeValid");
pub struct ScrollViewNodeValid;
structural_prop!(ScrollViewNodeValid, "ScrollViewNodeValid");
pub struct SplitterNodeValid;
structural_prop!(SplitterNodeValid, "SplitterNodeValid");
pub struct TextInputNodeValid;
structural_prop!(TextInputNodeValid, "TextInputNodeValid");
pub struct MultilineTextInputNodeValid;
structural_prop!(MultilineTextInputNodeValid, "MultilineTextInputNodeValid");
pub struct SearchInputNodeValid;
structural_prop!(SearchInputNodeValid, "SearchInputNodeValid");
pub struct DateInputNodeValid;
structural_prop!(DateInputNodeValid, "DateInputNodeValid");
pub struct DateTimeInputNodeValid;
structural_prop!(DateTimeInputNodeValid, "DateTimeInputNodeValid");
pub struct WeekInputNodeValid;
structural_prop!(WeekInputNodeValid, "WeekInputNodeValid");
pub struct MonthInputNodeValid;
structural_prop!(MonthInputNodeValid, "MonthInputNodeValid");
pub struct TimeInputNodeValid;
structural_prop!(TimeInputNodeValid, "TimeInputNodeValid");
pub struct EmailInputNodeValid;
structural_prop!(EmailInputNodeValid, "EmailInputNodeValid");
pub struct NumberInputNodeValid;
structural_prop!(NumberInputNodeValid, "NumberInputNodeValid");
pub struct PasswordInputNodeValid;
structural_prop!(PasswordInputNodeValid, "PasswordInputNodeValid");
pub struct PhoneNumberInputNodeValid;
structural_prop!(PhoneNumberInputNodeValid, "PhoneNumberInputNodeValid");
pub struct UrlInputNodeValid;
structural_prop!(UrlInputNodeValid, "UrlInputNodeValid");
pub struct TextRunNodeValid;
structural_prop!(TextRunNodeValid, "TextRunNodeValid");
pub struct ParagraphNodeValid;
structural_prop!(ParagraphNodeValid, "ParagraphNodeValid");
pub struct LabelNodeValid;
structural_prop!(LabelNodeValid, "LabelNodeValid");
pub struct HeadingNodeValid;
structural_prop!(HeadingNodeValid, "HeadingNodeValid");
pub struct LineBreakNodeValid;
structural_prop!(LineBreakNodeValid, "LineBreakNodeValid");
pub struct BlockquoteNodeValid;
structural_prop!(BlockquoteNodeValid, "BlockquoteNodeValid");
pub struct CodeNodeValid;
structural_prop!(CodeNodeValid, "CodeNodeValid");
pub struct MathNodeValid;
structural_prop!(MathNodeValid, "MathNodeValid");
pub struct NoteNodeValid;
structural_prop!(NoteNodeValid, "NoteNodeValid");
pub struct TermNodeValid;
structural_prop!(TermNodeValid, "TermNodeValid");
pub struct DefinitionNodeValid;
structural_prop!(DefinitionNodeValid, "DefinitionNodeValid");
pub struct AbbrNodeValid;
structural_prop!(AbbrNodeValid, "AbbrNodeValid");
pub struct EmphasisNodeValid;
structural_prop!(EmphasisNodeValid, "EmphasisNodeValid");
pub struct StrongNodeValid;
structural_prop!(StrongNodeValid, "StrongNodeValid");
pub struct MarkNodeValid;
structural_prop!(MarkNodeValid, "MarkNodeValid");
pub struct TimeNodeValid;
structural_prop!(TimeNodeValid, "TimeNodeValid");
pub struct RubyNodeValid;
structural_prop!(RubyNodeValid, "RubyNodeValid");
pub struct RubyAnnotationNodeValid;
structural_prop!(RubyAnnotationNodeValid, "RubyAnnotationNodeValid");
pub struct SuggestionNodeValid;
structural_prop!(SuggestionNodeValid, "SuggestionNodeValid");
pub struct CommentNodeValid;
structural_prop!(CommentNodeValid, "CommentNodeValid");
pub struct ContentDeletionNodeValid;
structural_prop!(ContentDeletionNodeValid, "ContentDeletionNodeValid");
pub struct ContentInsertionNodeValid;
structural_prop!(ContentInsertionNodeValid, "ContentInsertionNodeValid");
pub struct LegendNodeValid;
structural_prop!(LegendNodeValid, "LegendNodeValid");
pub struct ImageNodeValid;
structural_prop!(ImageNodeValid, "ImageNodeValid");
pub struct FigureNodeValid;
structural_prop!(FigureNodeValid, "FigureNodeValid");
pub struct FigureCaptionNodeValid;
structural_prop!(FigureCaptionNodeValid, "FigureCaptionNodeValid");
pub struct CanvasNodeValid;
structural_prop!(CanvasNodeValid, "CanvasNodeValid");
pub struct VideoNodeValid;
structural_prop!(VideoNodeValid, "VideoNodeValid");
pub struct AudioNodeValid;
structural_prop!(AudioNodeValid, "AudioNodeValid");
pub struct SvgRootNodeValid;
structural_prop!(SvgRootNodeValid, "SvgRootNodeValid");
pub struct EmbeddedObjectNodeValid;
structural_prop!(EmbeddedObjectNodeValid, "EmbeddedObjectNodeValid");
pub struct PluginObjectNodeValid;
structural_prop!(PluginObjectNodeValid, "PluginObjectNodeValid");
pub struct WebViewNodeValid;
structural_prop!(WebViewNodeValid, "WebViewNodeValid");
pub struct IframeNodeValid;
structural_prop!(IframeNodeValid, "IframeNodeValid");
pub struct IframePresentationalNodeValid;
structural_prop!(
IframePresentationalNodeValid,
"IframePresentationalNodeValid"
);
pub struct MainNodeValid;
structural_prop!(MainNodeValid, "MainNodeValid");
pub struct NavigationNodeValid;
structural_prop!(NavigationNodeValid, "NavigationNodeValid");
pub struct BannerNodeValid;
structural_prop!(BannerNodeValid, "BannerNodeValid");
pub struct ContentInfoNodeValid;
structural_prop!(ContentInfoNodeValid, "ContentInfoNodeValid");
pub struct ComplementaryNodeValid;
structural_prop!(ComplementaryNodeValid, "ComplementaryNodeValid");
pub struct FormNodeValid;
structural_prop!(FormNodeValid, "FormNodeValid");
pub struct SearchNodeValid;
structural_prop!(SearchNodeValid, "SearchNodeValid");
pub struct RegionNodeValid;
structural_prop!(RegionNodeValid, "RegionNodeValid");
pub struct SectionNodeValid;
structural_prop!(SectionNodeValid, "SectionNodeValid");
pub struct SectionHeaderNodeValid;
structural_prop!(SectionHeaderNodeValid, "SectionHeaderNodeValid");
pub struct SectionFooterNodeValid;
structural_prop!(SectionFooterNodeValid, "SectionFooterNodeValid");
pub struct HeaderNodeValid;
structural_prop!(HeaderNodeValid, "HeaderNodeValid");
pub struct FooterNodeValid;
structural_prop!(FooterNodeValid, "FooterNodeValid");
pub struct ArticleNodeValid;
structural_prop!(ArticleNodeValid, "ArticleNodeValid");
pub struct GroupNodeValid;
structural_prop!(GroupNodeValid, "GroupNodeValid");
pub struct DialogNodeValid;
structural_prop!(DialogNodeValid, "DialogNodeValid");
pub struct AlertDialogNodeValid;
structural_prop!(AlertDialogNodeValid, "AlertDialogNodeValid");
pub struct DetailsNodeValid;
structural_prop!(DetailsNodeValid, "DetailsNodeValid");
pub struct TooltipNodeValid;
structural_prop!(TooltipNodeValid, "TooltipNodeValid");
pub struct AlertNodeValid;
structural_prop!(AlertNodeValid, "AlertNodeValid");
pub struct StatusNodeValid;
structural_prop!(StatusNodeValid, "StatusNodeValid");
pub struct LogNodeValid;
structural_prop!(LogNodeValid, "LogNodeValid");
pub struct MarqueeNodeValid;
structural_prop!(MarqueeNodeValid, "MarqueeNodeValid");
pub struct TimerNodeValid;
structural_prop!(TimerNodeValid, "TimerNodeValid");
pub struct ListNodeValid;
structural_prop!(ListNodeValid, "ListNodeValid");
pub struct ListItemNodeValid;
structural_prop!(ListItemNodeValid, "ListItemNodeValid");
pub struct ListMarkerNodeValid;
structural_prop!(ListMarkerNodeValid, "ListMarkerNodeValid");
pub struct DescriptionListNodeValid;
structural_prop!(DescriptionListNodeValid, "DescriptionListNodeValid");
pub struct FeedNodeValid;
structural_prop!(FeedNodeValid, "FeedNodeValid");
pub struct ListBoxOptionNodeValid;
structural_prop!(ListBoxOptionNodeValid, "ListBoxOptionNodeValid");
pub struct TableNodeValid;
structural_prop!(TableNodeValid, "TableNodeValid");
pub struct RowNodeValid;
structural_prop!(RowNodeValid, "RowNodeValid");
pub struct CellNodeValid;
structural_prop!(CellNodeValid, "CellNodeValid");
pub struct CaptionNodeValid;
structural_prop!(CaptionNodeValid, "CaptionNodeValid");
pub struct RowGroupNodeValid;
structural_prop!(RowGroupNodeValid, "RowGroupNodeValid");
pub struct RowHeaderNodeValid;
structural_prop!(RowHeaderNodeValid, "RowHeaderNodeValid");
pub struct ColumnHeaderNodeValid;
structural_prop!(ColumnHeaderNodeValid, "ColumnHeaderNodeValid");
pub struct GridNodeValid;
structural_prop!(GridNodeValid, "GridNodeValid");
pub struct GridCellNodeValid;
structural_prop!(GridCellNodeValid, "GridCellNodeValid");
pub struct TreeGridNodeValid;
structural_prop!(TreeGridNodeValid, "TreeGridNodeValid");
pub struct ListGridNodeValid;
structural_prop!(ListGridNodeValid, "ListGridNodeValid");
pub struct LayoutTableNodeValid;
structural_prop!(LayoutTableNodeValid, "LayoutTableNodeValid");
pub struct LayoutTableRowNodeValid;
structural_prop!(LayoutTableRowNodeValid, "LayoutTableRowNodeValid");
pub struct LayoutTableCellNodeValid;
structural_prop!(LayoutTableCellNodeValid, "LayoutTableCellNodeValid");
pub struct TreeNodeValid;
structural_prop!(TreeNodeValid, "TreeNodeValid");
pub struct TreeItemNodeValid;
structural_prop!(TreeItemNodeValid, "TreeItemNodeValid");
pub struct TabNodeValid;
structural_prop!(TabNodeValid, "TabNodeValid");
pub struct TabListNodeValid;
structural_prop!(TabListNodeValid, "TabListNodeValid");
pub struct TabPanelNodeValid;
structural_prop!(TabPanelNodeValid, "TabPanelNodeValid");
pub struct MenuNodeValid;
structural_prop!(MenuNodeValid, "MenuNodeValid");
pub struct MenuBarNodeValid;
structural_prop!(MenuBarNodeValid, "MenuBarNodeValid");
pub struct MenuItemNodeValid;
structural_prop!(MenuItemNodeValid, "MenuItemNodeValid");
pub struct MenuListOptionNodeValid;
structural_prop!(MenuListOptionNodeValid, "MenuListOptionNodeValid");
pub struct MenuListPopupNodeValid;
structural_prop!(MenuListPopupNodeValid, "MenuListPopupNodeValid");
pub struct MenuItemCheckBoxNodeValid;
structural_prop!(MenuItemCheckBoxNodeValid, "MenuItemCheckBoxNodeValid");
pub struct MenuItemRadioNodeValid;
structural_prop!(MenuItemRadioNodeValid, "MenuItemRadioNodeValid");
pub struct ToolbarNodeValid;
structural_prop!(ToolbarNodeValid, "ToolbarNodeValid");
pub struct TitleBarNodeValid;
structural_prop!(TitleBarNodeValid, "TitleBarNodeValid");
pub struct RadioGroupNodeValid;
structural_prop!(RadioGroupNodeValid, "RadioGroupNodeValid");
pub struct MeterNodeValid;
structural_prop!(MeterNodeValid, "MeterNodeValid");
pub struct KeyboardNodeValid;
structural_prop!(KeyboardNodeValid, "KeyboardNodeValid");
pub struct CaretNodeValid;
structural_prop!(CaretNodeValid, "CaretNodeValid");
pub struct ImeCandidateNodeValid;
structural_prop!(ImeCandidateNodeValid, "ImeCandidateNodeValid");
pub struct PdfRootNodeValid;
structural_prop!(PdfRootNodeValid, "PdfRootNodeValid");
pub struct PdfActionableHighlightNodeValid;
structural_prop!(
PdfActionableHighlightNodeValid,
"PdfActionableHighlightNodeValid"
);
pub struct GraphicsDocumentNodeValid;
structural_prop!(GraphicsDocumentNodeValid, "GraphicsDocumentNodeValid");
pub struct GraphicsObjectNodeValid;
structural_prop!(GraphicsObjectNodeValid, "GraphicsObjectNodeValid");
pub struct GraphicsSymbolNodeValid;
structural_prop!(GraphicsSymbolNodeValid, "GraphicsSymbolNodeValid");
pub struct DocAbstractNodeValid;
structural_prop!(DocAbstractNodeValid, "DocAbstractNodeValid");
pub struct DocAcknowledgementsNodeValid;
structural_prop!(DocAcknowledgementsNodeValid, "DocAcknowledgementsNodeValid");
pub struct DocAfterwordNodeValid;
structural_prop!(DocAfterwordNodeValid, "DocAfterwordNodeValid");
pub struct DocAppendixNodeValid;
structural_prop!(DocAppendixNodeValid, "DocAppendixNodeValid");
pub struct DocBackLinkNodeValid;
structural_prop!(DocBackLinkNodeValid, "DocBackLinkNodeValid");
pub struct DocBiblioEntryNodeValid;
structural_prop!(DocBiblioEntryNodeValid, "DocBiblioEntryNodeValid");
pub struct DocBibliographyNodeValid;
structural_prop!(DocBibliographyNodeValid, "DocBibliographyNodeValid");
pub struct DocBiblioRefNodeValid;
structural_prop!(DocBiblioRefNodeValid, "DocBiblioRefNodeValid");
pub struct DocChapterNodeValid;
structural_prop!(DocChapterNodeValid, "DocChapterNodeValid");
pub struct DocColophonNodeValid;
structural_prop!(DocColophonNodeValid, "DocColophonNodeValid");
pub struct DocConclusionNodeValid;
structural_prop!(DocConclusionNodeValid, "DocConclusionNodeValid");
pub struct DocCoverNodeValid;
structural_prop!(DocCoverNodeValid, "DocCoverNodeValid");
pub struct DocCreditNodeValid;
structural_prop!(DocCreditNodeValid, "DocCreditNodeValid");
pub struct DocCreditsNodeValid;
structural_prop!(DocCreditsNodeValid, "DocCreditsNodeValid");
pub struct DocDedicationNodeValid;
structural_prop!(DocDedicationNodeValid, "DocDedicationNodeValid");
pub struct DocEndnoteNodeValid;
structural_prop!(DocEndnoteNodeValid, "DocEndnoteNodeValid");
pub struct DocEndnotesNodeValid;
structural_prop!(DocEndnotesNodeValid, "DocEndnotesNodeValid");
pub struct DocEpigraphNodeValid;
structural_prop!(DocEpigraphNodeValid, "DocEpigraphNodeValid");
pub struct DocEpilogueNodeValid;
structural_prop!(DocEpilogueNodeValid, "DocEpilogueNodeValid");
pub struct DocErrataNodeValid;
structural_prop!(DocErrataNodeValid, "DocErrataNodeValid");
pub struct DocExampleNodeValid;
structural_prop!(DocExampleNodeValid, "DocExampleNodeValid");
pub struct DocFootnoteNodeValid;
structural_prop!(DocFootnoteNodeValid, "DocFootnoteNodeValid");
pub struct DocForewordNodeValid;
structural_prop!(DocForewordNodeValid, "DocForewordNodeValid");
pub struct DocGlossaryNodeValid;
structural_prop!(DocGlossaryNodeValid, "DocGlossaryNodeValid");
pub struct DocGlossRefNodeValid;
structural_prop!(DocGlossRefNodeValid, "DocGlossRefNodeValid");
pub struct DocIndexNodeValid;
structural_prop!(DocIndexNodeValid, "DocIndexNodeValid");
pub struct DocIntroductionNodeValid;
structural_prop!(DocIntroductionNodeValid, "DocIntroductionNodeValid");
pub struct DocNoteRefNodeValid;
structural_prop!(DocNoteRefNodeValid, "DocNoteRefNodeValid");
pub struct DocNoticeNodeValid;
structural_prop!(DocNoticeNodeValid, "DocNoticeNodeValid");
pub struct DocPageBreakNodeValid;
structural_prop!(DocPageBreakNodeValid, "DocPageBreakNodeValid");
pub struct DocPageFooterNodeValid;
structural_prop!(DocPageFooterNodeValid, "DocPageFooterNodeValid");
pub struct DocPageHeaderNodeValid;
structural_prop!(DocPageHeaderNodeValid, "DocPageHeaderNodeValid");
pub struct DocPageListNodeValid;
structural_prop!(DocPageListNodeValid, "DocPageListNodeValid");
pub struct DocPartNodeValid;
structural_prop!(DocPartNodeValid, "DocPartNodeValid");
pub struct DocPrefaceNodeValid;
structural_prop!(DocPrefaceNodeValid, "DocPrefaceNodeValid");
pub struct DocPrologueNodeValid;
structural_prop!(DocPrologueNodeValid, "DocPrologueNodeValid");
pub struct DocPullquoteNodeValid;
structural_prop!(DocPullquoteNodeValid, "DocPullquoteNodeValid");
pub struct DocQnaNodeValid;
structural_prop!(DocQnaNodeValid, "DocQnaNodeValid");
pub struct DocSubtitleNodeValid;
structural_prop!(DocSubtitleNodeValid, "DocSubtitleNodeValid");
pub struct DocTipNodeValid;
structural_prop!(DocTipNodeValid, "DocTipNodeValid");
pub struct DocTocNodeValid;
structural_prop!(DocTocNodeValid, "DocTocNodeValid");
}
macro_rules! role_alias {
($src:ty => $dst:ty) => {
impl elicitation::contracts::ProvableFrom<elicitation::contracts::Established<$src>>
for $dst
{
}
};
}
role_alias!(emit_impls::SearchInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::DateInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::DateTimeInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::WeekInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::MonthInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::TimeInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::EmailInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::NumberInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::PasswordInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::PhoneNumberInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::UrlInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::AbbrNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::EmphasisNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::StrongNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::MarkNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::TimeNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::RubyNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::RubyAnnotationNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::SuggestionNodeValid => emit_impls::ParagraphNodeValid);
role_alias!(emit_impls::CommentNodeValid => emit_impls::ParagraphNodeValid);
role_alias!(emit_impls::ContentDeletionNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::ContentInsertionNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::LegendNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::SvgRootNodeValid => emit_impls::ImageNodeValid);
role_alias!(emit_impls::EmbeddedObjectNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::PluginObjectNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::WebViewNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::IframeNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::IframePresentationalNodeValid => emit_impls::GenericContainerNodeValid);
role_alias!(emit_impls::HeaderNodeValid => emit_impls::SectionHeaderNodeValid);
role_alias!(emit_impls::FooterNodeValid => emit_impls::SectionFooterNodeValid);
role_alias!(emit_impls::AlertDialogNodeValid => emit_impls::DialogNodeValid);
role_alias!(emit_impls::LogNodeValid => emit_impls::StatusNodeValid);
role_alias!(emit_impls::MarqueeNodeValid => emit_impls::StatusNodeValid);
role_alias!(emit_impls::ListMarkerNodeValid => emit_impls::LabelNodeValid);
role_alias!(emit_impls::FeedNodeValid => emit_impls::ListNodeValid);
role_alias!(emit_impls::ListBoxOptionNodeValid => emit_impls::ListItemNodeValid);
role_alias!(emit_impls::RowHeaderNodeValid => emit_impls::CellNodeValid);
role_alias!(emit_impls::ColumnHeaderNodeValid => emit_impls::CellNodeValid);
role_alias!(emit_impls::GridNodeValid => emit_impls::TableNodeValid);
role_alias!(emit_impls::GridCellNodeValid => emit_impls::CellNodeValid);
role_alias!(emit_impls::TreeGridNodeValid => emit_impls::TreeNodeValid);
role_alias!(emit_impls::ListGridNodeValid => emit_impls::GridNodeValid);
role_alias!(emit_impls::LayoutTableNodeValid => emit_impls::GenericContainerNodeValid);
role_alias!(emit_impls::LayoutTableRowNodeValid => emit_impls::RowNodeValid);
role_alias!(emit_impls::LayoutTableCellNodeValid => emit_impls::GenericContainerNodeValid);
role_alias!(emit_impls::MenuBarNodeValid => emit_impls::MenuNodeValid);
role_alias!(emit_impls::MenuListOptionNodeValid => emit_impls::MenuItemNodeValid);
role_alias!(emit_impls::MenuListPopupNodeValid => emit_impls::MenuNodeValid);
role_alias!(emit_impls::MenuItemCheckBoxNodeValid => emit_impls::CheckBoxNodeValid);
role_alias!(emit_impls::MenuItemRadioNodeValid => emit_impls::RadioButtonNodeValid);
role_alias!(emit_impls::TitleBarNodeValid => emit_impls::ToolbarNodeValid);
role_alias!(emit_impls::MeterNodeValid => emit_impls::ProgressIndicatorNodeValid);
role_alias!(emit_impls::KeyboardNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::CaretNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::ImeCandidateNodeValid => emit_impls::UnknownNodeValid);
role_alias!(emit_impls::PdfRootNodeValid => emit_impls::DocumentNodeValid);
role_alias!(emit_impls::PdfActionableHighlightNodeValid => emit_impls::LinkNodeValid);
role_alias!(emit_impls::GraphicsDocumentNodeValid => emit_impls::DocumentNodeValid);
role_alias!(emit_impls::GraphicsObjectNodeValid => emit_impls::GroupNodeValid);
role_alias!(emit_impls::GraphicsSymbolNodeValid => emit_impls::ImageNodeValid);
role_alias!(emit_impls::DocAbstractNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocAcknowledgementsNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocAfterwordNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocAppendixNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocBackLinkNodeValid => emit_impls::LinkNodeValid);
role_alias!(emit_impls::DocBiblioEntryNodeValid => emit_impls::ListItemNodeValid);
role_alias!(emit_impls::DocBibliographyNodeValid => emit_impls::ListNodeValid);
role_alias!(emit_impls::DocBiblioRefNodeValid => emit_impls::LinkNodeValid);
role_alias!(emit_impls::DocChapterNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocColophonNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocConclusionNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocCoverNodeValid => emit_impls::FigureNodeValid);
role_alias!(emit_impls::DocCreditNodeValid => emit_impls::ParagraphNodeValid);
role_alias!(emit_impls::DocCreditsNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocDedicationNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocEndnoteNodeValid => emit_impls::NoteNodeValid);
role_alias!(emit_impls::DocEndnotesNodeValid => emit_impls::ListNodeValid);
role_alias!(emit_impls::DocEpigraphNodeValid => emit_impls::BlockquoteNodeValid);
role_alias!(emit_impls::DocEpilogueNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocErrataNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocExampleNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocFootnoteNodeValid => emit_impls::NoteNodeValid);
role_alias!(emit_impls::DocForewordNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocGlossaryNodeValid => emit_impls::DescriptionListNodeValid);
role_alias!(emit_impls::DocGlossRefNodeValid => emit_impls::LinkNodeValid);
role_alias!(emit_impls::DocIndexNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocIntroductionNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocNoteRefNodeValid => emit_impls::LinkNodeValid);
role_alias!(emit_impls::DocNoticeNodeValid => emit_impls::AlertNodeValid);
role_alias!(emit_impls::DocPageBreakNodeValid => emit_impls::LineBreakNodeValid);
role_alias!(emit_impls::DocPageFooterNodeValid => emit_impls::SectionFooterNodeValid);
role_alias!(emit_impls::DocPageHeaderNodeValid => emit_impls::SectionHeaderNodeValid);
role_alias!(emit_impls::DocPageListNodeValid => emit_impls::ListNodeValid);
role_alias!(emit_impls::DocPartNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocPrefaceNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocPrologueNodeValid => emit_impls::SectionNodeValid);
role_alias!(emit_impls::DocPullquoteNodeValid => emit_impls::BlockquoteNodeValid);
role_alias!(emit_impls::DocQnaNodeValid => emit_impls::GroupNodeValid);
role_alias!(emit_impls::DocSubtitleNodeValid => emit_impls::HeadingNodeValid);
role_alias!(emit_impls::DocTipNodeValid => emit_impls::NoteNodeValid);
role_alias!(emit_impls::DocTocNodeValid => emit_impls::NavigationNodeValid);
role_alias!(emit_impls::DefaultButtonNodeValid => emit_impls::ButtonNodeValid);
role_alias!(emit_impls::EditableComboBoxNodeValid => emit_impls::ComboBoxNodeValid);
role_alias!(emit_impls::ScrollBarNodeValid => emit_impls::ProgressIndicatorNodeValid);
role_alias!(emit_impls::MultilineTextInputNodeValid => emit_impls::TextInputNodeValid);
role_alias!(emit_impls::NumberInputNodeValid => emit_impls::SpinButtonNodeValid);
pub use emit_impls::{
AbbrNodeValid, AlertDialogNodeValid, AlertNodeValid, ApplicationNodeValid, ArticleNodeValid,
AudioNodeValid, BannerNodeValid, BlockquoteNodeValid, ButtonNodeValid, CanvasNodeValid,
CaptionNodeValid, CaretNodeValid, CellNodeValid, CheckBoxNodeValid, CodeNodeValid,
ColorWellNodeValid, ColumnHeaderNodeValid, ComboBoxNodeValid, CommentNodeValid,
ComplementaryNodeValid, ContentDeletionNodeValid, ContentInfoNodeValid,
ContentInsertionNodeValid, DateInputNodeValid, DateTimeInputNodeValid, DefaultButtonNodeValid,
DefinitionNodeValid, DescriptionListNodeValid, DetailsNodeValid, DialogNodeValid,
DisclosureTriangleNodeValid, DocAbstractNodeValid, DocAcknowledgementsNodeValid,
DocAfterwordNodeValid, DocAppendixNodeValid, DocBackLinkNodeValid, DocBiblioEntryNodeValid,
DocBiblioRefNodeValid, DocBibliographyNodeValid, DocChapterNodeValid, DocColophonNodeValid,
DocConclusionNodeValid, DocCoverNodeValid, DocCreditNodeValid, DocCreditsNodeValid,
DocDedicationNodeValid, DocEndnoteNodeValid, DocEndnotesNodeValid, DocEpigraphNodeValid,
DocEpilogueNodeValid, DocErrataNodeValid, DocExampleNodeValid, DocFootnoteNodeValid,
DocForewordNodeValid, DocGlossRefNodeValid, DocGlossaryNodeValid, DocIndexNodeValid,
DocIntroductionNodeValid, DocNoteRefNodeValid, DocNoticeNodeValid, DocPageBreakNodeValid,
DocPageFooterNodeValid, DocPageHeaderNodeValid, DocPageListNodeValid, DocPartNodeValid,
DocPrefaceNodeValid, DocPrologueNodeValid, DocPullquoteNodeValid, DocQnaNodeValid,
DocSubtitleNodeValid, DocTipNodeValid, DocTocNodeValid, DocumentNodeValid,
EditableComboBoxNodeValid, EmailInputNodeValid, EmbeddedObjectNodeValid, EmphasisNodeValid,
FeedNodeValid, FigureCaptionNodeValid, FigureNodeValid, FooterNodeValid, FormNodeValid,
GenericContainerNodeValid, GraphicsDocumentNodeValid, GraphicsObjectNodeValid,
GraphicsSymbolNodeValid, GridCellNodeValid, GridNodeValid, GroupNodeValid, HeaderNodeValid,
HeadingNodeValid, IframeNodeValid, IframePresentationalNodeValid, ImageNodeValid,
ImeCandidateNodeValid, KeyboardNodeValid, LabelNodeValid, LayoutTableCellNodeValid,
LayoutTableNodeValid, LayoutTableRowNodeValid, LegendNodeValid, LineBreakNodeValid,
LinkNodeValid, ListBoxNodeValid, ListBoxOptionNodeValid, ListGridNodeValid, ListItemNodeValid,
ListMarkerNodeValid, ListNodeValid, LogNodeValid, MainNodeValid, MarkNodeValid,
MarqueeNodeValid, MathNodeValid, MenuBarNodeValid, MenuItemCheckBoxNodeValid,
MenuItemNodeValid, MenuItemRadioNodeValid, MenuListOptionNodeValid, MenuListPopupNodeValid,
MenuNodeValid, MeterNodeValid, MonthInputNodeValid, MultilineTextInputNodeValid,
NavigationNodeValid, NoteNodeValid, NumberInputNodeValid, PaneNodeValid, ParagraphNodeValid,
PasswordInputNodeValid, PdfActionableHighlightNodeValid, PdfRootNodeValid,
PhoneNumberInputNodeValid, PluginObjectNodeValid, ProgressIndicatorNodeValid,
RadioButtonNodeValid, RadioGroupNodeValid, RegionNodeValid, RootWebAreaNodeValid,
RowGroupNodeValid, RowHeaderNodeValid, RowNodeValid, RubyAnnotationNodeValid, RubyNodeValid,
ScrollBarNodeValid, ScrollViewNodeValid, SearchInputNodeValid, SearchNodeValid,
SectionFooterNodeValid, SectionHeaderNodeValid, SectionNodeValid, SliderNodeValid,
SpinButtonNodeValid, SplitterNodeValid, StatusNodeValid, StrongNodeValid, SuggestionNodeValid,
SvgRootNodeValid, SwitchNodeValid, TabListNodeValid, TabNodeValid, TabPanelNodeValid,
TableNodeValid, TermNodeValid, TerminalNodeValid, TextInputNodeValid, TextRunNodeValid,
TimeInputNodeValid, TimeNodeValid, TimerNodeValid, TitleBarNodeValid, ToolbarNodeValid,
TooltipNodeValid, TreeGridNodeValid, TreeItemNodeValid, TreeNodeValid, UnknownNodeValid,
UrlInputNodeValid, VideoNodeValid, WebViewNodeValid, WeekInputNodeValid, WindowNodeValid,
};