[−][src]Enum c2rust_transpile::c_ast::CExprKind
Represents an expression in C (6.5 Expressions)
We've kept a qualified type on every node since Clang has this information available, and since the semantics of translations of certain constructs often depend on the type of the things they are given.
As per the C standard, qualifiers on types make sense only on lvalues.
Variants
Literal(CQualTypeId, CLiteral)
Unary(CQualTypeId, UnOp, CExprId, LRValue)
UnaryType(CQualTypeId, UnTypeOp, Option<CExprId>, CQualTypeId)
OffsetOf(CQualTypeId, OffsetOfKind)
Binary(CQualTypeId, BinOp, CExprId, CExprId, Option<CQualTypeId>, Option<CQualTypeId>)
ImplicitCast(CQualTypeId, CExprId, CastKind, Option<CFieldId>, LRValue)
ExplicitCast(CQualTypeId, CExprId, CastKind, Option<CFieldId>, LRValue)
DeclRef(CQualTypeId, CDeclId, LRValue)
Call(CQualTypeId, CExprId, Vec<CExprId>)
Member(CQualTypeId, CExprId, CDeclId, MemberKind, LRValue)
ArraySubscript(CQualTypeId, CExprId, CExprId, LRValue)
Conditional(CQualTypeId, CExprId, CExprId, CExprId)
BinaryConditional(CQualTypeId, CExprId, CExprId)
InitList(CQualTypeId, Vec<CExprId>, Option<CFieldId>, Option<CExprId>)
ImplicitValueInit(CQualTypeId)
CompoundLiteral(CQualTypeId, CExprId)
Predefined(CQualTypeId, CExprId)
Statements(CQualTypeId, CStmtId)
VAArg(CQualTypeId, CExprId)
ShuffleVector(CQualTypeId, Vec<CExprId>)
ConvertVector(CQualTypeId, Vec<CExprId>)
DesignatedInitExpr(CQualTypeId, Vec<Designator>, CExprId)
BadExpr
Methods
impl CExprKind
[src]
pub fn lrvalue(&self) -> LRValue
[src]
pub fn get_qual_type(&self) -> Option<CQualTypeId>
[src]
pub fn get_type(&self) -> Option<CTypeId>
[src]
pub fn get_bool(&self) -> Option<bool>
[src]
Try to determine the truthiness or falsiness of the expression. Return None
if we can't
say anything.
Trait Implementations
impl Clone for CExprKind
[src]
fn clone(&self) -> CExprKind
[src]
default fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for CExprKind
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<E> SpecializationError for E
[src]
default fn not_found<S, T>(
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
[src]
trait_name: &'static str,
method_name: &'static str
) -> E where
T: ?Sized,
impl<T> Erased for T
[src]
impl<T> Send for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Sync for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Make for T
[src]
impl<T> MaybeResult for T
[src]
impl<'a, T> Captures for T where
T: ?Sized,
[src]
T: ?Sized,