pub enum PcodeLowerError {
Show 18 variants
UnknownSize,
ZeroSize,
CopySizeMismatch {
input: usize,
output: usize,
},
InputSizeMismatch {
operation: &'static str,
left: usize,
right: usize,
},
InvalidBooleanSize(usize),
AddressSizeMismatch {
expected: usize,
actual: usize,
},
StoreSizeMismatch {
declared: usize,
value: usize,
},
InvalidRange {
start: usize,
size: usize,
storage_bits: usize,
},
UniqueSpaceOverflow,
UnknownRegister(RegisterId),
UnresolvedIdentifier(&'static str),
UnresolvedSpace,
UnresolvedRangeParameter,
InternalNode(&'static str),
Unsupported(&'static str),
DuplicateLabel(Box<str>),
UnknownLabel(Box<str>),
InvalidDirectTarget,
}Expand description
Failure while lowering source-shaped SLEIGH p-code to flat operations.
Variants§
UnknownSize
An expression needs a byte width but neither the AST nor its consumer supplies one.
ZeroSize
A zero-byte varnode was requested.
CopySizeMismatch
A raw COPY would use different widths for its input and output.
InputSizeMismatch
A raw operation requires equally-sized input varnodes.
InvalidBooleanSize(usize)
A comparison or boolean operation did not produce a one-byte result.
AddressSizeMismatch
A memory pointer did not have the address width of its referenced space.
StoreSizeMismatch
A store’s declared width differed from the value being stored.
InvalidRange
A bit range is empty, exceeds its containing varnode, or cannot fit in a u64 mask.
UniqueSpaceOverflow
Allocating a temporary overflowed the unique-space offset.
UnknownRegister(RegisterId)
The lowering context did not know a register referenced by the AST.
UnresolvedIdentifier(&'static str)
A source-level field, table, or global survived expansion.
UnresolvedSpace
A source-level memory space survived resolution.
UnresolvedRangeParameter
A source-level macro parameter survived expansion.
InternalNode(&'static str)
A source construct that must be expanded before lowering survived.
Unsupported(&'static str)
The operation cannot be represented as raw instruction p-code yet.
DuplicateLabel(Box<str>)
A label was declared more than once in one instruction.
UnknownLabel(Box<str>)
A branch referred to a label that was not declared in this instruction.
InvalidDirectTarget
A direct branch target was not a literal machine address or local label.
Trait Implementations§
Source§impl Clone for PcodeLowerError
impl Clone for PcodeLowerError
Source§fn clone(&self) -> PcodeLowerError
fn clone(&self) -> PcodeLowerError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PcodeLowerError
impl Debug for PcodeLowerError
Source§impl Display for PcodeLowerError
impl Display for PcodeLowerError
impl Eq for PcodeLowerError
Source§impl Error for PcodeLowerError
impl Error for PcodeLowerError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()