1#[cfg(test)]
7pub(crate) use omena_syntax::SyntaxKind;
8pub use omena_syntax::{CssKeywordText, StyleDialect, css_keyword};
9
10mod closed_world;
11mod cst;
12mod extension;
13mod facts;
14mod instrumentation;
15mod language;
16mod lex;
17mod parse;
18mod parse_tree_contract_idl_generated;
19mod public_product;
24mod recovery;
25mod spans;
26mod summaries;
27mod syntax_helpers;
28mod value_names;
29pub use closed_world::{
30 ClosedWorldBundleBuildErrorV0, ClosedWorldBundleV0, ClosedWorldComposesEdgeV0,
31 ClosedWorldComposesScanStateV0, ClosedWorldInterfaceHashAvailabilityV0,
32 ClosedWorldInterfaceHashEntryV0, ClosedWorldInterfaceHashSetV0, ClosedWorldLinkedModuleV0,
33 ClosedWorldModuleMetadataV0, ClosedWorldModuleReachabilityEvidenceV0,
34 ClosedWorldReachabilityBitsetParityReportV0, ClosedWorldSourcePrecisionSummaryV0,
35 ConfigurationHashV0, ModuleIdV0, ModuleInstanceKeyV0, ModuleQualifiedSymbolSetV0,
36 OpenWorldSnapshotV0, ReachabilityIndexV0, summarize_closed_world_reachability_bitset_parity_v0,
37};
38pub use cst::{
39 AtRuleCstNode, BogusCstNode, CommaSeparatedComponentValueListCstNode, ComponentValueCstNode,
40 ComponentValueListCstNode, CustomPropertyValueCstNode, DeclarationCstNode,
41 DeclarationListCstNode, ParsedCst, RuleCstNode, SelectorCstNode, SimpleBlockCstNode,
42 StylesheetCstNode, TypedCstNode, UrlValueCstNode, ValueCstNode, is_at_rule_node_kind,
43};
44pub use extension::{BuiltinDialectExtension, DialectExtension, TemplatePlaceholderMode};
45pub(crate) use extension::{at_rule_spec, scss_at_rule_spec};
46pub use facts::{
47 ParsedAnimationFact, ParsedAnimationFactKind, ParsedAtRuleFact,
48 ParsedCssModuleComposesEdgeFact, ParsedCssModuleComposesEdgeKind, ParsedCssModuleComposesFact,
49 ParsedCssModuleComposesFactKind, ParsedCssModuleValueDefinitionEdgeFact,
50 ParsedCssModuleValueFact, ParsedCssModuleValueFactKind, ParsedCssModuleValueImportEdgeFact,
51 ParsedEmissionSelectorFactKindV0, ParsedEmissionSelectorFactV0, ParsedEmissionSelectorFactsV0,
52 ParsedExtendTargetFact, ParsedExtendTargetFactKind, ParsedIcssExportEdgeFact, ParsedIcssFact,
53 ParsedIcssFactKind, ParsedIcssImportEdgeFact, ParsedSassCallableParameterFact,
54 ParsedSassCallableSignatureFact, ParsedSassIncludeFact, ParsedSassModuleEdgeFact,
55 ParsedSassModuleEdgeFactKind, ParsedSassPlaceholderDefinitionFact, ParsedSassSymbolFact,
56 ParsedSassSymbolFactKind, ParsedSelectorFact, ParsedSelectorFactKind,
57 ParsedStyleFactCollectionV0, ParsedStyleFacts, ParsedVariableFact, ParsedVariableFactKind,
58 collect_emission_selector_facts_from_cst, collect_icss_export_values_from_cst,
59 collect_style_fact_collection_with_extension, collect_style_facts_with_extension,
60 facts_from_cst,
61};
62pub(crate) use facts::{
63 SelectorBranch, collect_class_selector_names_from_header,
64 css_module_block_scope_marker_in_header, css_module_header_is_global_only,
65 product_facts_from_cst, resolve_selector_header, split_selector_groups,
66};
67pub(crate) use facts::{
68 collect_css_module_value_definition_edge_names, css_module_value_reference_token_can_be_name,
69 css_module_value_source_name, css_module_value_statement_end, declaration_colon_index,
70};
71#[cfg(feature = "test-support")]
72pub(crate) use instrumentation::record_closed_world_bundle_construction_for_test;
73pub use instrumentation::{
74 OmenaParserLexInstrumentationSnapshotV0, OmenaParserParseInstrumentationSnapshotV0,
75 with_omena_parser_lex_instrumentation, with_omena_parser_parse_instrumentation,
76};
77#[cfg(feature = "test-support")]
78pub use instrumentation::{
79 closed_world_bundle_construction_count_for_test,
80 reset_closed_world_bundle_construction_count_for_test,
81};
82#[cfg(test)]
83pub(crate) use instrumentation::{
84 omena_parser_syntax_root_materialization_count,
85 reset_omena_parser_syntax_root_materialization_count,
86};
87pub(crate) use instrumentation::{
88 record_omena_parser_lex_materialization, record_omena_parser_parse_materialization,
89 record_omena_parser_syntax_root_materialization,
90};
91pub use language::StyleLanguage;
92pub use lex::{LexResult, LexedToken};
93pub(crate) use lex::{Token, Tokenizer, public_token_text};
94pub use parse::{
95 HirId, ParseEntryPoint, ParseError, ParseErrorCode, ParseResult, ParseReuseCache, SyntaxNodeId,
96 collect_style_fact_collection, collect_style_facts, hir_id_for_syntax_node, lex,
97 lex_with_extension, parse, parse_entry_point, parse_entry_point_with_extension,
98 parse_entry_point_with_extension_and_reuse_cache, parse_entry_point_with_reuse_cache,
99 parse_only, parse_with_extension, parse_with_reuse_cache, syntax_node_id,
100};
101pub(crate) use parse::{Parser, tokenize};
102pub use parse_tree_contract_idl_generated::ParseTreeNodeV0;
103pub use public_product::{
104 ParserCanonicalCandidateBundleV0, ParserCanonicalProducerSignalV0,
105 ParserDeclarationSelectorContextV0, ParserDeclarationSyntaxFactV0, ParserEvaluatorCandidatesV0,
106 ParserIndexSummaryV0, ProductSyntaxIndexV0, collect_parser_declaration_syntax_facts,
107 dialect_for_path, summarize_css_modules_intermediate, summarize_parser_canonical_candidate,
108 summarize_parser_canonical_producer_signal, summarize_parser_evaluator_candidates,
109};
110pub use recovery::{RECOVERY_DECLARATION, RECOVERY_SELECTOR, RECOVERY_TOP, TokenSet};
111pub use spans::{ParserByteSpanV0, ParserPositionV0, ParserRangeV0};
112pub use summaries::{
113 OmenaParserAtRuleKindCountsV0, OmenaParserCssModuleComposesEdgeFactV0,
114 OmenaParserCssModuleValueDefinitionEdgeFactV0, OmenaParserCssModuleValueImportEdgeFactV0,
115 OmenaParserDeclarationKindCountsV0, OmenaParserIcssExportEdgeFactV0,
116 OmenaParserIcssImportEdgeFactV0, OmenaParserLexSummaryV0, OmenaParserLexTokenV0,
117 OmenaParserParityLiteSummaryV0, OmenaParserSassModuleEdgeFactV0, OmenaParserSassSymbolFactV0,
118 OmenaParserSassSymbolResolutionCapabilitiesV0, OmenaParserSassSymbolResolutionEdgeV0,
119 OmenaParserSassSymbolResolutionV0, OmenaParserStyleFactsSummaryV0, ParserBoundarySummary,
120 ParserCstEquivalenceSummaryV0, ParserPrattValueCoverageSummaryV0,
121 ParserRecursiveDescentCoverageSummaryV0, ParserSemanticNameConsumptionSummaryV0,
122 summarize_omena_parser_lex, summarize_omena_parser_parity_lite,
123 summarize_omena_parser_style_facts, summarize_parser_boundary,
124 summarize_parser_cst_equivalence, summarize_parser_semantic_name_consumption,
125 summarize_pratt_value_parser_coverage, summarize_recursive_descent_parser_coverage,
126};
127#[cfg(test)]
128pub(crate) use syntax_helpers::infix_binding_power;
129pub(crate) use syntax_helpers::{
130 UNARY_PREFIX_RIGHT_BINDING_POWER, at_rule_prelude_head_is_custom_ident,
131 at_rule_prelude_head_is_custom_property_name, attribute_name_token_can_continue,
132 attribute_name_token_can_start, attribute_value_token_can_start, bracketed_value_recovery,
133 comma_separated_component_value_list_item_recovery, containing_at_rule_header_name,
134 css_module_scope_function_kind, dialect_allows_value_logical_operators,
135 find_block_after_header, find_selector_block_after_header, function_argument_count_is_valid,
136 function_argument_recovery, function_requires_filled_top_level_arguments,
137 interpolation_end_kind, is_at_rule_prelude_boundary, is_attribute_matcher, is_combinator,
138 is_component_value_atom_start, is_css_module_from_source_token,
139 is_dynamic_function_argument_head, is_interpolation_start, is_nth_pseudo_class,
140 is_scss_control_rule_kind, is_scss_module_namespace_token, is_scss_module_source_token,
141 is_scss_module_visibility_name_token, is_selector_boundary, is_selector_boundary_until,
142 is_selector_combinator_kind, is_selector_list_pseudo_class, is_statement_end,
143 keyframe_selector_token_is_valid, language_tag_token_can_start, matches_ignore_ascii_case,
144 matching_right_brace, matching_right_paren_from_range, matching_simple_block_close,
145 namespace_selector_target_can_start, next_non_trivia_token, next_non_trivia_token_after_range,
146 next_non_trivia_token_index_until, next_non_trivia_token_until, previous_non_trivia_token,
147 previous_non_trivia_token_index, selector_component_can_end, selector_component_can_start,
148 selector_item_token_is_recoverable, simple_block_recovery,
149 skip_statement_or_unmatched_boundary, skip_trivia_tokens, specialized_function_kind,
150 style_wrapper_at_rule, token_index_by_range, top_level_token_kind_index,
151 top_level_token_text_index, value_infix_operator_binding, value_list_item_recovery,
152 variable_declaration_node_kind,
153};
154
155#[cfg(test)]
156mod tests;