luaur_ast/records/
cst_expr_table.rs1use crate::records::ast_array::AstArray;
2use crate::records::cst_node::CstNode;
3use crate::records::position::Position;
4
5#[repr(C)]
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
7#[allow(non_camel_case_types)]
8pub enum CstExprTableSeparator {
9 Comma,
10 Semicolon,
11 Missing,
12}
13
14#[repr(C)]
15#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
16pub struct CstExprTableItem {
17 pub indexer_open_position: Position,
18 pub indexer_close_position: Position,
19 pub equals_position: Position,
20 pub separator: CstExprTableSeparator,
21 pub separator_position: Position,
22}
23
24#[repr(C)]
25#[derive(Debug, Clone)]
26pub struct CstExprTable {
27 pub base: CstNode,
28 pub items: AstArray<CstExprTableItem>,
29}
30
31impl crate::rtti::CstNodeClass for CstExprTable {
32 const CLASS_INDEX: i32 = crate::rtti::ast_rtti_index("CstExprTable");
33}
34
35pub type Separator = CstExprTableSeparator;
38pub type Item = CstExprTableItem;
39
40#[allow(non_snake_case)]
41impl CstExprTable {
42 pub const Comma: CstExprTableSeparator = CstExprTableSeparator::Comma;
43 pub const Semicolon: CstExprTableSeparator = CstExprTableSeparator::Semicolon;
44 pub const Missing: CstExprTableSeparator = CstExprTableSeparator::Missing;
45}