Skip to main content

luau_bytecode/
error.rs

1#[derive(Debug, Clone, PartialEq, Eq)]
2pub enum BytecodeReadError {
3    ErrorBytecode {
4        message: Vec<u8>,
5    },
6    UnexpectedEof {
7        offset: usize,
8        requested: usize,
9        available: usize,
10    },
11    InvalidVersion {
12        version: u8,
13    },
14    InvalidTypeVersion {
15        version: u8,
16    },
17    InvalidTypeInfo {
18        offset: usize,
19    },
20    InvalidDebugInfo {
21        offset: usize,
22    },
23    InvalidOpcode {
24        opcode: u8,
25        offset: usize,
26    },
27    InvalidConstantTag {
28        tag: u8,
29        offset: usize,
30    },
31    InvalidFeedbackSlotKind {
32        kind: u8,
33        offset: usize,
34    },
35    InvalidStringId {
36        id: u32,
37    },
38    InvalidFunctionId {
39        id: u32,
40    },
41    FunctionGraphTooLarge {
42        blocks: usize,
43    },
44    MissingRegisterProducer {
45        block: usize,
46        register: u8,
47    },
48}
49
50impl BytecodeReadError {
51    pub fn error_bytecode_message(&self) -> Option<&[u8]> {
52        match self {
53            Self::ErrorBytecode { message } => Some(message),
54            _ => None,
55        }
56    }
57}