Skip to main content

CompilerSession

Struct CompilerSession 

Source
pub struct CompilerSession<'a> { /* private fields */ }
Expand description

One reusable pure-Rust compiler session backed by a script resolver.

Implementations§

Source§

impl<'a> CompilerSession<'a>

Source

pub fn new(resolver: &'a dyn ScriptResolver) -> Self

Creates one compiler session with default options.

Source

pub fn with_options( resolver: &'a dyn ScriptResolver, options: CompilerSessionOptions, ) -> Self

Creates one compiler session with explicit options.

Source

pub fn options(&self) -> &CompilerSessionOptions

Returns the current immutable session options.

Source

pub fn generate_debugger_output(&self) -> bool

Returns whether this session emits NDB debugger output.

Source

pub fn set_generate_debugger_output(&mut self, state: bool)

Toggles NDB debugger output without recreating the session.

Source

pub fn optimization_level(&self) -> OptimizationLevel

Returns the current optimization level.

Source

pub fn set_optimization_level(&mut self, optimization: OptimizationLevel)

Updates the optimization level without recreating the session.

Source

pub fn source_load_options(&self) -> SourceLoadOptions

Returns the current source-load options.

Source

pub fn set_source_load_options(&mut self, options: SourceLoadOptions)

Updates source-loading options and invalidates any cached langspec.

Source

pub fn langspec_script_name(&self) -> &str

Returns the logical langspec script name.

Source

pub fn set_langspec_script_name(&mut self, script_name: impl Into<String>)

Updates the langspec script name and invalidates any cached langspec.

Source

pub fn compile_script_name( &mut self, script_name: &str, ) -> Result<CompileArtifacts, CompilerSessionError>

Compiles one logical script name through the configured resolver.

§Errors

Returns CompilerSessionError if source loading, langspec loading, parsing, or code generation fails.

Source

pub fn render_graphviz_for_script_name( &mut self, script_name: &str, ) -> Result<String, CompilerSessionError>

Renders one logical script name to Graphviz DOT using the cached langspec and loaded source bundle.

§Errors

Returns CompilerSessionError if source loading or parsing fails.

Trait Implementations§

Source§

impl Debug for CompilerSession<'_>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for CompilerSession<'a>

§

impl<'a> !RefUnwindSafe for CompilerSession<'a>

§

impl<'a> !Send for CompilerSession<'a>

§

impl<'a> !Sync for CompilerSession<'a>

§

impl<'a> Unpin for CompilerSession<'a>

§

impl<'a> UnsafeUnpin for CompilerSession<'a>

§

impl<'a> !UnwindSafe for CompilerSession<'a>

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more