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<'_>

source

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.

source

pub const fn name_key(&self, local: Handle<LocalVariable>) -> NameKey

Helper method that generates a NameKey for a local in the current function

source

pub const fn argument_key(&self, arg: u32) -> NameKey

Helper method that generates a NameKey for a function argument.

§Panics
  • If the function arguments are less or equal to arg
source

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.