public override void ExitPropertyblockArray([NotNull] SBP.PropertyblockArrayContext context) { var childs = m_propertyBlockOperands.Pop(); var homeList = m_propertyBlockOperands.Peek(); var array = (PropertyBlockArray)homeList[homeList.Count - 1]; // This block is last in the current stack level. array.AddRange(childs); }
public override void EnterPropertyblockArray([NotNull] SBP.PropertyblockArrayContext context) { if (m_propertyBlockOperands.Count < 1) { throw new InvalidOperationException("Operands stack not initiated."); } m_propertyBlockOperands.Peek().Add(new PropertyBlockArray(context.Start.Line)); // Add this array to the current stack level list. m_propertyBlockOperands.Push(new List <PropertyBlockEntry>()); // Add new stack level for the children. }