示例#1
0
        public override void ExitPropertyblockStatementNamed([NotNull] SBP.PropertyblockStatementNamedContext context)
        {
            var homeList    = m_propertyBlockOperands.Peek();
            var entry       = homeList[homeList.Count - 1]; // This block is last in the current stack level.
            var nameAndType = m_entryNameAndTypeStack.Pop();
            var name        = nameAndType.Item1;
            var type        = nameAndType.Item2;

            if (name[0] == '\"')
            {
                name = name.Substring(1, name.Length - 2);
            }
            if (type != null && type[0] == '\"')
            {
                type = type.Substring(1, type.Length - 2);
            }
            entry.Name = name;
            entry.SpecifiedTypeName = type;
            var stack = m_expressionData.PopStackLevel();
        }
示例#2
0
 public override void EnterPropertyblockStatementNamed([NotNull] SBP.PropertyblockStatementNamedContext context)
 {
     m_acceptElementPropFlags = false;
 }
示例#3
0
        //public override void EnterPropertyblockStatement([NotNull] SBP.PropertyblockStatementContext context)
        //{
        //}

        //public override void ExitPropertyblockStatement([NotNull] SBP.PropertyblockStatementContext context)
        //{
        //}

        public override void EnterPropertyblockStatementNamed([NotNull] SBP.PropertyblockStatementNamedContext context)
        {
            m_expressionData.PushStackLevel("Block Statement Named");   // For the entry name.
            m_propertyEntryName = null;
            m_propertyEntryType = null;
        }