Enum cpclib_asm::error::AssemblerError
source · pub enum AssemblerError {
Show 54 variants
AlreadyRenderedError(String),
LocatedListingError(Arc<LocatedListing>),
MultipleErrors {
errors: Vec<AssemblerError>,
},
EmptyBinaryFile(String),
AmsdosError {
error: AmsdosError,
},
BugInAssembler {
file: &'static str,
line: u32,
msg: String,
},
BugInParser {
error: String,
context: ParserContext,
},
SyntaxError {
error: Z80ParserError,
},
IncludedFileError {
span: Z80Span,
error: Box<AssemblerError>,
},
BasicError {
error: BasicError,
},
DisassemblerError {
msg: String,
},
AssemblingError {
msg: String,
},
InvalidArgument {
msg: String,
},
Fail {
msg: String,
},
AssertionFailed {
test: String,
msg: String,
guidance: String,
},
SymbolAlreadyExists {
symbol: String,
},
CounterAlreadyExists {
symbol: String,
},
IncoherentCode {
msg: String,
},
UnknownMacro {
symbol: SmolStr,
closest: Option<SmolStr>,
},
MacroError {
name: SmolStr,
root: Box<AssemblerError>,
},
WrongNumberOfParameters {
symbol: String,
nb_paramers: usize,
nb_arguments: usize,
},
UnknownSymbol {
symbol: SmolStr,
closest: Option<SmolStr>,
},
InvalidSymbol(SmolStr),
WrongSymbolType {
symbol: SmolStr,
isnot: SmolStr,
},
AlreadyDefinedSymbol {
symbol: SmolStr,
kind: SmolStr,
},
IOError {
msg: String,
},
UnknownAssemblingAddress,
ReadOnlySymbol(Symbol),
RunAlreadySpecified,
NoActiveCounter,
NoDataToCrunch,
NotAllowed,
OutputExceedsLimits(PhysicalAddress, usize),
OutputAlreadyExceedsLimits(usize),
OutputProtected {
area: RangeInclusive<u16>,
address: u16,
},
OverrideMemory(PhysicalAddress, usize),
ExpressionUnresolvable {
expression: Expr,
},
ExpressionError(ExpressionError),
RelativeAddressUncomputable {
address: i32,
pass: AssemblingPass,
error: Box<AssemblerError>,
},
CrunchedSectionError {
error: Box<AssemblerError>,
},
RelocatedError {
error: Box<AssemblerError>,
span: Z80Span,
},
RelocatedWarning {
warning: Box<AssemblerError>,
span: Z80Span,
},
RelocatedInfo {
info: Box<AssemblerError>,
span: Z80Span,
},
ForIssue {
error: Box<AssemblerError>,
span: Option<Z80Span>,
},
RepeatIssue {
error: Box<AssemblerError>,
span: Option<Z80Span>,
repetition: i32,
},
WhileIssue {
error: Box<AssemblerError>,
span: Option<Z80Span>,
},
MMRError {
value: i32,
},
SnapshotError {
error: SnapshotError,
},
FunctionWithoutReturn(String),
FunctionWithEmptyBody(String),
FunctionUnknown(String),
FunctionWithWrongNumberOfArguments(String, usize, usize),
FunctionError(String, Box<AssemblerError>),
ExpressionTypeError(ExpressionTypeError),
}Variants§
AlreadyRenderedError(String)
Dirty trick to not play with memory
LocatedListingError(Arc<LocatedListing>)
Parse of a located listing failed, but the error is in fact stored within the located listing object…
MultipleErrors
Fields
§
errors: Vec<AssemblerError>EmptyBinaryFile(String)
AmsdosError
Fields
§
error: AmsdosErrorBugInAssembler
BugInParser
SyntaxError
Fields
§
error: Z80ParserErrorIncludedFileError
BasicError
Fields
§
error: BasicErrorDisassemblerError
AssemblingError
InvalidArgument
Fail
AssertionFailed
SymbolAlreadyExists
CounterAlreadyExists
IncoherentCode
UnknownMacro
MacroError
WrongNumberOfParameters
UnknownSymbol
InvalidSymbol(SmolStr)
WrongSymbolType
AlreadyDefinedSymbol
IOError
UnknownAssemblingAddress
ReadOnlySymbol(Symbol)
RunAlreadySpecified
NoActiveCounter
NoDataToCrunch
NotAllowed
OutputExceedsLimits(PhysicalAddress, usize)
OutputAlreadyExceedsLimits(usize)
OutputProtected
OverrideMemory(PhysicalAddress, usize)
ExpressionUnresolvable
ExpressionError(ExpressionError)
RelativeAddressUncomputable
CrunchedSectionError
Fields
§
error: Box<AssemblerError>RelocatedError
Several errors has been generated without span information. RelocatedError allows them to be approximately located
RelocatedWarning
RelocatedInfo
ForIssue
RepeatIssue
WhileIssue
MMRError
SnapshotError
Fields
§
error: SnapshotErrorFunctionWithoutReturn(String)
FunctionWithEmptyBody(String)
FunctionUnknown(String)
FunctionWithWrongNumberOfArguments(String, usize, usize)
FunctionError(String, Box<AssemblerError>)
ExpressionTypeError(ExpressionTypeError)
Implementations§
source§impl AssemblerError
impl AssemblerError
sourcepub fn is_located(&self) -> bool
pub fn is_located(&self) -> bool
Returns true only for errors already located
pub fn is_override_memory(&self) -> bool
pub fn locate(self, span: Z80Span) -> Self
Trait Implementations§
source§impl Clone for AssemblerError
impl Clone for AssemblerError
source§fn clone(&self) -> AssemblerError
fn clone(&self) -> AssemblerError
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for AssemblerError
impl Debug for AssemblerError
source§impl Display for AssemblerError
impl Display for AssemblerError
source§impl From<&ExpressionTypeError> for AssemblerError
impl From<&ExpressionTypeError> for AssemblerError
source§fn from(e: &ExpressionTypeError) -> Self
fn from(e: &ExpressionTypeError) -> Self
Converts to this type from the input type.
source§impl From<AmsdosError> for AssemblerError
impl From<AmsdosError> for AssemblerError
source§fn from(err: AmsdosError) -> Self
fn from(err: AmsdosError) -> Self
Converts to this type from the input type.
source§impl From<AssemblerError> for FailedAssertCommand
impl From<AssemblerError> for FailedAssertCommand
Expect an assert error or a exval error
source§fn from(failure: AssemblerError) -> Self
fn from(failure: AssemblerError) -> Self
Converts to this type from the input type.
source§impl From<BasicError> for AssemblerError
impl From<BasicError> for AssemblerError
source§fn from(msg: BasicError) -> Self
fn from(msg: BasicError) -> Self
Converts to this type from the input type.
source§impl From<Error> for AssemblerError
impl From<Error> for AssemblerError
source§impl From<ExpressionTypeError> for AssemblerError
impl From<ExpressionTypeError> for AssemblerError
source§fn from(e: ExpressionTypeError) -> Self
fn from(e: ExpressionTypeError) -> Self
Converts to this type from the input type.
source§impl From<SnapshotError> for AssemblerError
impl From<SnapshotError> for AssemblerError
source§fn from(msg: SnapshotError) -> Self
fn from(msg: SnapshotError) -> Self
Converts to this type from the input type.
source§impl From<SymbolError> for AssemblerError
impl From<SymbolError> for AssemblerError
source§fn from(err: SymbolError) -> Self
fn from(err: SymbolError) -> Self
Converts to this type from the input type.
source§impl From<Z80ParserError> for AssemblerError
impl From<Z80ParserError> for AssemblerError
source§fn from(err: Z80ParserError) -> Self
fn from(err: Z80ParserError) -> Self
Converts to this type from the input type.
source§impl PartialEq<AssemblerError> for AssemblerError
impl PartialEq<AssemblerError> for AssemblerError
source§fn eq(&self, other: &AssemblerError) -> bool
fn eq(&self, other: &AssemblerError) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Eq for AssemblerError
impl StructuralEq for AssemblerError
impl StructuralPartialEq for AssemblerError
Auto Trait Implementations§
impl RefUnwindSafe for AssemblerError
impl Send for AssemblerError
impl Sync for AssemblerError
impl Unpin for AssemblerError
impl UnwindSafe for AssemblerError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.