func syntax_metadata_output<Category>(materialized: &MaterializedSyntax<Category>) -> SyntaxMetadataOutputSerializes materialized syntax metadata for the macro host.
View Source
pub func syntax_metadata_output<Category>(materialized: &MaterializedSyntax<Category>) -> SyntaxMetadataOutput {
let identifiers: [SyntaxIdentifierRecord] = []
for identifier in materialized.identifiers {
identifiers.push(SyntaxIdentifierRecord(
text: identifier.text,
span_start: identifier.span.lower,
span_end: identifier.span.upper,
lexeme_start: identifier.lexeme.lower,
lexeme_end: identifier.lexeme.upper,
scopes: scope_records(context: identifier.context),
origin: identifier.origin,
source_id: identifier.source_id,
source_span_start: identifier.source_span.lower,
source_span_end: identifier.source_span.upper,
source_lexeme_start: identifier.source_lexeme.lower,
source_lexeme_end: identifier.source_lexeme.upper
))
}
SyntaxMetadataOutput(identifiers: identifiers)
}