syntax_metadata_output

func syntax_metadata_output<Category>(materialized: &MaterializedSyntax<Category>) -> SyntaxMetadataOutput

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