Skip to main content

AnalysisError

Enum AnalysisError 

Source
#[non_exhaustive]
pub enum AnalysisError { UnknownVariableOrFunction, BreakOutOfLoop, ContinueOutOfLoop, VariableNameUnavailable, IncludeOnlyInMainBlock, FunctionOnlyInMainBlock, GlobalOnlyInMainBlock, DuplicateClassName, DuplicateFunctionName, OptionalParamsOnlyInStandardFunctionsOrMethods, WrongArity, TypeMismatch, }
Expand description

Error codes for semantic validation (mirroring leekscript-java Error enum).

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

UnknownVariableOrFunction

Unknown variable or function name (Java: UNKNOWN_VARIABLE_OR_FUNCTION, 33).

§

BreakOutOfLoop

Break outside of loop (Java: BREAK_OUT_OF_LOOP, 12).

§

ContinueOutOfLoop

Continue outside of loop (Java: CONTINUE_OUT_OF_LOOP, 13).

§

VariableNameUnavailable

Variable/name already declared in this scope (Java: VARIABLE_NAME_UNAVAILABLE, 21).

§

IncludeOnlyInMainBlock

Include only allowed in main block (Java: INCLUDE_ONLY_IN_MAIN_BLOCK, 14).

§

FunctionOnlyInMainBlock

Function only in main block (Java: FUNCTION_ONLY_IN_MAIN_BLOCK, 19).

§

GlobalOnlyInMainBlock

Global only in main block (Java: GLOBAL_ONLY_IN_MAIN_BLOCK, 27).

§

DuplicateClassName

Duplicate class name in main scope (Java: duplicate class).

§

DuplicateFunctionName

Duplicate function name in main scope (Java: duplicate function).

§

OptionalParamsOnlyInStandardFunctionsOrMethods

Optional/default parameters only allowed in standard functions or methods, not in user-defined top-level functions.

§

WrongArity

Function call argument count does not match declaration (arity).

§

TypeMismatch

Type mismatch (e.g. assignment or argument).

Implementations§

Source§

impl AnalysisError

Source

pub fn code(self) -> &'static str

Short code for diagnostics (e.g. E033).

Source

pub fn message(self) -> &'static str

Human-readable message.

Source

pub fn at(self, span: Span) -> SemanticDiagnostic

Build a semantic diagnostic for this error at the given span.

Build a semantic diagnostic with related locations (e.g. “first declared here”).

Trait Implementations§

Source§

impl Clone for AnalysisError

Source§

fn clone(&self) -> AnalysisError

Returns a duplicate 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 AnalysisError

Source§

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

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

impl PartialEq for AnalysisError

Source§

fn eq(&self, other: &AnalysisError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AnalysisError

Source§

impl Eq for AnalysisError

Source§

impl StructuralPartialEq for AnalysisError

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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,

Source§

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