Skip to main content

CompileResult

Enum CompileResult 

Source
pub enum CompileResult {
    Success {
        ast: Option<File>,
        events: Vec<LoggerEvent>,
        ordered_log: Vec<OrderedLogItem>,
        renames: Vec<BindingRenameInfo>,
        timing: Vec<TimingEntry>,
    },
    Error {
        error: CompilerErrorInfo,
        events: Vec<LoggerEvent>,
        ordered_log: Vec<OrderedLogItem>,
        timing: Vec<TimingEntry>,
    },
}
Expand description

Main result type returned by the compile function. Serialized to JSON and returned to the JS shim.

Variants§

§

Success

Compilation succeeded (or no functions needed compilation). ast is None if no changes were made to the program. The compiled Babel AST is returned by value so in-process Rust consumers (the oxc/swc front-ends) use it directly instead of round-tripping through JSON. CompileResult still derives Serialize, so a JS consumer can serialize the whole result as before.

Fields

§ordered_log: Vec<OrderedLogItem>

Unified ordered log interleaving events and debug entries. Items appear in the order they were emitted during compilation. The JS side uses this as the single source of truth (preferred over separate events/debugLogs arrays).

§renames: Vec<BindingRenameInfo>

Variable renames from lowering, for applying back to the Babel AST. Each entry maps an original binding name to its renamed version, identified by the binding’s declaration start position in the source.

§timing: Vec<TimingEntry>

Timing data for profiling. Only populated when __profiling is enabled.

§

Error

A fatal error occurred and panicThreshold dictates it should throw.

Fields

§ordered_log: Vec<OrderedLogItem>
§timing: Vec<TimingEntry>

Timing data for profiling. Only populated when __profiling is enabled.

Trait Implementations§

Source§

impl Debug for CompileResult

Source§

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

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

impl Serialize for CompileResult

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. 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> 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.