pub struct ExpressionInfo {
pub uniformity: Uniformity,
pub ref_count: usize,
assignable_global: Option<Handle<GlobalVariable>>,
pub ty: TypeResolution,
}
Expand description
Information about an expression in a function body.
Fields§
§uniformity: Uniformity
Whether this expression is uniform, and why.
If this expression’s value is not uniform, this is the handle
of the expression from which this one’s non-uniformity
originates. Otherwise, this is None
.
ref_count: usize
The number of direct references to this expression in statements and other expressions.
This is a local reference count only, it may be non-zero for expressions that are ultimately unused.
assignable_global: Option<Handle<GlobalVariable>>
The global variable into which this expression produces a pointer.
This is None
unless this expression is either a
GlobalVariable
, or an Access
or AccessIndex
that
ultimately refers to some part of a global.
Load
expressions applied to pointer-typed arguments could
refer to globals, but we leave this as None
for them.
ty: TypeResolution
The type of this expression.
Implementations§
Trait Implementations§
Source§impl Clone for ExpressionInfo
impl Clone for ExpressionInfo
Source§fn clone(&self) -> ExpressionInfo
fn clone(&self) -> ExpressionInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more