Example #1
0
        private void AppendPOString(string value)
        {
            if (value == null)
            {
                value = string.Empty;
            }

            var startIndex = _builder.Length;

            _builder.Append('"');
            POString.Encode(_builder, value, 0, value.Length);
            _builder.Append('"');
            var endIndex = _builder.Length;

            if (!(!HasFlags(Flags.IgnoreLongLines) && endIndex - _lineStartIndex > MaxLineLength ||
                  !HasFlags(Flags.IgnoreLineBreaks) && IndexOfNewLine(startIndex + 1, endIndex - 1) >= 0))
            {
                return;
            }

            startIndex++;
            _builder.Insert(startIndex, _stringBreak);
            _lineStartIndex = startIndex + _stringBreak.Length;
            _lineStartIndex--;

            while ((startIndex = GetStringBreakIndex()) >= 0)
            {
                _builder.Insert(startIndex, _stringBreak);
                _lineStartIndex = startIndex + _stringBreak.Length;
                _lineStartIndex--;
            }
        }
Example #2
0
        void BuildString(string value)
        {
            var startIndex = _builder.Length;

            _builder.Append('"');
            POString.Encode(_builder, value, 0, value.Length);
            _builder.Append('"');
            var endIndex = _builder.Length;

            if (!(!_flags.HasFlag(Flags.IgnoreLongLines) && endIndex - _lineStartIndex > maxLineLength ||
                  (!_flags.HasFlag(Flags.IgnoreLineBreaks) && IndexOfNewLine(startIndex + 1, endIndex - 1) >= 0)))
            {
                return;
            }

            startIndex++;
            _builder.Insert(startIndex, stringBreak);
            _lineStartIndex = startIndex + stringBreak.Length;
            _lineStartIndex--;

            while ((startIndex = GetStringBreakIndex()) >= 0)
            {
                _builder.Insert(startIndex, stringBreak);
                _lineStartIndex = startIndex + stringBreak.Length;
                _lineStartIndex--;
            }
        }
Example #3
0
        public override string ToString()
        {
            var idKindToken = POKey.GetIdKindToken(IdKind) ?? "?";
            var value       = Value ?? string.Empty;

            var sb = new StringBuilder();

            sb.Append(idKindToken);
            sb.Append(' ');
            sb.Append('"');
            POString.Encode(sb, value, 0, value.Length);
            sb.Append('"');

            return(sb.ToString());
        }