sv_parser_syntaxtree/source_text/
checker_items.rs1use crate::*;
2
3#[derive(Clone, Debug, PartialEq, Node)]
6pub struct CheckerPortList {
7 pub nodes: (List<Symbol, CheckerPortItem>,),
8}
9
10#[derive(Clone, Debug, PartialEq, Node)]
11pub struct CheckerPortItem {
12 pub nodes: (
13 Vec<AttributeInstance>,
14 Option<CheckerPortDirection>,
15 PropertyFormalType,
16 FormalPortIdentifier,
17 Vec<VariableDimension>,
18 Option<(Symbol, PropertyActualArg)>,
19 ),
20}
21
22#[derive(Clone, Debug, PartialEq, Node)]
23pub enum CheckerPortDirection {
24 Input(Box<Keyword>),
25 Output(Box<Keyword>),
26}
27
28#[derive(Clone, Debug, PartialEq, Node)]
29pub enum CheckerOrGenerateItem {
30 CheckerOrGenerateItemDeclaration(Box<CheckerOrGenerateItemDeclaration>),
31 InitialConstruct(Box<InitialConstruct>),
32 AlwaysConstruct(Box<AlwaysConstruct>),
33 FinalConstruct(Box<FinalConstruct>),
34 AssertionItem(Box<AssertionItem>),
35 ContinuousAssign(Box<ContinuousAssign>),
36 CheckerGenerateItem(Box<CheckerGenerateItem>),
37}
38
39#[derive(Clone, Debug, PartialEq, Node)]
40pub enum CheckerOrGenerateItemDeclaration {
41 Data(Box<CheckerOrGenerateItemDeclarationData>),
42 FunctionDeclaration(Box<FunctionDeclaration>),
43 CheckerDeclaration(Box<CheckerDeclaration>),
44 AssertionItemDeclaration(Box<AssertionItemDeclaration>),
45 CovergroupDeclaration(Box<CovergroupDeclaration>),
46 GenvarDeclaration(Box<GenvarDeclaration>),
47 ClockingDeclaration(Box<ClockingDeclaration>),
48 Clocking(Box<CheckerOrGenerateItemDeclarationClocking>),
49 Disable(Box<CheckerOrGenerateItemDeclarationDisable>),
50 Empty(Box<Symbol>),
51}
52
53#[derive(Clone, Debug, PartialEq, Node)]
54pub struct CheckerOrGenerateItemDeclarationData {
55 pub nodes: (Option<Rand>, DataDeclaration),
56}
57
58#[derive(Clone, Debug, PartialEq, Node)]
59pub struct Rand {
60 pub nodes: (Keyword,),
61}
62
63#[derive(Clone, Debug, PartialEq, Node)]
64pub struct CheckerOrGenerateItemDeclarationClocking {
65 pub nodes: (Keyword, Keyword, ClockingIdentifier, Symbol),
66}
67
68#[derive(Clone, Debug, PartialEq, Node)]
69pub struct CheckerOrGenerateItemDeclarationDisable {
70 pub nodes: (Keyword, Keyword, Keyword, ExpressionOrDist, Symbol),
71}
72
73#[derive(Clone, Debug, PartialEq, Node)]
74pub enum CheckerGenerateItem {
75 LoopGenerateConstruct(Box<LoopGenerateConstruct>),
76 ConditionalGenerateConstruct(Box<ConditionalGenerateConstruct>),
77 GenerateRegion(Box<GenerateRegion>),
78 ElaborationSystemTask(Box<ElaborationSystemTask>),
79}