materialize_pattern_syntax

func materialize_pattern_syntax(syntax: &Syntax<Pattern>) -> MaterializedResult<Pattern>

Materializes and validates pattern syntax through the canonical pattern parser.

Identifier metadata maps each virtual token back to its source and hygiene context; consumers must not infer identity from rendered text alone.

View Source
pub func materialize_pattern_syntax(syntax: &Syntax<Pattern>) -> MaterializedResult<Pattern> {
	let materialized = materialize(raw: syntax.raw, group_splices: true)
	let outcome = parse_pattern_tokens(source: materialized.source, input: materialized.input)
	if let .some(failure) = parse_failure(outcome: outcome, fallback: materialized.input.span) {
		return MaterializedResult<Pattern>(value: .none, failure: .some(failure))
	}
	MaterializedResult<Pattern>(
		value: .some(MaterializedSyntax<Pattern>(source: materialized.source, input: materialized.input, outcome: outcome, identifiers: materialized.identifiers)),
		failure: .none
	)
}