Enum cwe_checker_lib::pcode::ExpressionType
source · pub enum ExpressionType {
Show 55 variants
COPY,
LOAD,
STORE,
PIECE,
SUBPIECE,
POPCOUNT,
LZCOUNT,
INT_EQUAL,
INT_NOTEQUAL,
INT_LESS,
INT_SLESS,
INT_LESSEQUAL,
INT_SLESSEQUAL,
INT_ADD,
INT_SUB,
INT_CARRY,
INT_SCARRY,
INT_SBORROW,
INT_XOR,
INT_AND,
INT_OR,
INT_LEFT,
INT_RIGHT,
INT_SRIGHT,
INT_MULT,
INT_DIV,
INT_REM,
INT_SDIV,
INT_SREM,
BOOL_XOR,
BOOL_AND,
BOOL_OR,
FLOAT_EQUAL,
FLOAT_NOTEQUAL,
FLOAT_LESS,
FLOAT_LESSEQUAL,
FLOAT_ADD,
FLOAT_SUB,
FLOAT_MULT,
FLOAT_DIV,
INT_NEGATE,
INT_2COMP,
BOOL_NEGATE,
FLOAT_NEG,
FLOAT_ABS,
FLOAT_SQRT,
FLOAT_CEIL,
FLOAT_FLOOR,
FLOAT_ROUND,
FLOAT_NAN,
INT_ZEXT,
INT_SEXT,
INT2FLOAT,
FLOAT2FLOAT,
TRUNC,
}
Expand description
Expression Opcodes as parsed from Ghidra
Variants§
COPY
LOAD
STORE
PIECE
SUBPIECE
POPCOUNT
LZCOUNT
INT_EQUAL
INT_NOTEQUAL
INT_LESS
INT_SLESS
INT_LESSEQUAL
INT_SLESSEQUAL
INT_ADD
INT_SUB
INT_CARRY
INT_SCARRY
INT_SBORROW
INT_XOR
INT_AND
INT_OR
INT_LEFT
INT_RIGHT
INT_SRIGHT
INT_MULT
INT_DIV
INT_REM
INT_SDIV
INT_SREM
BOOL_XOR
BOOL_AND
BOOL_OR
FLOAT_EQUAL
FLOAT_NOTEQUAL
FLOAT_LESS
FLOAT_LESSEQUAL
FLOAT_ADD
FLOAT_SUB
FLOAT_MULT
FLOAT_DIV
INT_NEGATE
INT_2COMP
BOOL_NEGATE
FLOAT_NEG
FLOAT_ABS
FLOAT_SQRT
FLOAT_CEIL
FLOAT_FLOOR
FLOAT_ROUND
FLOAT_NAN
INT_ZEXT
INT_SEXT
INT2FLOAT
FLOAT2FLOAT
TRUNC
Trait Implementations§
source§impl Clone for ExpressionType
impl Clone for ExpressionType
source§fn clone(&self) -> ExpressionType
fn clone(&self) -> ExpressionType
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ExpressionType
impl Debug for ExpressionType
source§impl<'de> Deserialize<'de> for ExpressionType
impl<'de> Deserialize<'de> for ExpressionType
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<ExpressionType> for BinOpType
impl From<ExpressionType> for BinOpType
source§fn from(expr_type: ExpressionType) -> IrBinOpType
fn from(expr_type: ExpressionType) -> IrBinOpType
Translates expression types. Panics when given a type not representable by the target type.
source§impl From<ExpressionType> for CastOpType
impl From<ExpressionType> for CastOpType
source§fn from(expr_type: ExpressionType) -> IrCastOpType
fn from(expr_type: ExpressionType) -> IrCastOpType
Translates expression types. Panics when given a type not representable by the target type.
source§impl From<ExpressionType> for UnOpType
impl From<ExpressionType> for UnOpType
source§fn from(expr_type: ExpressionType) -> IrUnOpType
fn from(expr_type: ExpressionType) -> IrUnOpType
Translates expression types. Panics when given a type not representable by the target type.
source§impl Hash for ExpressionType
impl Hash for ExpressionType
source§impl PartialEq for ExpressionType
impl PartialEq for ExpressionType
source§fn eq(&self, other: &ExpressionType) -> bool
fn eq(&self, other: &ExpressionType) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for ExpressionType
impl Serialize for ExpressionType
impl Copy for ExpressionType
impl Eq for ExpressionType
impl StructuralEq for ExpressionType
impl StructuralPartialEq for ExpressionType
Auto Trait Implementations§
impl RefUnwindSafe for ExpressionType
impl Send for ExpressionType
impl Sync for ExpressionType
impl Unpin for ExpressionType
impl UnwindSafe for ExpressionType
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.