use crate::pass::AnalysisId;
pub const BINDINGS: AnalysisId = AnalysisId::new(1);
pub const UNDEFINED_REFS: AnalysisId = AnalysisId::new(2);
pub const UNUSED_BINDINGS: AnalysisId = AnalysisId::new(3);
pub const COMPONENT_USAGES: AnalysisId = AnalysisId::new(4);
pub const RENDER_TREE: AnalysisId = AnalysisId::new(5);
pub const REACTIVITY: AnalysisId = AnalysisId::new(6);
pub const EFFECT_GRAPH: AnalysisId = AnalysisId::new(7);
pub const PROVIDE_INJECT: AnalysisId = AnalysisId::new(8);
pub const RACE_CONDITIONS: AnalysisId = AnalysisId::new(9);
pub const HTML_ELEMENTS: AnalysisId = AnalysisId::new(10);
pub const HTML_COMPOSED_NESTING: AnalysisId = AnalysisId::new(11);
pub const EXPRESSION_FACTS: AnalysisId = AnalysisId::new(12);
pub const PARTIAL_HOLES: AnalysisId = AnalysisId::new(13);
pub const PARTIAL_REGIONS: AnalysisId = AnalysisId::new(14);
pub const PARTIAL_SCOPES: AnalysisId = AnalysisId::new(15);
pub const NATIVE_LINT_HEADERS: AnalysisId = AnalysisId::new(16);
pub const NATIVE_LINT_ATTRIBUTES: AnalysisId = AnalysisId::new(17);
pub const NATIVE_UNSUPPORTED_ARIA: AnalysisId = AnalysisId::new(18);
pub const NATIVE_DIRECT_INTERPOLATIONS: AnalysisId = AnalysisId::new(19);
pub const NATIVE_TEXTAREA_MUSTACHE: AnalysisId = AnalysisId::new(20);
pub const FIXTURE_BASE: u8 = 32;
pub const PRODUCTION: [AnalysisId; 20] = [
BINDINGS,
UNDEFINED_REFS,
UNUSED_BINDINGS,
COMPONENT_USAGES,
RENDER_TREE,
REACTIVITY,
EFFECT_GRAPH,
PROVIDE_INJECT,
RACE_CONDITIONS,
HTML_ELEMENTS,
HTML_COMPOSED_NESTING,
EXPRESSION_FACTS,
PARTIAL_HOLES,
PARTIAL_REGIONS,
PARTIAL_SCOPES,
NATIVE_LINT_HEADERS,
NATIVE_LINT_ATTRIBUTES,
NATIVE_UNSUPPORTED_ARIA,
NATIVE_DIRECT_INTERPOLATIONS,
NATIVE_TEXTAREA_MUSTACHE,
];
const _: () = {
let mut rest: &[AnalysisId] = &PRODUCTION;
let mut previous = None;
while let [id, tail @ ..] = rest {
assert!(id.index() < FIXTURE_BASE);
if let Some(previous) = previous {
assert!(previous < id.index());
}
previous = Some(id.index());
rest = tail;
}
};