Traits
This commit is contained in:
+14
-1
@@ -75,6 +75,13 @@ pub enum TopLevelKind {
|
||||
Import(Path),
|
||||
Mod(Identifier),
|
||||
ImplDecl(ImplDecl),
|
||||
TraitDecl {
|
||||
visibility: Visibility,
|
||||
name: Identifier,
|
||||
generics: Generics,
|
||||
requirements: Vec<TypeExpr>,
|
||||
items: Vec<TraitItem>,
|
||||
},
|
||||
EnumDecl {
|
||||
visibility: Visibility,
|
||||
name: Identifier,
|
||||
@@ -83,8 +90,8 @@ pub enum TopLevelKind {
|
||||
},
|
||||
StructDecl {
|
||||
visibility: Visibility,
|
||||
generics: Generics,
|
||||
name: Identifier,
|
||||
generics: Generics,
|
||||
fields: Vec<FieldDecl>,
|
||||
},
|
||||
FunctionDecl(FunctionDecl),
|
||||
@@ -98,6 +105,12 @@ pub enum TopLevelKind {
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub enum TraitItem {
|
||||
WithBody(FunctionDecl),
|
||||
NoBody(FunctionDecl),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub enum ClassItem {
|
||||
Method(FunctionDecl),
|
||||
|
||||
Reference in New Issue
Block a user