pub enum ProceduralStatement {
Show 17 variants
Assignment {
token: Token,
target: AssignmentTargetSyntax,
value: Expression,
span: SourceRange,
},
Call {
token: Token,
routine: ObjectName,
arguments: Vec<CallArgumentSyntax>,
span: SourceRange,
},
Perform {
token: Token,
expression: Expression,
span: SourceRange,
},
If {
token: Token,
branches: Vec<(Expression, Vec<ProceduralStatement>)>,
otherwise: Vec<ProceduralStatement>,
span: SourceRange,
},
Case {
token: Token,
operand: Option<Expression>,
arms: Vec<CaseArmSyntax>,
otherwise: Vec<ProceduralStatement>,
span: SourceRange,
},
Loop {
token: Token,
statements: Vec<ProceduralStatement>,
span: SourceRange,
},
While {
token: Token,
condition: Expression,
statements: Vec<ProceduralStatement>,
span: SourceRange,
},
For {
token: Token,
variable: Identifier,
source: ForSourceSyntax,
statements: Vec<ProceduralStatement>,
span: SourceRange,
},
LoopControl {
token: Token,
kind: LoopControlKind,
condition: Option<Expression>,
span: SourceRange,
},
Return {
token: Token,
value: ReturnSyntax,
span: SourceRange,
},
Sql(ProceduralSqlStatement),
DynamicExecute {
token: Token,
execute: DynamicExecuteSyntax,
span: SourceRange,
},
OpenCursor {
token: Token,
cursor: Identifier,
arguments: Vec<Expression>,
span: SourceRange,
},
FetchCursor {
token: Token,
cursor: Identifier,
into: Vec<Identifier>,
span: SourceRange,
},
CloseCursor {
token: Token,
cursor: Identifier,
span: SourceRange,
},
Raise {
token: Token,
kind: Option<Identifier>,
arguments: Vec<Expression>,
span: SourceRange,
},
Block(Box<ProceduralBlock>),
}Variants§
Assignment
Call
Perform
If
Fields
§
branches: Vec<(Expression, Vec<ProceduralStatement>)>§
otherwise: Vec<ProceduralStatement>§
span: SourceRangeCase
Fields
§
operand: Option<Expression>§
arms: Vec<CaseArmSyntax>§
otherwise: Vec<ProceduralStatement>§
span: SourceRangeLoop
While
For
Fields
§
variable: Identifier§
source: ForSourceSyntax§
statements: Vec<ProceduralStatement>§
span: SourceRangeLoopControl
Return
Sql(ProceduralSqlStatement)
DynamicExecute
OpenCursor
FetchCursor
CloseCursor
Raise
Block(Box<ProceduralBlock>)
Trait Implementations§
Source§impl Clone for ProceduralStatement
impl Clone for ProceduralStatement
Source§fn clone(&self) -> ProceduralStatement
fn clone(&self) -> ProceduralStatement
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ProceduralStatement
impl Debug for ProceduralStatement
Source§impl Display for ProceduralStatement
impl Display for ProceduralStatement
Source§impl PartialEq for ProceduralStatement
impl PartialEq for ProceduralStatement
impl StructuralPartialEq for ProceduralStatement
Auto Trait Implementations§
impl Freeze for ProceduralStatement
impl RefUnwindSafe for ProceduralStatement
impl Send for ProceduralStatement
impl Sync for ProceduralStatement
impl Unpin for ProceduralStatement
impl UnsafeUnpin for ProceduralStatement
impl UnwindSafe for ProceduralStatement
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