pub struct CompiledQuery { /* private fields */ }Expand description
A compiled query ready for execution.
Contains a single contiguous buffer with all segments, plus offset indices for O(1) access to each segment.
Implementations§
Source§impl CompiledQuery
impl CompiledQuery
Sourcepub fn new(
buffer: CompiledQueryBuffer,
successors_offset: u32,
effects_offset: u32,
negated_fields_offset: u32,
string_refs_offset: u32,
string_bytes_offset: u32,
type_defs_offset: u32,
type_members_offset: u32,
entrypoints_offset: u32,
trivia_kinds_offset: u32,
transition_count: u32,
successor_count: u32,
effect_count: u32,
negated_field_count: u16,
string_ref_count: u16,
type_def_count: u16,
type_member_count: u16,
entrypoint_count: u16,
trivia_kind_count: u16,
) -> Self
pub fn new( buffer: CompiledQueryBuffer, successors_offset: u32, effects_offset: u32, negated_fields_offset: u32, string_refs_offset: u32, string_bytes_offset: u32, type_defs_offset: u32, type_members_offset: u32, entrypoints_offset: u32, trivia_kinds_offset: u32, transition_count: u32, successor_count: u32, effect_count: u32, negated_field_count: u16, string_ref_count: u16, type_def_count: u16, type_member_count: u16, entrypoint_count: u16, trivia_kind_count: u16, ) -> Self
Creates a new compiled query from pre-built components.
This is typically called by the emitter after layout computation.
Sourcepub fn transitions(&self) -> &[Transition]
pub fn transitions(&self) -> &[Transition]
Returns the transitions segment.
Sourcepub fn successors(&self) -> &[TransitionId] ⓘ
pub fn successors(&self) -> &[TransitionId] ⓘ
Returns the successors segment.
Sourcepub fn negated_fields(&self) -> &[NodeFieldId] ⓘ
pub fn negated_fields(&self) -> &[NodeFieldId] ⓘ
Returns the negated fields segment.
Sourcepub fn string_refs(&self) -> &[StringRef]
pub fn string_refs(&self) -> &[StringRef]
Returns the string refs segment.
Sourcepub fn string_bytes(&self) -> &[u8] ⓘ
pub fn string_bytes(&self) -> &[u8] ⓘ
Returns the raw string bytes.
Sourcepub fn type_members(&self) -> &[TypeMember]
pub fn type_members(&self) -> &[TypeMember]
Returns the type members segment.
Sourcepub fn entrypoints(&self) -> &[Entrypoint]
pub fn entrypoints(&self) -> &[Entrypoint]
Returns the entrypoints segment.
Sourcepub fn trivia_kinds(&self) -> &[NodeTypeId] ⓘ
pub fn trivia_kinds(&self) -> &[NodeTypeId] ⓘ
Returns the trivia kinds segment (node types to skip).
Sourcepub fn transition(&self, id: TransitionId) -> &Transition
pub fn transition(&self, id: TransitionId) -> &Transition
Returns a transition by ID.
Sourcepub fn transition_view(&self, id: TransitionId) -> TransitionView<'_>
pub fn transition_view(&self, id: TransitionId) -> TransitionView<'_>
Returns a view of a transition with resolved slices.
Sourcepub fn resolve_effects(&self, slice: Slice<EffectOp>) -> &[EffectOp]
pub fn resolve_effects(&self, slice: Slice<EffectOp>) -> &[EffectOp]
Resolves a slice of effects.
Sourcepub fn resolve_negated_fields(
&self,
slice: Slice<NodeFieldId>,
) -> &[NodeFieldId] ⓘ
pub fn resolve_negated_fields( &self, slice: Slice<NodeFieldId>, ) -> &[NodeFieldId] ⓘ
Resolves a slice of negated fields.
Sourcepub fn resolve_type_members(&self, slice: Slice<TypeMember>) -> &[TypeMember]
pub fn resolve_type_members(&self, slice: Slice<TypeMember>) -> &[TypeMember]
Resolves a slice of type members.
Sourcepub fn resolve_successors_by_id(&self, id: TransitionId) -> &[TransitionId] ⓘ
pub fn resolve_successors_by_id(&self, id: TransitionId) -> &[TransitionId] ⓘ
Resolves successors for a transition by ID, handling both inline and spilled cases.
Sourcepub fn transition_count(&self) -> u32
pub fn transition_count(&self) -> u32
Returns the number of transitions.
Sourcepub fn entrypoint_count(&self) -> u16
pub fn entrypoint_count(&self) -> u16
Returns the number of entrypoints.
Sourcepub fn buffer(&self) -> &CompiledQueryBuffer
pub fn buffer(&self) -> &CompiledQueryBuffer
Returns the raw buffer for serialization.
Sourcepub fn offsets(&self) -> CompiledQueryOffsets
pub fn offsets(&self) -> CompiledQueryOffsets
Returns offset metadata for serialization.