pub struct StmtFunctionDef {
pub node_index: AtomicNodeIndex,
pub range: TextRange,
pub is_async: bool,
pub decorator_list: Vec<Decorator>,
pub name: Identifier,
pub type_params: Option<Box<TypeParams>>,
pub parameters: Box<Parameters>,
pub returns: Option<Box<Expr>>,
pub body: Vec<Stmt>,
}Expand description
See also FunctionDef and AsyncFunctionDef.
This type differs from the original Python AST, as it collapses the synchronous and asynchronous variants into a single type.
Fields§
§node_index: AtomicNodeIndex§range: TextRange§is_async: bool§decorator_list: Vec<Decorator>§name: Identifier§type_params: Option<Box<TypeParams>>§parameters: Box<Parameters>§returns: Option<Box<Expr>>§body: Vec<Stmt>Trait Implementations§
Source§impl Clone for StmtFunctionDef
impl Clone for StmtFunctionDef
Source§fn clone(&self) -> StmtFunctionDef
fn clone(&self) -> StmtFunctionDef
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 StmtFunctionDef
impl Debug for StmtFunctionDef
Source§impl<'a> From<&'a StmtFunctionDef> for AnyNodeRef<'a>
impl<'a> From<&'a StmtFunctionDef> for AnyNodeRef<'a>
Source§fn from(node: &'a StmtFunctionDef) -> AnyNodeRef<'a>
fn from(node: &'a StmtFunctionDef) -> AnyNodeRef<'a>
Converts to this type from the input type.
Source§impl<'a> From<&'a StmtFunctionDef> for StmtRef<'a>
impl<'a> From<&'a StmtFunctionDef> for StmtRef<'a>
Source§fn from(node: &'a StmtFunctionDef) -> StmtRef<'a>
fn from(node: &'a StmtFunctionDef) -> StmtRef<'a>
Converts to this type from the input type.
Source§impl From<StmtFunctionDef> for Stmt
impl From<StmtFunctionDef> for Stmt
Source§fn from(node: StmtFunctionDef) -> Stmt
fn from(node: StmtFunctionDef) -> Stmt
Converts to this type from the input type.
Source§impl GetSize for StmtFunctionDef
impl GetSize for StmtFunctionDef
Source§fn get_heap_size(&self) -> usize
fn get_heap_size(&self) -> usize
Determines how many bytes this object occupies inside the heap. Read more
Source§fn get_heap_size_with_tracker<TRACKER>(
&self,
tracker: TRACKER,
) -> (usize, TRACKER)where
TRACKER: GetSizeTracker,
fn get_heap_size_with_tracker<TRACKER>(
&self,
tracker: TRACKER,
) -> (usize, TRACKER)where
TRACKER: GetSizeTracker,
Determines how many bytes this object occupies inside the heap while using a
tracker. Read moreSource§fn get_stack_size() -> usize
fn get_stack_size() -> usize
Determines how may bytes this object occupies inside the stack. Read more
Source§fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
Determines the total size of the object while using a
tracker. Read moreSource§impl HasNodeIndex for StmtFunctionDef
impl HasNodeIndex for StmtFunctionDef
Source§fn node_index(&self) -> &AtomicNodeIndex
fn node_index(&self) -> &AtomicNodeIndex
Returns the
AtomicNodeIndex for this node.Source§impl Identifier for StmtFunctionDef
impl Identifier for StmtFunctionDef
Source§fn identifier(&self) -> TextRange
fn identifier(&self) -> TextRange
Return the TextRange of the identifier in the given function definition.
For example, return the range of f in:
def f():
...Source§impl PartialEq for StmtFunctionDef
impl PartialEq for StmtFunctionDef
Source§impl Ranged for StmtFunctionDef
impl Ranged for StmtFunctionDef
Source§impl<'a> TryFrom<AnyRootNodeRef<'a>> for &'a StmtFunctionDef
impl<'a> TryFrom<AnyRootNodeRef<'a>> for &'a StmtFunctionDef
impl StructuralPartialEq for StmtFunctionDef
Auto Trait Implementations§
impl !Freeze for StmtFunctionDef
impl RefUnwindSafe for StmtFunctionDef
impl Send for StmtFunctionDef
impl Sync for StmtFunctionDef
impl Unpin for StmtFunctionDef
impl UnsafeUnpin for StmtFunctionDef
impl UnwindSafe for StmtFunctionDef
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more