pub struct JuliaFunction {
pub name: String,
pub type_params: Vec<String>,
pub type_param_bounds: Vec<(String, String)>,
pub params: Vec<JuliaParam>,
pub kwargs: Vec<JuliaParam>,
pub return_type: Option<JuliaType>,
pub body: Vec<JuliaStmt>,
pub is_inner: bool,
pub doc: Option<String>,
}Expand description
A Julia function definition with multiple dispatch support.
Fields§
§name: StringFunction name
type_params: Vec<String>Type parameters for parametric methods: {T, S}
type_param_bounds: Vec<(String, String)>Type parameter bounds: T <: Number
params: Vec<JuliaParam>Positional parameters
kwargs: Vec<JuliaParam>Keyword-only parameters (after ;)
return_type: Option<JuliaType>Return type annotation
body: Vec<JuliaStmt>Function body
is_inner: boolWhether this is an inner (anonymous) function
doc: Option<String>Doc string
Implementations§
Source§impl JuliaFunction
impl JuliaFunction
Sourcepub fn with_param(self, param: JuliaParam) -> Self
pub fn with_param(self, param: JuliaParam) -> Self
Add a positional parameter.
Sourcepub fn with_return_type(self, ty: JuliaType) -> Self
pub fn with_return_type(self, ty: JuliaType) -> Self
Set the return type.
Sourcepub fn with_type_param(self, param: impl Into<String>) -> Self
pub fn with_type_param(self, param: impl Into<String>) -> Self
Add a type parameter (for multiple dispatch).
Sourcepub fn with_type_param_bound(
self,
param: impl Into<String>,
bound: impl Into<String>,
) -> Self
pub fn with_type_param_bound( self, param: impl Into<String>, bound: impl Into<String>, ) -> Self
Add a type parameter with bound.
Sourcepub fn emit_signature(&self) -> String
pub fn emit_signature(&self) -> String
Emit function signature string.
Trait Implementations§
Source§impl Clone for JuliaFunction
impl Clone for JuliaFunction
Source§fn clone(&self) -> JuliaFunction
fn clone(&self) -> JuliaFunction
Returns a duplicate of the value. Read more
1.0.0 · 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 JuliaFunction
impl Debug for JuliaFunction
Source§impl PartialEq for JuliaFunction
impl PartialEq for JuliaFunction
impl StructuralPartialEq for JuliaFunction
Auto Trait Implementations§
impl Freeze for JuliaFunction
impl RefUnwindSafe for JuliaFunction
impl Send for JuliaFunction
impl Sync for JuliaFunction
impl Unpin for JuliaFunction
impl UnsafeUnpin for JuliaFunction
impl UnwindSafe for JuliaFunction
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