Skip to main content

AmlError

Enum AmlError 

Source
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

Fields

§current: AmlType
§target: AmlType
§

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§

Source§

impl Clone for AmlError

Source§

fn clone(&self) -> AmlError

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 AmlError

Source§

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

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

impl PartialEq for AmlError

Source§

fn eq(&self, other: &AmlError) -> 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 Eq for AmlError

Source§

impl StructuralPartialEq for AmlError

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

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. 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> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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.