Enum ast
This commit is contained in:
@@ -72,6 +72,11 @@ pub enum TopLevelKind {
|
|||||||
ModAttribute,
|
ModAttribute,
|
||||||
Import(Path),
|
Import(Path),
|
||||||
Mod(Identifier),
|
Mod(Identifier),
|
||||||
|
EnumDecl {
|
||||||
|
visibility: Visibility,
|
||||||
|
name: Identifier,
|
||||||
|
fields: Vec<EnumItem>,
|
||||||
|
},
|
||||||
StructDecl {
|
StructDecl {
|
||||||
visibility: Visibility,
|
visibility: Visibility,
|
||||||
name: Identifier,
|
name: Identifier,
|
||||||
@@ -87,6 +92,13 @@ pub enum TopLevelKind {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize)]
|
||||||
|
pub enum EnumItem {
|
||||||
|
Named(Identifier),
|
||||||
|
Tuple(Identifier, Vec<TypeExpr>),
|
||||||
|
Struct(Identifier, FieldList),
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize)]
|
#[derive(Debug, Clone, Serialize)]
|
||||||
pub struct ClassConstructor {
|
pub struct ClassConstructor {
|
||||||
pub visibility: Visibility,
|
pub visibility: Visibility,
|
||||||
|
|||||||
Reference in New Issue
Block a user