[][src]Struct ucglib::build::FileBuilder

pub struct FileBuilder<'a, Stdout, Stderr> where
    Stdout: Write + Clone,
    Stderr: Write + Clone
{ pub environment: Rc<RefCell<Environment<Stdout, Stderr>>>, pub last: Option<Rc<Val>>, pub out: Option<Rc<Val>>, // some fields omitted }

Builder handles building ucg code for a single file.

Fields

environment: Rc<RefCell<Environment<Stdout, Stderr>>>last: Option<Rc<Val>>out: Option<Rc<Val>>

Implementations

impl<'a, Stdout, Stderr> FileBuilder<'a, Stdout, Stderr> where
    Stdout: Write + Clone,
    Stderr: Write + Clone
[src]

pub fn new<P: Into<PathBuf>>(
    working_dir: P,
    import_paths: &'a Vec<PathBuf>,
    stdout: Stdout,
    stderr: Stderr
) -> Self
[src]

Constructs a new Builder.

pub fn clone_builder(&self) -> Self[src]

pub fn set_strict(&mut self, strict: bool)[src]

pub fn build<P: Into<PathBuf>>(&mut self, file: P) -> Result<(), Box<dyn Error>>[src]

Builds a ucg file at the named path.

pub fn enable_validate_mode(&mut self)[src]

Puts the builder in validation mode.

Among other things this means that assertions will be evaluated and their results will be saved in a report for later output.

pub fn eval_stmts(
    &mut self,
    ast: Vec<Statement>,
    path: Option<PathBuf>
) -> Result<(), Box<dyn Error>>
[src]

Builds a list of parsed UCG Statements.

pub fn repl(
    &mut self,
    editor: Editor<()>,
    config_home: PathBuf
) -> Result<(), Box<dyn Error>>
[src]

pub fn eval_input(
    &mut self,
    input: OffsetStrIter<'_>,
    path: Option<PathBuf>
) -> Result<Rc<Val>, Box<dyn Error>>
[src]

pub fn eval_string(&mut self, input: &str) -> Result<Rc<Val>, Box<dyn Error>>[src]

Evaluate an input string as UCG.

pub fn eval_expr(&mut self, expr: Expression) -> Result<Rc<Val>, Box<dyn Error>>[src]

pub fn get_out_by_name(&self, name: &str) -> Option<Rc<Val>>[src]

pub fn assert_results(&self) -> bool[src]

pub fn assert_summary(&self) -> String[src]

Auto Trait Implementations

impl<'a, Stdout, Stderr> !RefUnwindSafe for FileBuilder<'a, Stdout, Stderr>

impl<'a, Stdout, Stderr> !Send for FileBuilder<'a, Stdout, Stderr>

impl<'a, Stdout, Stderr> !Sync for FileBuilder<'a, Stdout, Stderr>

impl<'a, Stdout, Stderr> Unpin for FileBuilder<'a, Stdout, Stderr>

impl<'a, Stdout, Stderr> !UnwindSafe for FileBuilder<'a, Stdout, Stderr>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.