sv_parser_syntaxtree/instantiations/
checker_instantiation.rs

1use crate::*;
2
3// -----------------------------------------------------------------------------
4
5#[derive(Clone, Debug, PartialEq, Node)]
6pub struct CheckerInstantiation {
7    pub nodes: (
8        PsCheckerIdentifier,
9        NameOfInstance,
10        Paren<Option<ListOfCheckerPortConnections>>,
11        Symbol,
12    ),
13}
14
15#[derive(Clone, Debug, PartialEq, Node)]
16pub enum ListOfCheckerPortConnections {
17    Ordered(Box<ListOfCheckerPortConnectionsOrdered>),
18    Named(Box<ListOfCheckerPortConnectionsNamed>),
19}
20
21#[derive(Clone, Debug, PartialEq, Node)]
22pub struct ListOfCheckerPortConnectionsOrdered {
23    pub nodes: (List<Symbol, OrderedCheckerPortConnection>,),
24}
25
26#[derive(Clone, Debug, PartialEq, Node)]
27pub struct ListOfCheckerPortConnectionsNamed {
28    pub nodes: (List<Symbol, NamedCheckerPortConnection>,),
29}
30
31#[derive(Clone, Debug, PartialEq, Node)]
32pub struct OrderedCheckerPortConnection {
33    pub nodes: (Vec<AttributeInstance>, Option<PropertyActualArg>),
34}
35
36#[derive(Clone, Debug, PartialEq, Node)]
37pub enum NamedCheckerPortConnection {
38    Identifier(Box<NamedCheckerPortConnectionIdentifier>),
39    Asterisk(Box<NamedCheckerPortConnectionAsterisk>),
40}
41
42#[derive(Clone, Debug, PartialEq, Node)]
43pub struct NamedCheckerPortConnectionIdentifier {
44    pub nodes: (
45        Vec<AttributeInstance>,
46        Symbol,
47        FormalPortIdentifier,
48        Option<Paren<Option<PropertyActualArg>>>,
49    ),
50}
51
52#[derive(Clone, Debug, PartialEq, Node)]
53pub struct NamedCheckerPortConnectionAsterisk {
54    pub nodes: (Vec<AttributeInstance>, Symbol),
55}