Struct naga::back::FunctionCtx
source · pub struct FunctionCtx<'a> {
pub ty: FunctionType,
pub info: &'a FunctionInfo,
pub expressions: &'a Arena<Expression>,
pub named_expressions: &'a FastIndexMap<Handle<Expression>, String>,
pub expr_kind_tracker: ExpressionKindTracker,
}
Expand description
Helper structure that stores data needed when writing the function
Fields§
§ty: FunctionType
The current function being written
info: &'a FunctionInfo
Analysis about the function
expressions: &'a Arena<Expression>
The expression arena of the current function being written
named_expressions: &'a FastIndexMap<Handle<Expression>, String>
Map of expressions that have associated variable names
expr_kind_tracker: ExpressionKindTracker
For constness checks
Implementations§
source§impl FunctionCtx<'_>
impl FunctionCtx<'_>
sourcepub fn resolve_type<'a>(
&'a self,
handle: Handle<Expression>,
types: &'a UniqueArena<Type>,
) -> &'a TypeInner
pub fn resolve_type<'a>( &'a self, handle: Handle<Expression>, types: &'a UniqueArena<Type>, ) -> &'a TypeInner
Helper method that resolves a type of a given expression.
sourcepub const fn name_key(&self, local: Handle<LocalVariable>) -> NameKey
pub const fn name_key(&self, local: Handle<LocalVariable>) -> NameKey
Helper method that generates a NameKey
for a local in the current function
sourcepub const fn argument_key(&self, arg: u32) -> NameKey
pub const fn argument_key(&self, arg: u32) -> NameKey
sourcepub fn is_fixed_function_input(
&self,
expression: Handle<Expression>,
module: &Module,
) -> Option<BuiltIn>
pub fn is_fixed_function_input( &self, expression: Handle<Expression>, module: &Module, ) -> Option<BuiltIn>
Returns true if the given expression points to a fixed-function pipeline input.
Auto Trait Implementations§
impl<'a> Freeze for FunctionCtx<'a>
impl<'a> RefUnwindSafe for FunctionCtx<'a>
impl<'a> Send for FunctionCtx<'a>
impl<'a> Sync for FunctionCtx<'a>
impl<'a> Unpin for FunctionCtx<'a>
impl<'a> UnwindSafe for FunctionCtx<'a>
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