pub fn bits(&self) -> usize {
        match *self {
            Expression::Scalar(ref scalar) => scalar.bits(),
            Expression::Constant(ref constant) => constant.bits(),
            Expression::Add(ref lhs, _)
            | Expression::Sub(ref lhs, _)
            | Expression::Mul(ref lhs, _)
            | Expression::Divu(ref lhs, _)
            | Expression::Modu(ref lhs, _)
            | Expression::Divs(ref lhs, _)
            | Expression::Mods(ref lhs, _)
            | Expression::And(ref lhs, _)
            | Expression::Or(ref lhs, _)
            | Expression::Xor(ref lhs, _)
            | Expression::Shl(ref lhs, _)
            | Expression::Shr(ref lhs, _) => lhs.bits(),
            #[cfg(feature = "il-expression-ashr")]
            Expression::AShr(ref lhs, _) => lhs.bits(),
            Expression::Cmpeq(_, _)
            | Expression::Cmpneq(_, _)
            | Expression::Cmplts(_, _)
            | Expression::Cmpltu(_, _) => 1,
            Expression::Zext(bits, _) | Expression::Sext(bits, _) | Expression::Trun(bits, _) => {
                bits
            }
            Expression::Ite(_, ref lhs, _) => lhs.bits(),
        }
    }
/// Return the bitness of this expression.
Return the bitness of this expression.
Return the bitness of this expression .
pub fn bits(&self) -> usize {
        match *self {
            Expression::Scalar(ref scalar) => scalar.bits(),
            Expression::Constant(ref constant) => constant.bits(),
            Expression::Add(ref lhs, _)
            | Expression::Sub(ref lhs, _)
            | Expression::Mul(ref lhs, _)
            | Expression::Divu(ref lhs, _)
            | Expression::Modu(ref lhs, _)
            | Expression::Divs(ref lhs, _)
            | Expression::Mods(ref lhs, _)
            | Expression::And(ref lhs, _)
            | Expression::Or(ref lhs, _)
            | Expression::Xor(ref lhs, _)
            | Expression::Shl(ref lhs, _)
            | Expression::Shr(ref lhs, _) => lhs.bits(),
            #[cfg(feature = "il-expression-ashr")]
            Expression::AShr(ref lhs, _) => lhs.bits(),
            Expression::Cmpeq(_, _)
            | Expression::Cmpneq(_, _)
            | Expression::Cmplts(_, _)
            | Expression::Cmpltu(_, _) => 1,
            Expression::Zext(bits, _) | Expression::Sext(bits, _) | Expression::Trun(bits, _) => {
                bits
            }
            Expression::Ite(_, ref lhs, _) => lhs.bits(),
        }
    }
pub fn bits ( & self ) -> usize { match * self { Expression :: Scalar ( ref scalar ) => scalar . bits ( ) , Expression :: Constant ( ref constant ) => constant . bits ( ) , Expression :: Add ( ref lhs , _ ) | Expression :: Sub ( ref lhs , _ ) | Expression :: Mul ( ref lhs , _ ) | Expression :: Divu ( ref lhs , _ ) | Expression :: Modu ( ref lhs , _ ) | Expression :: Divs ( ref lhs , _ ) | Expression :: Mods ( ref lhs , _ ) | Expression :: And ( ref lhs , _ ) | Expression :: Or ( ref lhs , _ ) | Expression :: Xor ( ref lhs , _ ) | Expression :: Shl ( ref lhs , _ ) | Expression :: Shr ( ref lhs , _ ) => lhs . bits ( ) , # [ cfg ( feature " " ) ] Expression :: AShr ( ref lhs , _ ) => lhs . bits ( ) , Expression :: Cmpeq ( _ , _ ) | Expression :: Cmpneq ( _ , _ ) | Expression :: Cmplts ( _ , _ ) | Expression :: Cmpltu ( _ , _ ) => 1 , Expression :: Zext ( bits , _ ) | Expression :: Sext ( bits , _ ) | Expression :: Trun ( bits , _ ) => { bits } Expression :: Ite ( _ , ref lhs , _ ) => lhs . bits ( ) , } }
Return the bitness of this expression.
Return the bitness of this expression .
&self
&self