Struct code_gen::CodeBuffer

source ·
pub struct CodeBuffer { /* private fields */ }
Expand description

Responsible for buffering code.

Implementations§

source§

impl CodeBuffer

Constants

source

pub const DEFAULT_INDENT: &'static str = " "

The default indent. (4 spaces)

source

pub const DEFAULT_LINE_ENDING: &'static str = "\n"

The default line-ending.

source

pub const DEFAULT_CAPACITY: usize = 4_096usize

The default buffer capacity.

source§

impl CodeBuffer

Construction

source

pub fn new(indent: &str, line_ending: &str, capacity: usize) -> Self

Creates a new code buffer.

source§

impl CodeBuffer

Writing

source

pub fn write(&mut self, code: &str)

Writes the code.

source

pub fn indent(&mut self, level: usize)

Writes the indent level.

source

pub fn end_line(&mut self)

Writes a line-ending.

source

pub fn line(&mut self, level: usize, code: &str)

Writes the code at the indent level with a line-ending.

source

pub fn space(&mut self)

Writes a single space.

source§

impl CodeBuffer

Access

source

pub fn peek(&self) -> &str

Peeks at the buffered code.

source

pub fn export(self) -> String

Exports the buffered code.

source

pub fn clear(&mut self)

Clears the buffered code.

source§

impl CodeBuffer

Display

source

pub fn display_statement<S>(statement: &S) -> String
where S: Statement,

Converts the statement to a string using the default code buffer.

source

pub fn display_expression<E>(expression: &E) -> String
where E: Expression,

Converts the expression to a string using the default code buffer.

Trait Implementations§

source§

impl Clone for CodeBuffer

source§

fn clone(&self) -> CodeBuffer

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CodeBuffer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CodeBuffer

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Display for CodeBuffer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.