sv_parser_syntaxtree/declarations/
block_item_declarations.rs

1use crate::*;
2
3// -----------------------------------------------------------------------------
4
5#[derive(Clone, Debug, PartialEq, Node)]
6pub enum BlockItemDeclaration {
7    Data(Box<BlockItemDeclarationData>),
8    LocalParameter(Box<BlockItemDeclarationLocalParameter>),
9    Parameter(Box<BlockItemDeclarationParameter>),
10    Let(Box<BlockItemDeclarationLet>),
11}
12
13#[derive(Clone, Debug, PartialEq, Node)]
14pub struct BlockItemDeclarationData {
15    pub nodes: (Vec<AttributeInstance>, DataDeclaration),
16}
17
18#[derive(Clone, Debug, PartialEq, Node)]
19pub struct BlockItemDeclarationLocalParameter {
20    pub nodes: (Vec<AttributeInstance>, LocalParameterDeclaration, Symbol),
21}
22
23#[derive(Clone, Debug, PartialEq, Node)]
24pub struct BlockItemDeclarationParameter {
25    pub nodes: (Vec<AttributeInstance>, ParameterDeclaration, Symbol),
26}
27
28#[derive(Clone, Debug, PartialEq, Node)]
29pub struct BlockItemDeclarationLet {
30    pub nodes: (Vec<AttributeInstance>, LetDeclaration),
31}