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