public void AppendLineFormatTest2NullCheck() { // ReSharper disable once AssignNullToNotNullAttribute Action test = () => StringBuilderEx.AppendLineFormat(null, "", "", ""); Assert.Throws <ArgumentNullException>(test); }
public override void ToXML(i32 lvl, StringBuilderEx sb) { sb.AppendTabs(lvl).AppendFormat("<{0} type=\"{1}\">", this.Name, this.TypeName).AppendLine(); sb.AppendTabs(lvl + 1).AppendFormat("<ExeName type=\"string\">{0}</ExeName>", this.ExeName_stub).AppendLine(); sb.AppendTabs(lvl + 1).AppendFormat("<args type=\"string\">{0}</args>", this.Psi.Arguments).AppendLine(); sb.AppendTabs(lvl + 1).AppendFormat("<CancelOnError type=\"bool\">{0}</CancelOnError>", this.CancelOnError ? "true" : "false").AppendLine(); sb.AppendTabs(lvl).AppendFormat("</{1}>", this.Name).AppendLine(); }
public override void ToXML(i32 lvl, StringBuilderEx sb) { sb.AppendTabs(lvl).AppendFormat("<{0} type=\"{1}\">", this.Name, this.TypeName).AppendLine(); foreach (Node_base nd in this.Children) { nd.ToXML(lvl + 1, sb); } sb.AppendTabs(lvl).AppendFormat("</{0}>", this.Name).AppendLine(); }
public string ToString(SymbolList source) { var formatter = ListFormat.CreateFormatter(StringBuilderEx.Acquire()); foreach (var segment in source.GetSegments()) { formatter.Append(segment.Value); } formatter.AppendEnd(); return(formatter.OutputBuilder.ToStringAndRelease()); }
private async Task <string> NormalizeNameAsync(AppDbContext dbContext, string name, long userId, CancellationToken cancellationToken = default) { // Normalizing name var sb = StringBuilderEx.Acquire(); foreach (var c in name) { if (char.IsLetterOrDigit(c) || c == '_' || c == '-') { sb.Append(c); } else if (sb.Length == 0 || char.IsLetterOrDigit(sb[^ 1]))
public SymbolList Parse(string source) { var parser = ListFormat.CreateParser(source, StringBuilderEx.Acquire()); var list = (SymbolList?)null; while (parser.TryParseNext()) { list = new SymbolList(list, parser.Item); } parser.ItemBuilder.Release(); return(list ?? SymbolList.Empty); }
public override void ToXML(i32 lvl, StringBuilderEx sb) { sb.AppendTabs(lvl).AppendFormat("<{0} type=\"{1}\">", this.Name, this.TypeName).AppendLine(); sb.AppendTabs(lvl + 1); this.m_Variables.ToXML(lvl + 1, sb); sb.AppendTabs(lvl + 1); this.Commands.ToXML(lvl + 1, sb); sb.AppendTabs(lvl).AppendFormat("</{0}>", this.Name).AppendLine(); }
public static string Info_SetValueForKey(string s, string key, string value) { if ((value == null) || (value.Length == 0)) { return(s); } if ((key.IndexOf('\\') != -1) || (value.IndexOf('\\') != -1)) { if (_errorHandler != null) { _errorHandler(ErrorCode.INFO, "Can't use keys or values with a \\\n", null); } return(s); } if (key.IndexOf(';') != -1) { if (_errorHandler != null) { _errorHandler(ErrorCode.INFO, "Can't use keys or values with a semicolon\n", null); } return(s); } if ((key.IndexOf('"') != -1) || (value.IndexOf('"') != -1)) { if (_errorHandler != null) { _errorHandler(ErrorCode.INFO, "Can't use keys or values with a \"\n", null); } return(s); } if ((key.Length > MAX_INFO_KEY - 1) || (value.Length > MAX_INFO_KEY - 1)) { if (_errorHandler != null) { _errorHandler(ErrorCode.INFO, "Keys and values must be < 64 characters.\n", null); } return(s); } StringBuilder b = new StringBuilder(Info_RemoveKey(s, key)); if ((StringBuilderEx.GetLength(b) + 2 + key.Length + value.Length) > MAX_INFO_STRING) { if (_errorHandler != null) { _errorHandler(ErrorCode.INFO, "Info string length exceeded\n", null); } return(s); } b.Append('\\').Append(key).Append('\\').Append(value); return(b.ToString()); }
private void Consolidate() { if (_newData == null) { return; } if (_data.Length < _newDataPosition) { StringBuilder filler = new StringBuilder(); while (_data.Length + StringBuilderEx.GetLength(filler) < _newDataPosition) { filler.Append('\0'); } _data += filler.ToString(); } long p2 = _newDataPosition + StringBuilderEx.GetLength(_newData); _data = _data.Substring(0, (int)_newDataPosition) + _newData.ToString() + (p2 < _data.Length ? _data.Substring((int)p2, _data.Length) : string.Empty); _newData = null; }
private static string RemoveAssemblyDetails(string fullyQualifiedTypeName) { var sb = StringBuilderEx.Acquire(0x20); var writingAssemblyName = false; var skipping = false; foreach (var c in fullyQualifiedTypeName) { switch (c) { case '[': case ']': writingAssemblyName = false; skipping = false; sb.Append(c); break; case ',': if (!writingAssemblyName) { writingAssemblyName = true; sb.Append(c); } else { skipping = true; } break; default: if (!skipping) { sb.Append(c); } break; } } return(sb.ToStringAndRelease()); }
public override void WriteByte(int b) { if (!_isWriteable) { throw new Exception("IOException: not writeable"); } if (_newData == null) { _newDataPosition = _position; _newData = new StringBuilder(); } else if (_newDataPosition + StringBuilderEx.GetLength(_newData) != _position) { Consolidate(); _newDataPosition = _position; _newData = new StringBuilder(); } _newData.Append((char)(b & 255)); _position++; _length = Math.Max(_position, _length); _isDirty = true; }