コード例 #1
0
        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);
        }
コード例 #2
0
 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.
 }