scarf_syntax/declarations/
declaration_lists.rs1use crate::*;
6
7#[derive(Clone, Debug, PartialEq)]
8pub struct ListOfDefparamAssignments<'a>(
9 pub DefparamAssignment<'a>,
10 pub Vec<(Metadata<'a>, DefparamAssignment<'a>)>,
11);
12
13#[derive(Clone, Debug, PartialEq)]
14pub struct ListOfGenvarIdentifiers<'a>(
15 pub GenvarIdentifier<'a>,
16 pub Vec<(Metadata<'a>, GenvarIdentifier<'a>)>,
17);
18
19#[derive(Clone, Debug, PartialEq)]
20pub struct ListOfInterfaceIdentifiers<'a>(
21 pub InterfaceIdentifier<'a>,
22 pub Vec<UnpackedDimension<'a>>,
23 pub Vec<(
24 Metadata<'a>, InterfaceIdentifier<'a>,
26 Vec<UnpackedDimension<'a>>,
27 )>,
28);
29
30#[derive(Clone, Debug, PartialEq)]
31pub struct ListOfNetDeclAssignments<'a>(
32 pub NetDeclAssignment<'a>,
33 pub Vec<(Metadata<'a>, NetDeclAssignment<'a>)>,
34);
35
36#[derive(Clone, Debug, PartialEq)]
37pub struct ListOfParamAssignments<'a>(
38 pub ParamAssignment<'a>,
39 pub Vec<(Metadata<'a>, ParamAssignment<'a>)>,
40);
41
42#[derive(Clone, Debug, PartialEq)]
43pub struct ListOfPortIdentifiers<'a>(
44 pub PortIdentifier<'a>,
45 pub Vec<UnpackedDimension<'a>>,
46 pub Vec<(
47 Metadata<'a>, PortIdentifier<'a>,
49 Vec<UnpackedDimension<'a>>,
50 )>,
51);
52
53#[derive(Clone, Debug, PartialEq)]
54pub struct ListOfUdpPortIdentifiers<'a>(
55 pub PortIdentifier<'a>,
56 pub Vec<(
57 Metadata<'a>, PortIdentifier<'a>,
59 )>,
60);
61
62#[derive(Clone, Debug, PartialEq)]
63pub struct ListOfSpecparamAssignments<'a>(
64 pub SpecparamAssignment<'a>,
65 pub Vec<(
66 Metadata<'a>, SpecparamAssignment<'a>,
68 )>,
69);
70
71#[derive(Clone, Debug, PartialEq)]
72pub struct ListOfTfVariableIdentifiers<'a>(
73 pub PortIdentifier<'a>,
74 pub Vec<VariableDimension<'a>>,
75 pub Option<(
76 Metadata<'a>, Expression<'a>,
78 )>,
79 pub Vec<(
80 Metadata<'a>, PortIdentifier<'a>,
82 Vec<VariableDimension<'a>>,
83 Option<(
84 Metadata<'a>, Expression<'a>,
86 )>,
87 )>,
88);
89
90#[derive(Clone, Debug, PartialEq)]
91pub struct ListOfTypeAssignments<'a>(
92 pub TypeAssignment<'a>,
93 pub Vec<(Metadata<'a>, TypeAssignment<'a>)>,
94);
95
96#[derive(Clone, Debug, PartialEq)]
97pub struct ListOfVariableDeclAssignments<'a>(
98 pub VariableDeclAssignment<'a>,
99 pub Vec<(Metadata<'a>, VariableDeclAssignment<'a>)>,
100);
101
102#[derive(Clone, Debug, PartialEq)]
103pub struct ListOfVariableIdentifiers<'a>(
104 pub VariableIdentifier<'a>,
105 pub Vec<VariableDimension<'a>>,
106 pub Vec<(
107 Metadata<'a>, VariableIdentifier<'a>,
109 Vec<VariableDimension<'a>>,
110 )>,
111);
112
113#[derive(Clone, Debug, PartialEq)]
114pub struct ListOfVariablePortIdentifiers<'a>(
115 pub PortIdentifier<'a>,
116 pub Vec<VariableDimension<'a>>,
117 pub Option<(
118 Metadata<'a>, ConstantExpression<'a>,
120 )>,
121 pub Vec<(
122 Metadata<'a>, PortIdentifier<'a>,
124 Vec<VariableDimension<'a>>,
125 Option<(
126 Metadata<'a>, ConstantExpression<'a>,
128 )>,
129 )>,
130);