valua_codegen/error.rs
1//! Code generator error type.
2
3use thiserror::Error;
4use valua_diagnostics::Span;
5
6/// Errors produced by the Lua 5.1 code emitter.
7#[derive(Debug, Error)]
8pub enum CodeGenError {
9 #[error("AST node at {span:?} cannot be represented in Lua {target}: {detail}")]
10 UnsupportedNode {
11 target: &'static str,
12 detail: String,
13 span: Span,
14 },
15
16 #[error("internal emitter error: {detail}")]
17 Internal { detail: String },
18}