sv_parser_syntaxtree/expressions/
expression_leftside_values.rs1use crate::*;
2
3#[derive(Clone, Debug, PartialEq, Node)]
6pub enum NetLvalue {
7 Identifier(Box<NetLvalueIdentifier>),
8 Lvalue(Box<NetLvalueLvalue>),
9 Pattern(Box<NetLvaluePattern>),
10}
11
12#[derive(Clone, Debug, PartialEq, Node)]
13pub struct NetLvalueIdentifier {
14 pub nodes: (PsOrHierarchicalNetIdentifier, ConstantSelect),
15}
16
17#[derive(Clone, Debug, PartialEq, Node)]
18pub struct NetLvalueLvalue {
19 pub nodes: (Brace<List<Symbol, NetLvalue>>,),
20}
21
22#[derive(Clone, Debug, PartialEq, Node)]
23pub struct NetLvaluePattern {
24 pub nodes: (
25 Option<AssignmentPatternExpressionType>,
26 AssignmentPatternNetLvalue,
27 ),
28}
29
30#[derive(Clone, Debug, PartialEq, Node)]
31pub enum VariableLvalue {
32 Identifier(Box<VariableLvalueIdentifier>),
33 Lvalue(Box<VariableLvalueLvalue>),
34 Pattern(Box<VariableLvaluePattern>),
35 StreamingConcatenation(Box<StreamingConcatenation>),
36}
37
38#[derive(Clone, Debug, PartialEq, Node)]
39pub struct VariableLvalueIdentifier {
40 pub nodes: (
41 Option<ImplicitClassHandleOrPackageScope>,
42 HierarchicalVariableIdentifier,
43 Select,
44 ),
45}
46
47#[derive(Clone, Debug, PartialEq, Node)]
48pub struct VariableLvalueLvalue {
49 pub nodes: (Brace<List<Symbol, VariableLvalue>>,),
50}
51
52#[derive(Clone, Debug, PartialEq, Node)]
53pub struct VariableLvaluePattern {
54 pub nodes: (
55 Option<AssignmentPatternExpressionType>,
56 AssignmentPatternVariableLvalue,
57 ),
58}
59
60#[derive(Clone, Debug, PartialEq, Node)]
61pub struct NonrangeVariableLvalue {
62 pub nodes: (
63 Option<ImplicitClassHandleOrPackageScope>,
64 HierarchicalVariableIdentifier,
65 NonrangeSelect,
66 ),
67}