[][src]Enum c2rust_transpile::c_ast::CStmtKind

pub enum CStmtKind {
    Label(CStmtId),
    Case(CExprIdCStmtIdConstIntExpr),
    Default(CStmtId),
    Compound(Vec<CStmtId>),
    Expr(CExprId),
    Empty,
    If {
        scrutinee: CExprId,
        true_variant: CStmtId,
        false_variant: Option<CStmtId>,
    },
    Switch {
        scrutinee: CExprId,
        body: CStmtId,
    },
    While {
        condition: CExprId,
        body: CStmtId,
    },
    DoWhile {
        body: CStmtId,
        condition: CExprId,
    },
    ForLoop {
        init: Option<CStmtId>,
        condition: Option<CExprId>,
        increment: Option<CExprId>,
        body: CStmtId,
    },
    Goto(CLabelId),
    Break,
    Continue,
    Return(Option<CExprId>),
    Decls(Vec<CDeclId>),
    Asm {
        asm: String,
        inputs: Vec<AsmOperand>,
        outputs: Vec<AsmOperand>,
        clobbers: Vec<String>,
        is_volatile: bool,
    },
}

Represents a statement in C (6.8 Statements)

Reflects the types in http://clang.llvm.org/doxygen/classclang_1_1Stmt.html

Variants

Label(CStmtId)Case(CExprIdCStmtIdConstIntExpr)Default(CStmtId)Compound(Vec<CStmtId>)Expr(CExprId)EmptyIf

Fields of If

scrutinee: CExprIdtrue_variant: CStmtIdfalse_variant: Option<CStmtId>
Switch

Fields of Switch

scrutinee: CExprIdbody: CStmtId
While

Fields of While

condition: CExprIdbody: CStmtId
DoWhile

Fields of DoWhile

body: CStmtIdcondition: CExprId
ForLoop

Fields of ForLoop

init: Option<CStmtId>condition: Option<CExprId>increment: Option<CExprId>body: CStmtId
Goto(CLabelId)BreakContinueReturn(Option<CExprId>)Decls(Vec<CDeclId>)Asm

Fields of Asm

asm: Stringinputs: Vec<AsmOperand>outputs: Vec<AsmOperand>clobbers: Vec<String>is_volatile: bool

Trait Implementations

impl Clone for CStmtKind[src]

default fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for CStmtKind[src]

Auto Trait Implementations

impl Send for CStmtKind

impl Sync for CStmtKind

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<E> SpecializationError for E[src]

impl<T> Erased for T[src]

impl<T> Send for T where
    T: ?Sized
[src]

impl<T> Sync for T where
    T: ?Sized
[src]

impl<T> Make for T[src]

impl<T> MaybeResult for T[src]

impl<'a, T> Captures for T where
    T: ?Sized
[src]

impl<T> Erased for T