pub struct LocalFunctionStatement { /* private fields */ }
Expand description
Represents a local function declaration statement.
Implementations§
Source§impl LocalFunctionStatement
impl LocalFunctionStatement
Sourcepub fn new(
identifier: impl Into<Identifier>,
block: Block,
parameters: Vec<TypedIdentifier>,
is_variadic: bool,
) -> Self
pub fn new( identifier: impl Into<Identifier>, block: Block, parameters: Vec<TypedIdentifier>, is_variadic: bool, ) -> Self
Creates a new local function statement.
Sourcepub fn from_name(
identifier: impl Into<Identifier>,
block: impl Into<Block>,
) -> Self
pub fn from_name( identifier: impl Into<Identifier>, block: impl Into<Block>, ) -> Self
Creates a new local function statement with a given name and block.
Sourcepub fn with_tokens(self, tokens: LocalFunctionTokens) -> Self
pub fn with_tokens(self, tokens: LocalFunctionTokens) -> Self
Sets the tokens for this local function statement.
Sourcepub fn set_tokens(&mut self, tokens: LocalFunctionTokens)
pub fn set_tokens(&mut self, tokens: LocalFunctionTokens)
Sets the tokens for this local function statement.
Sourcepub fn get_tokens(&self) -> Option<&LocalFunctionTokens>
pub fn get_tokens(&self) -> Option<&LocalFunctionTokens>
Returns the tokens for this local function statement, if any.
Sourcepub fn mutate_tokens(&mut self) -> Option<&mut LocalFunctionTokens>
pub fn mutate_tokens(&mut self) -> Option<&mut LocalFunctionTokens>
Returns a mutable reference to the tokens, if any.
Sourcepub fn with_parameter(self, parameter: impl Into<TypedIdentifier>) -> Self
pub fn with_parameter(self, parameter: impl Into<TypedIdentifier>) -> Self
Adds a parameter to this function.
Sourcepub fn with_variadic_type(self, type: impl Into<FunctionVariadicType>) -> Self
pub fn with_variadic_type(self, type: impl Into<FunctionVariadicType>) -> Self
Sets the variadic type for this function.
If the function is not already variadic, this will make it variadic.
Sourcepub fn set_variadic_type(&mut self, type: impl Into<FunctionVariadicType>)
pub fn set_variadic_type(&mut self, type: impl Into<FunctionVariadicType>)
Sets the variadic type for this function.
If the function is not already variadic, this will make it variadic.
Sourcepub fn get_variadic_type(&self) -> Option<&FunctionVariadicType>
pub fn get_variadic_type(&self) -> Option<&FunctionVariadicType>
Returns the variadic type, if any.
Sourcepub fn has_variadic_type(&self) -> bool
pub fn has_variadic_type(&self) -> bool
Returns whether this function has a variadic type.
Sourcepub fn mutate_variadic_type(&mut self) -> Option<&mut FunctionVariadicType>
pub fn mutate_variadic_type(&mut self) -> Option<&mut FunctionVariadicType>
Returns a mutable reference to the variadic type, if any.
Sourcepub fn with_return_type(
self,
return_type: impl Into<FunctionReturnType>,
) -> Self
pub fn with_return_type( self, return_type: impl Into<FunctionReturnType>, ) -> Self
Sets the return type for this function.
Sourcepub fn set_return_type(&mut self, return_type: impl Into<FunctionReturnType>)
pub fn set_return_type(&mut self, return_type: impl Into<FunctionReturnType>)
Sets the return type for this function.
Sourcepub fn get_return_type(&self) -> Option<&FunctionReturnType>
pub fn get_return_type(&self) -> Option<&FunctionReturnType>
Returns the return type, if any.
Sourcepub fn has_return_type(&self) -> bool
pub fn has_return_type(&self) -> bool
Returns whether this function has a return type.
Sourcepub fn mutate_return_type(&mut self) -> Option<&mut FunctionReturnType>
pub fn mutate_return_type(&mut self) -> Option<&mut FunctionReturnType>
Returns a mutable reference to the return type, if any.
Sourcepub fn with_generic_parameters(
self,
generic_parameters: GenericParameters,
) -> Self
pub fn with_generic_parameters( self, generic_parameters: GenericParameters, ) -> Self
Sets the generic parameters for this function.
Sourcepub fn set_generic_parameters(&mut self, generic_parameters: GenericParameters)
pub fn set_generic_parameters(&mut self, generic_parameters: GenericParameters)
Sets the generic parameters for this function.
Sourcepub fn get_generic_parameters(&self) -> Option<&GenericParameters>
pub fn get_generic_parameters(&self) -> Option<&GenericParameters>
Returns the generic parameters, if any.
Sourcepub fn mutate_parameters(&mut self) -> &mut Vec<TypedIdentifier>
pub fn mutate_parameters(&mut self) -> &mut Vec<TypedIdentifier>
Returns a mutable reference to the parameters.
Sourcepub fn mutate_block(&mut self) -> &mut Block
pub fn mutate_block(&mut self) -> &mut Block
Returns a mutable reference to the block.
Sourcepub fn mutate_identifier(&mut self) -> &mut Identifier
pub fn mutate_identifier(&mut self) -> &mut Identifier
Returns a mutable reference to the identifier.
Sourcepub fn get_parameters(&self) -> &Vec<TypedIdentifier>
pub fn get_parameters(&self) -> &Vec<TypedIdentifier>
Returns the function’s parameters.
Sourcepub fn iter_parameters(&self) -> impl Iterator<Item = &TypedIdentifier>
pub fn iter_parameters(&self) -> impl Iterator<Item = &TypedIdentifier>
Returns an iterator over the parameters.
Sourcepub fn iter_mut_parameters(
&mut self,
) -> impl Iterator<Item = &mut TypedIdentifier>
pub fn iter_mut_parameters( &mut self, ) -> impl Iterator<Item = &mut TypedIdentifier>
Returns a mutable iterator over the parameters.
Sourcepub fn get_identifier(&self) -> &Identifier
pub fn get_identifier(&self) -> &Identifier
Returns the function’s identifier.
Sourcepub fn has_parameter(&self, name: &str) -> bool
pub fn has_parameter(&self, name: &str) -> bool
Returns whether this function has a parameter with the given name.
Sourcepub fn has_parameters(&self) -> bool
pub fn has_parameters(&self) -> bool
Returns whether this function has parameters.
Sourcepub fn is_variadic(&self) -> bool
pub fn is_variadic(&self) -> bool
Returns whether this function is variadic.
Sourcepub fn parameters_count(&self) -> usize
pub fn parameters_count(&self) -> usize
Returns the number of parameters.
Sourcepub fn clear_types(&mut self)
pub fn clear_types(&mut self)
Removes all type annotations from this function.
Sourcepub fn mutate_first_token(&mut self) -> &mut Token
pub fn mutate_first_token(&mut self) -> &mut Token
Returns a mutable reference to the first token for this statement, creating it if missing.
Sourcepub fn mutate_last_token(&mut self) -> &mut Token
pub fn mutate_last_token(&mut self) -> &mut Token
Returns a mutable reference to the last token for this statement, creating it if missing.
Sourcepub fn clear_comments(&mut self)
pub fn clear_comments(&mut self)
Clears all comments from the tokens in this node.
Sourcepub fn clear_whitespaces(&mut self)
pub fn clear_whitespaces(&mut self)
Clears all whitespaces information from the tokens in this node.
Trait Implementations§
Source§impl Clone for LocalFunctionStatement
impl Clone for LocalFunctionStatement
Source§fn clone(&self) -> LocalFunctionStatement
fn clone(&self) -> LocalFunctionStatement
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LocalFunctionStatement
impl Debug for LocalFunctionStatement
Source§impl From<LocalFunctionStatement> for Statement
impl From<LocalFunctionStatement> for Statement
Source§fn from(function: LocalFunctionStatement) -> Statement
fn from(function: LocalFunctionStatement) -> Statement
Source§impl PartialEq for LocalFunctionStatement
impl PartialEq for LocalFunctionStatement
impl Eq for LocalFunctionStatement
impl StructuralPartialEq for LocalFunctionStatement
Auto Trait Implementations§
impl Freeze for LocalFunctionStatement
impl RefUnwindSafe for LocalFunctionStatement
impl Send for LocalFunctionStatement
impl Sync for LocalFunctionStatement
impl Unpin for LocalFunctionStatement
impl UnwindSafe for LocalFunctionStatement
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
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>
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>
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