Пример #1
0
        public override void EnterField(IddParser.FieldContext context)
        {
            _currentFieldIndex++;
            var alphaNumeric = context.field_id().ALPHA_OPTION() != null
                ? IdfFieldAlphaNumeric.Alpha
                : IdfFieldAlphaNumeric.Numeric;

            if (IsStartOfExtensibleField(context.field_properties()))
            {
                _inExtensibleSection  = true;
                _beginExtensibleIndex = _currentFieldIndex;
            }

            if (!_inExtensibleSection || _currentFieldIndex < _beginExtensibleIndex + currentObject.ExtensibleCountSize)
            {
                IdfField idfField = GetField(context.field_properties(), alphaNumeric);
                currentObject.Fields.Add(idfField);
            }
        }
Пример #2
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="IddParser.field"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitField([NotNull] IddParser.FieldContext context)
 {
 }