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
)
}