materialize_decl_syntax_in

func materialize_decl_syntax_in(syntax: &Syntax<Decl>, context_tag: Int) -> MaterializedResult<Decl>

The declaration category parse at the wrapper service boundary, in the declaration context the replacement will occupy.

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