pub enum JuliaStmt {
Show 25 variants
Expr(JuliaExpr),
Assign(JuliaExpr, JuliaExpr),
AugAssign(JuliaExpr, String, JuliaExpr),
Local(String, Option<JuliaType>, Option<JuliaExpr>),
Global(String),
Const(String, Option<JuliaType>, JuliaExpr),
Return(Option<JuliaExpr>),
Break,
Continue,
If {
cond: JuliaExpr,
then_body: Vec<JuliaStmt>,
elseif_branches: Vec<(JuliaExpr, Vec<JuliaStmt>)>,
else_body: Option<Vec<JuliaStmt>>,
},
For {
vars: Vec<String>,
iter: JuliaExpr,
body: Vec<JuliaStmt>,
},
While {
cond: JuliaExpr,
body: Vec<JuliaStmt>,
},
TryCatch {
try_body: Vec<JuliaStmt>,
catch_var: Option<String>,
catch_body: Vec<JuliaStmt>,
finally_body: Option<Vec<JuliaStmt>>,
},
FunctionDef(JuliaFunction),
StructDef(JuliaStruct),
AbstractTypeDef {
name: String,
type_params: Vec<String>,
supertype: Option<String>,
},
PrimitiveTypeDef {
name: String,
bits: u32,
supertype: Option<String>,
},
ModuleDef(JuliaModule),
Using(Vec<String>),
Import(String, Vec<String>),
Export(Vec<String>),
Include(String),
MacroDef {
name: String,
params: Vec<String>,
body: Vec<JuliaStmt>,
},
Comment(String),
Blank,
}Expand description
Julia statement.
Variants§
Expr(JuliaExpr)
Expression statement: expr
Assign(JuliaExpr, JuliaExpr)
Local assignment: x = expr
AugAssign(JuliaExpr, String, JuliaExpr)
Augmented assignment: x += expr
Local(String, Option<JuliaType>, Option<JuliaExpr>)
Local variable declaration: local x::T = expr
Global(String)
Global variable declaration: global x
Const(String, Option<JuliaType>, JuliaExpr)
Const declaration: const x = expr
Return(Option<JuliaExpr>)
Return statement: return expr
Break
Break statement: break
Continue
Continue statement: continue
If
If/elseif/else statement
Fields
For
For loop: for x in iter
While
While loop: while cond
TryCatch
Try/catch/finally block
Fields
FunctionDef(JuliaFunction)
Function definition (see JuliaFunction)
StructDef(JuliaStruct)
Struct definition (see JuliaStruct)
AbstractTypeDef
Abstract type definition: abstract type Foo <: Bar end
PrimitiveTypeDef
Primitive type definition: primitive type Foo 64 end
ModuleDef(JuliaModule)
Module definition
Using(Vec<String>)
Using statement: using Module
Import(String, Vec<String>)
Import statement: import Module: sym1, sym2
Export(Vec<String>)
Export statement: export sym1, sym2
Include(String)
Include statement: include("file.jl")
MacroDef
Macro definition: macro name(args...) body end
Comment(String)
Line comment: # comment
Blank
Empty line