pub struct PreprocessedSource {
pub bytes: Vec<u8>,
pub macros: Vec<MacroDef>,
pub include_events: Vec<IncludeEvent>,
pub include_byte_cache_stats: IncludeByteCacheStats,
pub conditional_events: Vec<ConditionalEvent>,
pub macro_events: Vec<MacroEvent>,
pub macro_expansion_events: Vec<MacroExpansionEvent>,
pub token_provenance_events: Vec<TokenProvenanceEvent>,
pub include_acceleration_events: Vec<IncludeAccelerationEvent>,
pub header_reuse_events: Vec<HeaderReuseEvent>,
}Expand description
Output of the driver.
Fields§
§bytes: Vec<u8>Concatenated active bytes - line-spliced, comment-stripped,
conditional-masked, include-expanded. Macro expansion is
deliberately NOT performed here (mirrors the v0.4
prepare_resident_translation_unit_source contract).
macros: Vec<MacroDef>Macros accumulated during the walk (CLI macros + every
#define in active branches). Downstream macro-expansion
kernels consume this.
include_events: Vec<IncludeEvent>Include graph events whose requests were extracted by GPU directive payload kernels. Resolution/read remains host filesystem metadata.
include_byte_cache_stats: IncludeByteCacheStatsPer-run include byte-cache counters for loader avoidance evidence.
conditional_events: Vec<ConditionalEvent>Conditional stack events whose directive payloads are GPU-derived.
macro_events: Vec<MacroEvent>Macro definition-table events whose directive payloads are GPU-derived.
macro_expansion_events: Vec<MacroExpansionEvent>Macro expansion origin events.
token_provenance_events: Vec<TokenProvenanceEvent>Token-level spelling and expansion provenance for the preprocessed output.
include_acceleration_events: Vec<IncludeAccelerationEvent>Include guard / pragma-once acceleration evidence.
header_reuse_events: Vec<HeaderReuseEvent>Header-analysis cache reuse evidence.
Trait Implementations§
Source§impl Clone for PreprocessedSource
impl Clone for PreprocessedSource
Source§fn clone(&self) -> PreprocessedSource
fn clone(&self) -> PreprocessedSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PreprocessedSource
impl Debug for PreprocessedSource
impl Eq for PreprocessedSource
Source§impl PartialEq for PreprocessedSource
impl PartialEq for PreprocessedSource
impl StructuralPartialEq for PreprocessedSource
Auto Trait Implementations§
impl Freeze for PreprocessedSource
impl RefUnwindSafe for PreprocessedSource
impl Send for PreprocessedSource
impl Sync for PreprocessedSource
impl Unpin for PreprocessedSource
impl UnsafeUnpin for PreprocessedSource
impl UnwindSafe for PreprocessedSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more