public override void ExitElementPropertyblock([NotNull] SBP.ElementPropertyblockContext context) { if (m_propertyBlockOperands.Count != 1) { throw new InvalidOperationException("Unexpected stack depth."); } if (m_propertyBlockOperands.Peek().Count != 1) { throw new InvalidOperationException("Unexpected element count on stack base."); } var block = (PropertyBlock)m_propertyBlockOperands.Peek()[0]; m_propertyBlockOperands.Pop(); m_lastElementPropertyBlock = block; if (m_currentFileElement != null) { m_currentFileElement.SetPropertyBlockData(m_lastElementPropertyBlock); try { m_currentFileElement.ParsePropertyBlock(this); } catch (ParsingErrorException ex) { m_errors.SymanticError(context.Start.Line, -1, false, $"Value '{ex.Name}': {ex.Message}"); } } }
public override void EnterElementPropertyblock([NotNull] SBP.ElementPropertyblockContext context) { this.EnterElementProps(); }