use crate::*; // ----------------------------------------------------------------------------- #[derive(Clone, Debug, PartialEq, Node)] pub struct Concatenation { pub nodes: (Brace>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ConstantConcatenation { pub nodes: (Brace>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ConstantMultipleConcatenation { pub nodes: (Brace<(ConstantExpression, ConstantConcatenation)>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ModulePathConcatenation { pub nodes: (Brace>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ModulePathMultipleConcatenation { pub nodes: (Brace<(ConstantExpression, ModulePathConcatenation)>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct MultipleConcatenation { pub nodes: (Brace<(Expression, Concatenation)>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct StreamingConcatenation { pub nodes: (Brace<(StreamOperator, Option, StreamConcatenation)>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct StreamOperator { pub nodes: (Symbol,), } #[derive(Clone, Debug, PartialEq, Node)] pub enum SliceSize { SimpleType(Box), ConstantExpression(Box), } #[derive(Clone, Debug, PartialEq, Node)] pub struct StreamConcatenation { pub nodes: (Brace>,), } #[derive(Clone, Debug, PartialEq, Node)] pub struct StreamExpression { pub nodes: (Expression, Option<(Keyword, Bracket)>), } #[derive(Clone, Debug, PartialEq, Node)] pub enum ArrayRangeExpression { Expression(Box), Colon(Box), PlusColon(Box), MinusColon(Box), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ArrayRangeExpressionColon { pub nodes: (Expression, Symbol, Expression), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ArrayRangeExpressionPlusColon { pub nodes: (Expression, Symbol, Expression), } #[derive(Clone, Debug, PartialEq, Node)] pub struct ArrayRangeExpressionMinusColon { pub nodes: (Expression, Symbol, Expression), } #[derive(Clone, Debug, PartialEq, Node)] pub struct EmptyUnpackedArrayConcatenation { pub nodes: (Symbol, Symbol), }