public override void Repr(ReprBuilder builder) { var count = ReadElements().Count(); if (count > ReprBuilder.MaxJoinedItems) { builder.AppendFormat("<dict, len() = {0}>", count); return; } builder.Append("{"); builder.AppendJoined(", ", ReadElements(), entry => { builder.AppendRepr(entry.Key); builder.Append(": "); builder.AppendRepr(entry.Value.TryRead()); }); builder.Append("}"); }
public override void Repr(ReprBuilder builder) { var count = ob_size.Read(); if (count > ReprBuilder.MaxJoinedItems) { builder.AppendFormat("<list, len() = {0}>", count); } else { builder.Append("["); builder.AppendJoined(", ", ReadElements(), item => builder.AppendRepr(item.TryRead())); builder.Append("]"); } }
public override void Repr(ReprBuilder builder) { var count = ob_size.Read(); if (count > ReprBuilder.MaxJoinedItems) { builder.AppendFormat("<tuple, len() = {0}>", count); } else { builder.Append("("); builder.AppendJoined(", ", ReadElements(), obj => builder.AppendRepr(obj.TryRead())); if (ob_size.Read() == 1) { builder.Append(","); } builder.Append(")"); } }
string ICustomFormatter.Format(string format, object arg, IFormatProvider formatProvider) { PyObject obj = arg as PyObject; if (obj != null) { ReprBuilder builder = new ReprBuilder(Options); builder.AppendRepr(obj); return(builder.ToString()); } else if (format == "PY") { ReprBuilder builder = new ReprBuilder(Options); builder.AppendLiteral(arg); return(builder.ToString()); } else if (format == "PTR") { if (Options.Is64Bit) { return(string.Format("0x{0:X16}", arg)); } else { return(string.Format("0x{0:X8}", arg)); } } else { var formattable = arg as IFormattable; if (formattable != null) { return(formattable.ToString(format, formatProvider)); } else if (arg != null) { return(arg.ToString()); } else { return(null); } } }
public override void Repr(ReprBuilder builder) { var count = ReadElements().Count(); if (count == 0) { builder.Append(builder.Options.LanguageVersion >= PythonLanguageVersion.V30 ? "set()" : "set([])"); return; } if (builder.IsTopLevel) { if (count > ReprBuilder.MaxJoinedItems) { builder.AppendFormat("<set, len() = {0}>", count); return; } } builder.Append(builder.Options.LanguageVersion >= PythonLanguageVersion.V30 ? "{" : "set(["); builder.AppendJoined(", ", ReadElements(), obj => builder.AppendRepr(obj)); builder.Append(builder.Options.LanguageVersion >= PythonLanguageVersion.V30 ? "}" : "])"); }