pub enum PythonStmt {
Show 26 variants
Expr(PythonExpr),
Assign(Vec<PythonExpr>, PythonExpr),
AugAssign(PythonExpr, String, PythonExpr),
AnnAssign(String, PythonType, Option<PythonExpr>),
If(PythonExpr, Vec<PythonStmt>, Vec<(PythonExpr, Vec<PythonStmt>)>, Vec<PythonStmt>),
For(String, PythonExpr, Vec<PythonStmt>, Vec<PythonStmt>),
While(PythonExpr, Vec<PythonStmt>, Vec<PythonStmt>),
With(Vec<(PythonExpr, Option<String>)>, Vec<PythonStmt>),
Try(Vec<PythonStmt>, Vec<(Option<PythonExpr>, Option<String>, Vec<PythonStmt>)>, Vec<PythonStmt>, Vec<PythonStmt>),
Return(Option<PythonExpr>),
Raise(Option<PythonExpr>),
Del(Vec<PythonExpr>),
Pass,
Break,
Continue,
Import(Vec<(String, Option<String>)>),
From(String, Vec<(String, Option<String>)>),
ClassDef(PythonClass),
FuncDef(PythonFunction),
AsyncFuncDef(PythonFunction),
Docstring(String),
Assert(PythonExpr, Option<PythonExpr>),
Global(Vec<String>),
Nonlocal(Vec<String>),
Match(PythonExpr, Vec<MatchArm>),
Raw(String),
}Expand description
Python statement for code generation.
Variants§
Expr(PythonExpr)
Expression statement: expr
Assign(Vec<PythonExpr>, PythonExpr)
Simple assignment: target = value
AugAssign(PythonExpr, String, PythonExpr)
Augmented assignment: target op= value
AnnAssign(String, PythonType, Option<PythonExpr>)
Annotated assignment: target: type = value
If(PythonExpr, Vec<PythonStmt>, Vec<(PythonExpr, Vec<PythonStmt>)>, Vec<PythonStmt>)
If/elif/else statement
For(String, PythonExpr, Vec<PythonStmt>, Vec<PythonStmt>)
For loop: for var in iter: body
While(PythonExpr, Vec<PythonStmt>, Vec<PythonStmt>)
While loop: while cond: body
With(Vec<(PythonExpr, Option<String>)>, Vec<PythonStmt>)
With statement: with expr as var: body
Try(Vec<PythonStmt>, Vec<(Option<PythonExpr>, Option<String>, Vec<PythonStmt>)>, Vec<PythonStmt>, Vec<PythonStmt>)
Try/except/else/finally statement
Return(Option<PythonExpr>)
Return statement: return expr
Raise(Option<PythonExpr>)
Raise statement: raise expr
Del(Vec<PythonExpr>)
Delete statement: del name
Pass
Pass statement: pass
Break
Break statement: break
Continue
Continue statement: continue
Import(Vec<(String, Option<String>)>)
Import statement: import module or import module as alias
From(String, Vec<(String, Option<String>)>)
From-import statement: from module import name or from module import *
ClassDef(PythonClass)
Class definition
FuncDef(PythonFunction)
Function definition
AsyncFuncDef(PythonFunction)
Async function definition
Docstring(String)
Docstring statement
Assert(PythonExpr, Option<PythonExpr>)
Assert statement: assert expr, msg
Global(Vec<String>)
Global declaration: global x, y
Nonlocal(Vec<String>)
Nonlocal declaration: nonlocal x, y
Match(PythonExpr, Vec<MatchArm>)
Match statement (Python 3.10+)
Raw(String)
Raw Python text (escape hatch)
Trait Implementations§
Source§impl Clone for PythonStmt
impl Clone for PythonStmt
Source§fn clone(&self) -> PythonStmt
fn clone(&self) -> PythonStmt
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more