Enum rustpython_ast::StmtKind
source · pub enum StmtKind<U = ()> {
Show 26 variants
FunctionDef {
name: String,
args: Box<Arguments<U>>,
body: Vec<Stmt<U>>,
decorator_list: Vec<Expr<U>>,
returns: Option<Box<Expr<U>>>,
type_comment: Option<String>,
},
AsyncFunctionDef {
name: String,
args: Box<Arguments<U>>,
body: Vec<Stmt<U>>,
decorator_list: Vec<Expr<U>>,
returns: Option<Box<Expr<U>>>,
type_comment: Option<String>,
},
ClassDef {
name: String,
bases: Vec<Expr<U>>,
keywords: Vec<Keyword<U>>,
body: Vec<Stmt<U>>,
decorator_list: Vec<Expr<U>>,
},
Return {
value: Option<Box<Expr<U>>>,
},
Delete {
targets: Vec<Expr<U>>,
},
Assign {
targets: Vec<Expr<U>>,
value: Box<Expr<U>>,
type_comment: Option<String>,
},
AugAssign {
target: Box<Expr<U>>,
op: Operator,
value: Box<Expr<U>>,
},
AnnAssign {
target: Box<Expr<U>>,
annotation: Box<Expr<U>>,
value: Option<Box<Expr<U>>>,
simple: usize,
},
For {
target: Box<Expr<U>>,
iter: Box<Expr<U>>,
body: Vec<Stmt<U>>,
orelse: Vec<Stmt<U>>,
type_comment: Option<String>,
},
AsyncFor {
target: Box<Expr<U>>,
iter: Box<Expr<U>>,
body: Vec<Stmt<U>>,
orelse: Vec<Stmt<U>>,
type_comment: Option<String>,
},
While {
test: Box<Expr<U>>,
body: Vec<Stmt<U>>,
orelse: Vec<Stmt<U>>,
},
If {
test: Box<Expr<U>>,
body: Vec<Stmt<U>>,
orelse: Vec<Stmt<U>>,
},
With {
items: Vec<Withitem<U>>,
body: Vec<Stmt<U>>,
type_comment: Option<String>,
},
AsyncWith {
items: Vec<Withitem<U>>,
body: Vec<Stmt<U>>,
type_comment: Option<String>,
},
Match {
subject: Box<Expr<U>>,
cases: Vec<MatchCase<U>>,
},
Raise {
exc: Option<Box<Expr<U>>>,
cause: Option<Box<Expr<U>>>,
},
Try {
body: Vec<Stmt<U>>,
handlers: Vec<Excepthandler<U>>,
orelse: Vec<Stmt<U>>,
finalbody: Vec<Stmt<U>>,
},
Assert {
test: Box<Expr<U>>,
msg: Option<Box<Expr<U>>>,
},
Import {
names: Vec<Alias<U>>,
},
ImportFrom {
module: Option<String>,
names: Vec<Alias<U>>,
level: Option<usize>,
},
Global {
names: Vec<String>,
},
Nonlocal {
names: Vec<String>,
},
Expr {
value: Box<Expr<U>>,
},
Pass,
Break,
Continue,
}
Variants§
FunctionDef
Fields
AsyncFunctionDef
Fields
ClassDef
Fields
Return
Delete
Assign
AugAssign
AnnAssign
For
Fields
AsyncFor
Fields
While
If
With
AsyncWith
Match
Raise
Try
Fields
§
handlers: Vec<Excepthandler<U>>