1use crate::*;
2
3#[derive(Clone, Debug, PartialEq, Node)]
6pub struct ArrayIdentifier {
7 pub nodes: (Identifier,),
8}
9
10#[derive(Clone, Debug, PartialEq, Node)]
11pub struct BlockIdentifier {
12 pub nodes: (Identifier,),
13}
14
15#[derive(Clone, Debug, PartialEq, Node)]
16pub struct BinIdentifier {
17 pub nodes: (Identifier,),
18}
19
20#[derive(Clone, Debug, PartialEq, Node)]
21pub struct CIdentifier {
22 pub nodes: (Locate, Vec<WhiteSpace>),
23}
24
25#[derive(Clone, Debug, PartialEq, Node)]
26pub struct CellIdentifier {
27 pub nodes: (Identifier,),
28}
29
30#[derive(Clone, Debug, PartialEq, Node)]
31pub struct CheckerIdentifier {
32 pub nodes: (Identifier,),
33}
34
35#[derive(Clone, Debug, PartialEq, Node)]
36pub struct ClassIdentifier {
37 pub nodes: (Identifier,),
38}
39
40#[derive(Clone, Debug, PartialEq, Node)]
41pub struct ClassVariableIdentifier {
42 pub nodes: (VariableIdentifier,),
43}
44
45#[derive(Clone, Debug, PartialEq, Node)]
46pub struct ClockingIdentifier {
47 pub nodes: (Identifier,),
48}
49
50#[derive(Clone, Debug, PartialEq, Node)]
51pub struct ConfigIdentifier {
52 pub nodes: (Identifier,),
53}
54
55#[derive(Clone, Debug, PartialEq, Node)]
56pub struct ConstIdentifier {
57 pub nodes: (Identifier,),
58}
59
60#[derive(Clone, Debug, PartialEq, Node)]
61pub struct ConstraintIdentifier {
62 pub nodes: (Identifier,),
63}
64
65#[derive(Clone, Debug, PartialEq, Node)]
66pub struct CovergroupIdentifier {
67 pub nodes: (Identifier,),
68}
69
70#[derive(Clone, Debug, PartialEq, Node)]
71pub struct CovergroupVariableIdentifier {
72 pub nodes: (VariableIdentifier,),
73}
74
75#[derive(Clone, Debug, PartialEq, Node)]
76pub struct CoverPointIdentifier {
77 pub nodes: (Identifier,),
78}
79
80#[derive(Clone, Debug, PartialEq, Node)]
81pub struct CrossIdentifier {
82 pub nodes: (Identifier,),
83}
84
85#[derive(Clone, Debug, PartialEq, Node)]
86pub struct DynamicArrayVariableIdentifier {
87 pub nodes: (VariableIdentifier,),
88}
89
90#[derive(Clone, Debug, PartialEq, Node)]
91pub struct EnumIdentifier {
92 pub nodes: (Identifier,),
93}
94
95#[derive(Clone, Debug, PartialEq, Node)]
96pub struct EscapedIdentifier {
97 pub nodes: (Locate, Vec<WhiteSpace>),
98}
99
100#[derive(Clone, Debug, PartialEq, Node)]
101pub struct FormalIdentifier {
102 pub nodes: (Identifier,),
103}
104
105#[derive(Clone, Debug, PartialEq, Node)]
106pub struct FormalPortIdentifier {
107 pub nodes: (Identifier,),
108}
109
110#[derive(Clone, Debug, PartialEq, Node)]
111pub struct FunctionIdentifier {
112 pub nodes: (Identifier,),
113}
114
115#[derive(Clone, Debug, PartialEq, Node)]
116pub struct GenerateBlockIdentifier {
117 pub nodes: (Identifier,),
118}
119
120#[derive(Clone, Debug, PartialEq, Node)]
121pub struct GenvarIdentifier {
122 pub nodes: (Identifier,),
123}
124
125#[derive(Clone, Debug, PartialEq, Node)]
126pub struct HierarchicalArrayIdentifier {
127 pub nodes: (HierarchicalIdentifier,),
128}
129
130#[derive(Clone, Debug, PartialEq, Node)]
131pub struct HierarchicalBlockIdentifier {
132 pub nodes: (HierarchicalIdentifier,),
133}
134
135#[derive(Clone, Debug, PartialEq, Node)]
136pub struct HierarchicalEventIdentifier {
137 pub nodes: (HierarchicalIdentifier,),
138}
139
140#[derive(Clone, Debug, PartialEq, Node)]
141pub struct HierarchicalIdentifier {
142 pub nodes: (
143 Option<Root>,
144 Vec<(Identifier, ConstantBitSelect, Symbol)>,
145 Identifier,
146 ),
147}
148
149#[derive(Clone, Debug, PartialEq, Node)]
150pub struct Root {
151 pub nodes: (Keyword, Symbol),
152}
153
154#[derive(Clone, Debug, PartialEq, Node)]
155pub struct HierarchicalNetIdentifier {
156 pub nodes: (HierarchicalIdentifier,),
157}
158
159#[derive(Clone, Debug, PartialEq, Node)]
160pub struct HierarchicalParameterIdentifier {
161 pub nodes: (HierarchicalIdentifier,),
162}
163
164#[derive(Clone, Debug, PartialEq, Node)]
165pub struct HierarchicalPropertyIdentifier {
166 pub nodes: (HierarchicalIdentifier,),
167}
168
169#[derive(Clone, Debug, PartialEq, Node)]
170pub struct HierarchicalSequenceIdentifier {
171 pub nodes: (HierarchicalIdentifier,),
172}
173
174#[derive(Clone, Debug, PartialEq, Node)]
175pub struct HierarchicalTaskIdentifier {
176 pub nodes: (HierarchicalIdentifier,),
177}
178
179#[derive(Clone, Debug, PartialEq, Node)]
180pub struct HierarchicalTfIdentifier {
181 pub nodes: (HierarchicalIdentifier,),
182}
183
184#[derive(Clone, Debug, PartialEq, Node)]
185pub struct HierarchicalVariableIdentifier {
186 pub nodes: (HierarchicalIdentifier,),
187}
188
189#[derive(Clone, Debug, PartialEq, Node)]
190pub enum Identifier {
191 SimpleIdentifier(Box<SimpleIdentifier>),
192 EscapedIdentifier(Box<EscapedIdentifier>),
193}
194
195#[derive(Clone, Debug, PartialEq, Node)]
196pub struct IndexVariableIdentifier {
197 pub nodes: (Identifier,),
198}
199
200#[derive(Clone, Debug, PartialEq, Node)]
201pub struct InterfaceIdentifier {
202 pub nodes: (Identifier,),
203}
204
205#[derive(Clone, Debug, PartialEq, Node)]
206pub struct InterfaceInstanceIdentifier {
207 pub nodes: (Identifier,),
208}
209
210#[derive(Clone, Debug, PartialEq, Node)]
211pub struct InoutPortIdentifier {
212 pub nodes: (Identifier,),
213}
214
215#[derive(Clone, Debug, PartialEq, Node)]
216pub struct InputPortIdentifier {
217 pub nodes: (Identifier,),
218}
219
220#[derive(Clone, Debug, PartialEq, Node)]
221pub struct InstanceIdentifier {
222 pub nodes: (Identifier,),
223}
224
225#[derive(Clone, Debug, PartialEq, Node)]
226pub struct LibraryIdentifier {
227 pub nodes: (Identifier,),
228}
229
230#[derive(Clone, Debug, PartialEq, Node)]
231pub struct MemberIdentifier {
232 pub nodes: (Identifier,),
233}
234
235#[derive(Clone, Debug, PartialEq, Node)]
236pub struct MethodIdentifier {
237 pub nodes: (Identifier,),
238}
239
240#[derive(Clone, Debug, PartialEq, Node)]
241pub struct ModportIdentifier {
242 pub nodes: (Identifier,),
243}
244
245#[derive(Clone, Debug, PartialEq, Node)]
246pub struct ModuleIdentifier {
247 pub nodes: (Identifier,),
248}
249
250#[derive(Clone, Debug, PartialEq, Node)]
251pub struct NetIdentifier {
252 pub nodes: (Identifier,),
253}
254
255#[derive(Clone, Debug, PartialEq, Node)]
256pub struct NetTypeIdentifier {
257 pub nodes: (Identifier,),
258}
259
260#[derive(Clone, Debug, PartialEq, Node)]
261pub struct OutputPortIdentifier {
262 pub nodes: (Identifier,),
263}
264
265#[derive(Clone, Debug, PartialEq, Node)]
266pub struct PackageIdentifier {
267 pub nodes: (Identifier,),
268}
269
270#[derive(Clone, Debug, PartialEq, Node)]
271pub enum PackageScope {
272 Package(Box<PackageScopePackage>),
273 Unit(Box<Unit>),
274}
275
276#[derive(Clone, Debug, PartialEq, Node)]
277pub struct PackageScopePackage {
278 pub nodes: (PackageIdentifier, Symbol),
279}
280
281#[derive(Clone, Debug, PartialEq, Node)]
282pub struct Unit {
283 pub nodes: (Keyword, Symbol),
284}
285
286#[derive(Clone, Debug, PartialEq, Node)]
287pub struct ParameterIdentifier {
288 pub nodes: (Identifier,),
289}
290
291#[derive(Clone, Debug, PartialEq, Node)]
292pub struct PortIdentifier {
293 pub nodes: (Identifier,),
294}
295
296#[derive(Clone, Debug, PartialEq, Node)]
297pub struct ProductionIdentifier {
298 pub nodes: (Identifier,),
299}
300
301#[derive(Clone, Debug, PartialEq, Node)]
302pub struct ProgramIdentifier {
303 pub nodes: (Identifier,),
304}
305
306#[derive(Clone, Debug, PartialEq, Node)]
307pub struct PropertyIdentifier {
308 pub nodes: (Identifier,),
309}
310
311#[derive(Clone, Debug, PartialEq, Node)]
312pub struct PsClassIdentifier {
313 pub nodes: (Option<PackageScope>, ClassIdentifier),
314}
315
316#[derive(Clone, Debug, PartialEq, Node)]
317pub struct PsCovergroupIdentifier {
318 pub nodes: (Option<PackageScope>, CovergroupIdentifier),
319}
320
321#[derive(Clone, Debug, PartialEq, Node)]
322pub struct PsCheckerIdentifier {
323 pub nodes: (Option<PackageScope>, CheckerIdentifier),
324}
325
326#[derive(Clone, Debug, PartialEq, Node)]
327pub struct PsIdentifier {
328 pub nodes: (Option<PackageScope>, Identifier),
329}
330
331#[derive(Clone, Debug, PartialEq, Node)]
332pub struct PsOrHierarchicalArrayIdentifier {
333 pub nodes: (
334 Option<ImplicitClassHandleOrClassScopeOrPackageScope>,
335 HierarchicalArrayIdentifier,
336 ),
337}
338
339#[derive(Clone, Debug, PartialEq, Node)]
340pub enum PsOrHierarchicalNetIdentifier {
341 PackageScope(Box<PsOrHierarchicalNetIdentifierPackageScope>),
342 HierarchicalNetIdentifier(Box<HierarchicalNetIdentifier>),
343}
344
345#[derive(Clone, Debug, PartialEq, Node)]
346pub struct PsOrHierarchicalNetIdentifierPackageScope {
347 pub nodes: (Option<PackageScope>, NetIdentifier),
348}
349
350#[derive(Clone, Debug, PartialEq, Node)]
351pub struct PsOrHierarchicalNetIdentifierHierarchical {
352 pub nodes: (HierarchicalNetIdentifier,),
353}
354
355#[derive(Clone, Debug, PartialEq, Node)]
356pub enum PsOrHierarchicalPropertyIdentifier {
357 PackageScope(Box<PsOrHierarchicalPropertyIdentifierPackageScope>),
358 HierarchicalPropertyIdentifier(Box<HierarchicalPropertyIdentifier>),
359}
360
361#[derive(Clone, Debug, PartialEq, Node)]
362pub struct PsOrHierarchicalPropertyIdentifierPackageScope {
363 pub nodes: (Option<PackageScope>, PropertyIdentifier),
364}
365
366#[derive(Clone, Debug, PartialEq, Node)]
367pub struct PsOrHierarchicalPropertyIdentifierHierarchical {
368 pub nodes: (HierarchicalPropertyIdentifier,),
369}
370
371#[derive(Clone, Debug, PartialEq, Node)]
372pub enum PsOrHierarchicalSequenceIdentifier {
373 PackageScope(Box<PsOrHierarchicalSequenceIdentifierPackageScope>),
374 HierarchicalSequenceIdentifier(Box<HierarchicalSequenceIdentifier>),
375}
376
377#[derive(Clone, Debug, PartialEq, Node)]
378pub struct PsOrHierarchicalSequenceIdentifierPackageScope {
379 pub nodes: (Option<PackageScope>, SequenceIdentifier),
380}
381
382#[derive(Clone, Debug, PartialEq, Node)]
383pub struct PsOrHierarchicalSequenceIdentifierHierarchical {
384 pub nodes: (HierarchicalSequenceIdentifier,),
385}
386
387#[derive(Clone, Debug, PartialEq, Node)]
388pub enum PsOrHierarchicalTfIdentifier {
389 PackageScope(Box<PsOrHierarchicalTfIdentifierPackageScope>),
390 HierarchicalTfIdentifier(Box<HierarchicalTfIdentifier>),
391}
392
393#[derive(Clone, Debug, PartialEq, Node)]
394pub struct PsOrHierarchicalTfIdentifierPackageScope {
395 pub nodes: (
396 Option<ImplicitClassHandleOrClassScopeOrPackageScope>,
397 TfIdentifier,
398 ),
399}
400
401#[derive(Clone, Debug, PartialEq, Node)]
402pub struct PsOrHierarchicalTfIdentifierHierarchical {
403 pub nodes: (HierarchicalTfIdentifier,),
404}
405
406#[derive(Clone, Debug, PartialEq, Node)]
407pub enum PsParameterIdentifier {
408 Scope(Box<PsParameterIdentifierScope>),
409 Generate(Box<PsParameterIdentifierGenerate>),
410}
411
412#[derive(Clone, Debug, PartialEq, Node)]
413pub struct PsParameterIdentifierScope {
414 pub nodes: (Option<PackageScopeOrClassScope>, ParameterIdentifier),
415}
416
417#[derive(Clone, Debug, PartialEq, Node)]
418pub struct PsParameterIdentifierGenerate {
419 pub nodes: (
420 Vec<(
421 GenerateBlockIdentifier,
422 Option<Bracket<ConstantExpression>>,
423 Symbol,
424 )>,
425 ParameterIdentifier,
426 ),
427}
428
429#[derive(Clone, Debug, PartialEq, Node)]
430pub struct PsTypeIdentifier {
431 pub nodes: (Option<LocalOrPackageScopeOrClassScope>, TypeIdentifier),
432}
433
434#[derive(Clone, Debug, PartialEq, Node)]
435pub enum LocalOrPackageScopeOrClassScope {
436 Local(Box<Local>),
437 PackageScope(Box<PackageScope>),
438 ClassScope(Box<ClassScope>),
439}
440
441#[derive(Clone, Debug, PartialEq, Node)]
442pub struct Local {
443 pub nodes: (Keyword, Symbol),
444}
445
446#[derive(Clone, Debug, PartialEq, Node)]
447pub struct SequenceIdentifier {
448 pub nodes: (Identifier,),
449}
450
451#[derive(Clone, Debug, PartialEq, Node)]
452pub struct SignalIdentifier {
453 pub nodes: (Identifier,),
454}
455
456#[derive(Clone, Debug, PartialEq, Node)]
457pub struct SimpleIdentifier {
458 pub nodes: (Locate, Vec<WhiteSpace>),
459}
460
461#[derive(Clone, Debug, PartialEq, Node)]
462pub struct SpecparamIdentifier {
463 pub nodes: (Identifier,),
464}
465
466#[derive(Clone, Debug, PartialEq, Node)]
467pub struct SystemTfIdentifier {
468 pub nodes: (Locate, Vec<WhiteSpace>),
469}
470
471#[derive(Clone, Debug, PartialEq, Node)]
472pub struct TaskIdentifier {
473 pub nodes: (Identifier,),
474}
475
476#[derive(Clone, Debug, PartialEq, Node)]
477pub struct TfIdentifier {
478 pub nodes: (Identifier,),
479}
480
481#[derive(Clone, Debug, PartialEq, Node)]
482pub struct TerminalIdentifier {
483 pub nodes: (Identifier,),
484}
485
486#[derive(Clone, Debug, PartialEq, Node)]
487pub struct TopmoduleIdentifier {
488 pub nodes: (Identifier,),
489}
490
491#[derive(Clone, Debug, PartialEq, Node)]
492pub struct TypeIdentifier {
493 pub nodes: (Identifier,),
494}
495
496#[derive(Clone, Debug, PartialEq, Node)]
497pub struct UdpIdentifier {
498 pub nodes: (Identifier,),
499}
500
501#[derive(Clone, Debug, PartialEq, Node)]
502pub struct VariableIdentifier {
503 pub nodes: (Identifier,),
504}
505
506#[derive(Clone, Debug, PartialEq, Node)]
507pub enum ImplicitClassHandleOrClassScopeOrPackageScope {
508 ImplicitClassHandle(Box<(ImplicitClassHandle, Symbol)>),
509 ClassScope(Box<ClassScope>),
510 PackageScope(Box<PackageScope>),
511}
512
513#[derive(Clone, Debug, PartialEq, Node)]
514pub enum ImplicitClassHandleOrPackageScope {
515 ImplicitClassHandle(Box<(ImplicitClassHandle, Symbol)>),
516 PackageScope(Box<PackageScope>),
517}
518
519#[derive(Clone, Debug, PartialEq, Node)]
520pub enum ImplicitClassHandleOrClassScope {
521 ImplicitClassHandle(Box<(ImplicitClassHandle, Symbol)>),
522 ClassScope(Box<ClassScope>),
523}
524
525#[derive(Clone, Debug, PartialEq, Node)]
526pub enum PackageScopeOrClassScope {
527 PackageScope(Box<PackageScope>),
528 ClassScope(Box<ClassScope>),
529}