PrintRawData() private static method

private static PrintRawData ( PyObject obj ) : string
obj PyObject
return string
示例#1
0
        public override string dump(string prefix)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("[PyObject Name: " + Name + "]" + PrettyPrinter.PrintRawData(this));
            PrettyPrinter.Print(builder, prefix + PrettyPrinter.Spacer, Arguments);
            return(builder.ToString());
        }
示例#2
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyList " + Items.Count + " items]" + PrettyPrinter.PrintRawData(this));
     foreach (var item in Items)
     {
         printer.addItem(item);
     }
 }
示例#3
0
        public override string dump(string prefix)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("[PyList " + Items.Count + " items]" + PrettyPrinter.PrintRawData(this));
            foreach (var item in Items)
            {
                PrettyPrinter.Print(builder, prefix + PrettyPrinter.Spacer, item);
            }
            return(builder.ToString());
        }
示例#4
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyTuple " + Items.Count + " items]" + PrettyPrinter.PrintRawData(this));
     foreach (var item in Items)
     {
         if (item != null)
         {
             printer.addItem(item);
         }
         else
         {
             printer.addLine("<nullptr>");
         }
     }
 }
示例#5
0
        public override string dump(string prefix)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("[PyTuple " + Items.Count + " items]" + PrettyPrinter.PrintRawData(this));
            foreach (var item in Items)
            {
                if (item != null)
                {
                    PrettyPrinter.Print(builder, prefix + PrettyPrinter.Spacer, item);
                }
                else
                {
                    builder.AppendLine("<nullptr>");
                }
            }
            return(builder.ToString());
        }
示例#6
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyDict " + Dictionary.Count + " kvp]" + PrettyPrinter.PrintRawData(this));
     printer.indentLevel++;
     foreach (var kvp in Dictionary)
     {
         printer.addLine("Key:");
         printer.addItem(kvp.Key);
         if (kvp.Value == null)
         {
             printer.addLine("Value: <nullptr>");
         }
         else
         {
             printer.addLine("Value:");
             printer.addItem(kvp.Value);
         }
     }
     printer.indentLevel--;
 }
示例#7
0
        public override string dump(string prefix)
        {
            StringBuilder builder = new StringBuilder();
            string        pfx1    = prefix + PrettyPrinter.Spacer;
            string        pfx2    = pfx1 + PrettyPrinter.Spacer + PrettyPrinter.Spacer;

            builder.AppendLine("[PyDict " + Dictionary.Count + " kvp]" + PrettyPrinter.PrintRawData(this));
            foreach (var kvp in Dictionary)
            {
                PrettyPrinter.Print(builder, pfx1 + "Key:", kvp.Key);
                if (kvp.Value == null)
                {
                    builder.AppendLine(pfx1 + "==Value: <nullptr>");
                }
                else
                {
                    builder.AppendLine(pfx1 + "==Value:" + kvp.Value.dump(pfx2).TrimEnd('\r', '\n'));
                }
            }
            return(builder.ToString());
        }
示例#8
0
        public override string dump(string prefix)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine(prefix + "[PyBuffer " + Data.Length + " bytes]" + PrettyPrinter.PrintRawData(this));
            if (Data[0] == Unmarshal.HeaderByte || Data[0] == Unmarshal.ZlibMarker)
            {
                string    pfx1 = prefix + PrettyPrinter.Spacer;
                Unmarshal un   = new Unmarshal();
                PyRep     rep  = un.Process(Data);
                if (rep != null)
                {
                    if (Data[0] == Unmarshal.ZlibMarker)
                    {
                        builder.AppendLine("<compressed-data>");
                    }
                    builder.AppendLine(pfx1 + rep.dump(pfx1));
                }
            }
            return(builder.ToString());
        }
示例#9
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyBuffer " + Data.Length + " bytes]" + PrettyPrinter.PrintRawData(this));
     if (Data != null && (Data[0] == Unmarshal.HeaderByte || Data[0] == Unmarshal.ZlibMarker || Data[0] == 0x63))
     {
         byte[] d = Data;
         if (d[0] == Unmarshal.ZlibMarker)
         {
             d = Zlib.Decompress(d);
         }
         if (d != null && (d[0] == Unmarshal.PythonMarker || d[0] == 0x63) && printer.decompilePython && d.Length > 60)
         {
             // We have a python file.
             Bytecode code = new Bytecode();
             if (code.load(d, d[0] == 0x63))
             {
                 Python.PrettyPrinter pp = new Python.PrettyPrinter();
                 pp.indentLevel = printer.indentLevel + 1;
                 pp.indent      = printer.indent;
                 code.dump(pp);
                 printer.addLine(pp.dump);
             }
         }
         else if (d != null && d[0] == Unmarshal.HeaderByte)
         {
             Unmarshal un  = new Unmarshal();
             PyRep     rep = un.Process(d);
             if (rep != null)
             {
                 if (Data[0] == Unmarshal.ZlibMarker)
                 {
                     printer.addLine("<compressed-data>");
                 }
                 printer.addItem(rep);
             }
         }
     }
 }
示例#10
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyObjectEx " + (IsType2 ? "Type2" : "Normal") + "]" + PrettyPrinter.PrintRawData(this));
     printer.indentLevel++;
     printer.addLine("Header:");
     printer.addItem(Header);
     printer.addLine("List:");
     foreach (var item in List)
     {
         printer.addItem(item);
     }
     printer.addLine("Dictionary:");
     foreach (var kvp in Dictionary)
     {
         printer.indentLevel++;
         printer.addLine("Key:");
         printer.addItem(kvp.Key);
         printer.addLine("Value:");
         printer.addItem(kvp.Value);
         printer.indentLevel--;
     }
     printer.indentLevel--;
 }
示例#11
0
 public override string dump(string prefix)
 {
     return(PrettyPrinter.PrintRawData(this));
 }
示例#12
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyToken " + Token + "]" + PrettyPrinter.PrintRawData(this));
 }
示例#13
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine(PrettyPrinter.PrintRawData(this));
 }
示例#14
0
        public override string dump(string prefix)
        {
            string        pfx1    = prefix + PrettyPrinter.Spacer;
            string        pfx2    = pfx1 + PrettyPrinter.Spacer;
            string        pfx3    = pfx2 + PrettyPrinter.Spacer + PrettyPrinter.Spacer;
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("[PyObjectEx " + (IsType2 ? "Type2" : "Normal") + "]" + PrettyPrinter.PrintRawData(this));
            builder.AppendLine(pfx1 + "Header:");
            PrettyPrinter.Print(builder, pfx2, Header);
            builder.AppendLine(pfx1 + "List:");
            foreach (var item in List)
            {
                PrettyPrinter.Print(builder, pfx2, item);
            }
            builder.AppendLine(pfx1 + "Dictionary:");
            foreach (var kvp in Dictionary)
            {
                PrettyPrinter.Print(builder, pfx2 + "Key:", kvp.Key);
                builder.AppendLine(pfx2 + "==Value:" + kvp.Value.dump(pfx3).TrimEnd('\r', '\n'));
                //PrettyPrinter.Print(builder, pfx2 + "==Value:", kvp.Value);
            }
            return(builder.ToString());
        }
示例#15
0
 public override string dump(string prefix)
 {
     return("[PyToken " + Token + "]" + PrettyPrinter.PrintRawData(this));
 }
示例#16
0
 public override void dump(PrettyPrinter printer)
 {
     printer.addLine("[PyObject Name: " + Name + "]" + PrettyPrinter.PrintRawData(this));
     printer.addItem(Arguments);
 }