pub enum AmlError {
Show 47 variants
UnexpectedEndOfStream,
UnexpectedByte(u8),
MalformedStream,
InvalidNameSeg,
InvalidPkgLength,
InvalidFieldFlags,
UnterminatedStringConstant,
InvalidStringConstant,
InvalidRegionSpace(u8),
MalformedPackage,
MalformedBuffer,
WrongParser,
FatalError,
EmptyNamesAreInvalid,
InvalidNormalizedName(AmlName),
RootHasNoParent,
LevelDoesNotExist(AmlName),
ValueDoesNotExist(AmlName),
NameCollision(AmlName),
TriedToRemoveRootNamespace,
NotExecutingControlMethod,
InvalidArgAccess(u8),
InvalidLocalAccess(u8),
TooManyArgs,
BreakInInvalidPosition,
ContinueInInvalidPosition,
PrtInvalidAddress,
PrtInvalidPin,
PrtInvalidSource,
PrtInvalidGsi,
PrtNoEntry,
ReservedResourceType,
ResourceDescriptorTooShort,
ResourceDescriptorTooLong,
UnexpectedResourceType,
IncompatibleValueConversion {
current: AmlType,
target: AmlType,
},
InvalidStatusObject,
InvalidShiftLeft,
InvalidShiftRight,
FieldRegionIsNotOpRegion,
FieldInvalidAddress,
FieldInvalidAccessSize,
TypeCannotBeCompared(AmlType),
TypeCannotBeSliced(AmlType),
TypeCannotBeWrittenToBufferField(AmlType),
BufferFieldIndexesOutOfBounds,
Unimplemented,
}Expand description
Used when an AmlContext encounters an error.
Variants§
UnexpectedEndOfStream
UnexpectedByte(u8)
MalformedStream
Produced when the stream evaluates to something other than nothing or an error.
InvalidNameSeg
InvalidPkgLength
InvalidFieldFlags
UnterminatedStringConstant
InvalidStringConstant
InvalidRegionSpace(u8)
MalformedPackage
Produced when a DefPackage contains a different number of elements to the package’s length.
MalformedBuffer
Produced when a DefBuffer contains more bytes that its size.
WrongParser
Emitted by a parser when it’s clear that the stream doesn’t encode the object parsed by
that parser (e.g. the wrong opcode starts the stream). This is handled specially by some
parsers such as or and choice!.
FatalError
Returned when a DefFatal op is encountered. This is separately reported using Handler::handle_fatal_error.
EmptyNamesAreInvalid
InvalidNormalizedName(AmlName)
Produced when trying to normalize a path that does not point to a valid level of the
namespace. E.g. \_SB.^^PCI0 goes above the root of the namespace. The contained value is the name that
normalization was attempted upon.
RootHasNoParent
LevelDoesNotExist(AmlName)
Produced when a sub-level or value is added to a level that has not yet been added to the namespace. The
AmlName is the name of the entire sub-level/value.
ValueDoesNotExist(AmlName)
NameCollision(AmlName)
Produced when two values with the same name are added to the namespace.
TriedToRemoveRootNamespace
NotExecutingControlMethod
Produced when AML tries to do something only possible in a control method (e.g. read from an argument) when there’s no control method executing.
InvalidArgAccess(u8)
Produced when a method accesses an argument it does not have (e.g. a method that takes 2
arguments accesses Arg4). The inner value is the number of the argument accessed.
InvalidLocalAccess(u8)
Produced when a method accesses a local that it has not stored into.
TooManyArgs
Tried to invoke a method with too many arguments.
BreakInInvalidPosition
A DefBreak operation was performed outside of a DefWhile or DefSwitch.
ContinueInInvalidPosition
A DefContinue operation was performed outside of a DefWhile.
PrtInvalidAddress
PrtInvalidPin
PrtInvalidSource
PrtInvalidGsi
PrtNoEntry
Produced when the PRT doesn’t contain an entry for the requested address + pin
ReservedResourceType
ResourceDescriptorTooShort
ResourceDescriptorTooLong
UnexpectedResourceType
IncompatibleValueConversion
InvalidStatusObject
InvalidShiftLeft
InvalidShiftRight
FieldRegionIsNotOpRegion
FieldInvalidAddress
FieldInvalidAccessSize
TypeCannotBeCompared(AmlType)
TypeCannotBeSliced(AmlType)
Produced when the Mid operator is applied to a value of a type other than Buffer or String.
TypeCannotBeWrittenToBufferField(AmlType)
BufferFieldIndexesOutOfBounds
Unimplemented
Unimplemented functionality - return error rather than abort
Trait Implementations§
impl Eq for AmlError
impl StructuralPartialEq for AmlError
Auto Trait Implementations§
impl Freeze for AmlError
impl RefUnwindSafe for AmlError
impl Send for AmlError
impl Sync for AmlError
impl Unpin for AmlError
impl UnsafeUnpin for AmlError
impl UnwindSafe for AmlError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§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,
self and passes that borrow into the pipe function. Read moreSource§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,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.