sv_parser_syntaxtree/source_text/
package_items.rs1use crate::*;
2
3#[derive(Clone, Debug, PartialEq, Node)]
6pub enum PackageItem {
7 PackageOrGenerateItemDeclaration(Box<PackageOrGenerateItemDeclaration>),
8 AnonymousProgram(Box<AnonymousProgram>),
9 PackageExportDeclaration(Box<PackageExportDeclaration>),
10 TimeunitsDeclaration(Box<TimeunitsDeclaration>),
11}
12
13#[derive(Clone, Debug, PartialEq, Node)]
14pub enum PackageOrGenerateItemDeclaration {
15 NetDeclaration(Box<NetDeclaration>),
16 DataDeclaration(Box<DataDeclaration>),
17 TaskDeclaration(Box<TaskDeclaration>),
18 FunctionDeclaration(Box<FunctionDeclaration>),
19 CheckerDeclaration(Box<CheckerDeclaration>),
20 DpiImportExport(Box<DpiImportExport>),
21 ExternConstraintDeclaration(Box<ExternConstraintDeclaration>),
22 ClassDeclaration(Box<ClassDeclaration>),
23 InterfaceClassDeclaration(Box<InterfaceClassDeclaration>),
24 ClassConstructorDeclaration(Box<ClassConstructorDeclaration>),
25 LocalParameterDeclaration(Box<(LocalParameterDeclaration, Symbol)>),
26 ParameterDeclaration(Box<(ParameterDeclaration, Symbol)>),
27 CovergroupDeclaration(Box<CovergroupDeclaration>),
28 AssertionItemDeclaration(Box<AssertionItemDeclaration>),
29 Empty(Box<Symbol>),
30}
31
32#[derive(Clone, Debug, PartialEq, Node)]
33pub struct AnonymousProgram {
34 pub nodes: (Keyword, Symbol, Vec<AnonymousProgramItem>, Keyword),
35}
36
37#[derive(Clone, Debug, PartialEq, Node)]
38pub enum AnonymousProgramItem {
39 TaskDeclaration(Box<TaskDeclaration>),
40 FunctionDeclaration(Box<FunctionDeclaration>),
41 ClassDeclaration(Box<ClassDeclaration>),
42 InterfaceClassDeclaration(Box<InterfaceClassDeclaration>),
43 CovergroupDeclaration(Box<CovergroupDeclaration>),
44 ClassConstructorDeclaration(Box<ClassConstructorDeclaration>),
45 Empty(Box<Symbol>),
46}