pub struct Context {
pub components: Vec<Component>,
pub lib: LibrarySignatures,
pub entrypoint: Id,
pub bc: BackendConf,
pub extra_opts: Vec<String>,
pub metadata: Option<String>,
pub source_info_table: Option<SourceInfoTable>,
}
Expand description
The IR Context that represents an entire Calyx program with all of its imports and dependencies resolved.
Fields§
§components: Vec<Component>
The components for this program.
lib: LibrarySignatures
Library definitions imported by the program.
entrypoint: Id
Entrypoint for the program
bc: BackendConf
Configuration flags for backends.
extra_opts: Vec<String>
Extra options provided to the command line. Interpreted by individual passes
metadata: Option<String>
An optional opaque metadata string
source_info_table: Option<SourceInfoTable>
An optional metadata mapping table
Implementations§
Source§impl Context
impl Context
Sourcepub fn entrypoint(&self) -> &Component
pub fn entrypoint(&self) -> &Component
Return the entrypoint component.
Sourcepub fn entrypoint_mut(&mut self) -> &mut Component
pub fn entrypoint_mut(&mut self) -> &mut Component
Return the entrypoint component with mutable access.
Auto Trait Implementations§
impl Freeze for Context
impl !RefUnwindSafe for Context
impl !Send for Context
impl !Sync for Context
impl Unpin for Context
impl !UnwindSafe for Context
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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