Function

Struct Function 

Source
pub struct Function { /* private fields */ }
Expand description

A function declaration.

Implementations§

Source§

impl Function

Async

Source

pub fn set_async(&mut self, is_async: bool)

Sets the is_async flag.

Source

pub fn with_async(self, is_async: bool) -> Self

Sets the is_async flag.

Source§

impl Function

Const

Source

pub fn set_const(&mut self, is_const: bool)

Sets the is_const flag.

Source

pub fn with_const(self, is_const: bool) -> Self

Sets the is_const flag.

Trait Implementations§

Source§

impl<S: Into<Signature>> From<S> for Function

Source§

fn from(signature: S) -> Self

Converts to this type from the input type.
Source§

impl Statement for Function

Source§

fn write(&self, b: &mut CodeBuffer, level: usize)

Writes the code to the buffer b at the indent level.
Source§

impl WithAccess for Function

Source§

fn access(&self) -> &Access

Gets the access level.
Source§

fn set_access<A>(&mut self, access: A)
where A: Into<Access>,

Sets the access level.
Source§

fn with_access<A>(self, access: A) -> Self
where A: Into<Access>,

Sets the access level.
Source§

fn write_access(&self, b: &mut CodeBuffer)

Writes the access level.
Source§

impl WithAttributes for Function

Source§

fn attributes(&self) -> &[String]

Gets the attributes.
Source§

fn add_attribute<S>(&mut self, attribute: S)
where S: Into<String>,

Adds the attribute.
Source§

fn with_attribute<S>(self, attribute: S) -> Self
where S: Into<String>,

Adds the attribute.
Source§

fn write_attributes(&self, b: &mut CodeBuffer, level: usize)

Writes the attributes.
Source§

impl WithComments for Function

Source§

fn comments(&self) -> &[String]

Gets the comment lines.
Source§

fn add_comment<S>(&mut self, comment: S)
where S: Into<String>,

Adds the comment line.
Source§

fn with_comment<S>(self, comment: S) -> Self
where S: Into<String>,

Adds the comment line.
Source§

fn write_comments( &self, comment_type: CommentType, b: &mut CodeBuffer, level: usize, )

Writes the comment lines.
Source§

impl WithSignature for Function

Source§

fn signature(&self) -> &Signature

Gets the function signature.
Source§

fn write_signature(&self, b: &mut CodeBuffer)

Writes the function signature.
Source§

impl WithStatements for Function

Source§

fn statements(&self) -> &[Box<dyn Statement>]

Gets the statements.
Source§

fn add_boxed_statement(&mut self, statement: Box<dyn Statement>)

Adds the boxed statement.
Source§

fn with_boxed_statement(self, statement: Box<dyn Statement>) -> Self

Adds the boxed statement.
Source§

fn add_statement<S>(&mut self, statement: S)
where S: 'static + Statement,

Adds the statement.
Source§

fn with_statement<S>(self, statement: S) -> Self
where S: 'static + Statement,

Adds the statement.
Source§

fn add_literal<L>(&mut self, literal: L)
where L: Into<Literal>,

Adds the literal statement.
Source§

fn with_literal<L>(self, literal: L) -> Self
where L: Into<Literal>,

Adds the literal statement.
Source§

fn add_semi<L>(&mut self, literal: L)
where L: Into<Literal>,

Adds the semicolon ended literal statement.
Source§

fn with_semi<L>(self, literal: L) -> Self
where L: Into<Literal>,

Adds the semicolon ended literal statement.
Source§

fn add_expression_statement<E>(&mut self, expression: E)
where E: 'static + Expression,

Adds the expression as a statement.
Source§

fn with_expression_statement<E>(self, expression: E) -> Self
where E: 'static + Expression,

Adds the expression as a statement.
Source§

fn write_statements(&self, b: &mut CodeBuffer, level: usize)

Writes the statements.
Source§

fn write_curly_statement_block(&self, b: &mut CodeBuffer, level: usize)

Writes the curly-bracketed statement block. (level is the outer level)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.