[][src]Enum aml::AmlError

pub enum AmlError {
    UnexpectedEndOfStream,
    UnexpectedByte(u8),
    InvalidNameSeg,
    InvalidFieldFlags,
    IncompatibleValueConversion,
    UnterminatedStringConstant,
    InvalidStringConstant,
    InvalidRegionSpace(u8),
    WrongParser,
    EmptyNamesAreInvalid,
    InvalidNormalizedName(AmlName),
    RootHasNoParent,
    LevelDoesNotExist(AmlName),
    ValueDoesNotExist(AmlName),
    NameCollision(AmlName),
    TriedToRemoveRootNamespace,
    NotExecutingControlMethod,
    InvalidArgAccess(u8),
    InvalidLocalAccess(u8),
    Return(AmlValue),
    PrtInvalidAddress,
    PrtInvalidPin,
    PrtInvalidSource,
    PrtInvalidGsi,
    PrtNoEntry,
    ReservedResourceType,
    ResourceDescriptorTooShort,
    InvalidStatusObject,
    InvalidShiftLeft,
    InvalidShiftRight,
    FieldRegionIsNotOpRegion,
    FieldInvalidAddress,
    FieldInvalidAccessSize,
    TypeCannotBeCompared(AmlType),
}

Variants

UnexpectedEndOfStream
UnexpectedByte(u8)
InvalidNameSeg
InvalidFieldFlags
IncompatibleValueConversion
UnterminatedStringConstant
InvalidStringConstant
InvalidRegionSpace(u8)
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!.

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.

Return(AmlValue)

This is not a real error, but is used to propagate return values from within the deep parsing call-stack. It should only be emitted when parsing a DefReturn. We use the error system here because the way errors are propagated matches how we want to handle return values.

PrtInvalidAddress
PrtInvalidPin
PrtInvalidSource
PrtInvalidGsi
PrtNoEntry

Produced when the PRT doesn't contain an entry for the requested address + pin

ReservedResourceType
ResourceDescriptorTooShort
InvalidStatusObject
InvalidShiftLeft
InvalidShiftRight
FieldRegionIsNotOpRegion
FieldInvalidAddress
FieldInvalidAccessSize
TypeCannotBeCompared(AmlType)

Trait Implementations

impl Clone for AmlError[src]

impl Debug for AmlError[src]

impl Eq for AmlError[src]

impl PartialEq<AmlError> for AmlError[src]

impl StructuralEq for AmlError[src]

impl StructuralPartialEq for AmlError[src]

Auto Trait Implementations

impl Send for AmlError

impl Sync for AmlError

impl Unpin for AmlError

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.