struct loomc_context_t loomc_context_t
Immutable Loom API context.
Definition context.h:63
loomc_status_t loomc_context_create(const loomc_context_options_t *options, loomc_allocator_t allocator, loomc_context_t **out_context)
Creates a reusable Loom API context.
void loomc_context_retain(loomc_context_t *context)
Retains context for another owner.
void loomc_context_release(loomc_context_t *context)
Releases context from one owner.
loomc_source_retention_t
Retention policy for source contents used to enrich diagnostics.
Definition context.h:66
@ LOOMC_SOURCE_RETENTION_EXACT
Retain exact source contents referenced by admitted IR.
Definition context.h:69
@ LOOMC_SOURCE_RETENTION_METADATA_ONLY
Retain source identifiers and available coordinates without source contents.
Definition context.h:74
Context creation options.
Definition context.h:82
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition context.h:88
loomc_structure_type_t type
Structure type.
Definition context.h:85
const void * next
Extension chain for context options such as loomc_context_target_options_t.
Definition context.h:92
loomc_source_retention_t source_retention
Source-content retention for operations using this context.
Definition context.h:97