errors.rs 810 B

123456789101112131415161718192021222324252627282930
  1. use sbpf_common::errors::SBPFError;
  2. use thiserror::Error;
  3. #[derive(Debug, Error)]
  4. pub enum DisassemblerError {
  5. #[error("Non-standard ELF header")]
  6. NonStandardElfHeader,
  7. #[error("Invalid Program Type")]
  8. InvalidProgramType,
  9. #[error("Invalid Section Header Type")]
  10. InvalidSectionHeaderType,
  11. #[error("Invalid OpCode")]
  12. InvalidOpcode,
  13. #[error("Invalid Immediate")]
  14. InvalidImmediate,
  15. #[error("Invalid data length")]
  16. InvalidDataLength,
  17. #[error("Invalid string")]
  18. InvalidString,
  19. #[error("Bytecode error: {0}")]
  20. BytecodeError(String),
  21. }
  22. impl From<SBPFError> for DisassemblerError {
  23. fn from(err: SBPFError) -> Self {
  24. match err {
  25. SBPFError::BytecodeError { error, .. } => DisassemblerError::BytecodeError(error),
  26. }
  27. }
  28. }