(&mut self, enum_name: Token<'gc>, variant: Token<'gc>)
| 1560 | } |
| 1561 | |
| 1562 | fn validate_enum_variant(&mut self, enum_name: Token<'gc>, variant: Token<'gc>) { |
| 1563 | // Validate enums and variants |
| 1564 | if let Some(enum_) = self.get_enum(enum_name.lexeme) { |
| 1565 | let variant_name = self.ctx.intern(variant.lexeme.as_bytes()); |
| 1566 | if enum_.borrow().get_variant_value(variant_name).is_none() { |
| 1567 | self.error_at( |
| 1568 | variant, |
| 1569 | &format!( |
| 1570 | "No variant called '{}' in enum '{}'.", |
| 1571 | variant.lexeme, enum_name.lexeme |
| 1572 | ), |
| 1573 | ); |
| 1574 | } |
| 1575 | } else { |
| 1576 | self.error_at(enum_name, &format!("Invalid enum '{}'.", enum_name.lexeme)); |
| 1577 | } |
| 1578 | } |
| 1579 | |
| 1580 | // Bytecode emission methods |
| 1581 | fn emit(&mut self, op: OpCode) { |
no test coverage detected