sv_parser_syntaxtree/declarations/
module_parameter_declarations.rs

1use crate::*;
2
3// -----------------------------------------------------------------------------
4
5#[derive(Clone, Debug, PartialEq, Node)]
6pub enum LocalParameterDeclaration {
7    Param(Box<LocalParameterDeclarationParam>),
8    Type(Box<LocalParameterDeclarationType>),
9}
10
11#[derive(Clone, Debug, PartialEq, Node)]
12pub struct LocalParameterDeclarationParam {
13    pub nodes: (Keyword, DataTypeOrImplicit, ListOfParamAssignments),
14}
15
16#[derive(Clone, Debug, PartialEq, Node)]
17pub struct LocalParameterDeclarationType {
18    pub nodes: (Keyword, Keyword, ListOfTypeAssignments),
19}
20
21#[derive(Clone, Debug, PartialEq, Node)]
22pub enum ParameterDeclaration {
23    Param(Box<ParameterDeclarationParam>),
24    Type(Box<ParameterDeclarationType>),
25}
26
27#[derive(Clone, Debug, PartialEq, Node)]
28pub struct ParameterDeclarationParam {
29    pub nodes: (Keyword, DataTypeOrImplicit, ListOfParamAssignments),
30}
31
32#[derive(Clone, Debug, PartialEq, Node)]
33pub struct ParameterDeclarationType {
34    pub nodes: (Keyword, Keyword, ListOfTypeAssignments),
35}
36
37#[derive(Clone, Debug, PartialEq, Node)]
38pub struct SpecparamDeclaration {
39    pub nodes: (
40        Keyword,
41        Option<PackedDimension>,
42        ListOfSpecparamAssignments,
43        Symbol,
44    ),
45}