/// <summary> /// Writes a textual representation of this global variable definition to the given writer. /// </summary> /// <param name="Writer">The writer to which text is written.</param> public void Dump(TextWriter Writer) { Writer.Write("- Type: "); Type.Dump(Writer); Writer.WriteLine(); Writer.Write("- Initial value:"); var indentedWriter = DumpHelpers.CreateIndentedTextWriter(Writer); foreach (var instruction in InitialValue.BodyInstructions) { indentedWriter.WriteLine(); instruction.Dump(indentedWriter); } }
/// <summary> /// Writes a textual representation of this name entry to the given writer. /// </summary> /// <param name="Writer">The text writer.</param> public virtual void Dump(TextWriter Writer) { using (var memStream = new MemoryStream()) { using (var binaryWriter = new BinaryWriter(memStream)) { WritePayloadTo(new BinaryWasmWriter(binaryWriter)); memStream.Seek(0, SeekOrigin.Begin); Writer.WriteLine("entry kind '{0}', payload size: {1}", Kind, memStream.Length); var instructionWriter = DumpHelpers.CreateIndentedTextWriter(Writer); DumpHelpers.DumpStream(memStream, Writer); } } }
/// <summary> /// Writes a textual representation of this exported value to the given writer. /// </summary> /// <param name="Writer">The writer to which text is written.</param> public void Dump(TextWriter Writer) { Writer.Write("- Memory index: "); Writer.Write(MemoryIndex); Writer.WriteLine(); Writer.Write("- Offset:"); var indentedWriter = DumpHelpers.CreateIndentedTextWriter(Writer); foreach (var instruction in Offset.BodyInstructions) { indentedWriter.WriteLine(); instruction.Dump(indentedWriter); } Writer.WriteLine(); Writer.Write("- Data:"); indentedWriter.WriteLine(); DumpHelpers.DumpBytes(Data, indentedWriter); }
/// <summary> /// Writes a textual representation of this function body to the given writer. /// </summary> /// <param name="Writer">The writer to which text is written.</param> public void Dump(TextWriter Writer) { if (Locals.Count > 0) { Writer.Write("- Local entries:"); var varEntryWriter = DumpHelpers.CreateIndentedTextWriter(Writer); for (int i = 0; i < Locals.Count; i++) { varEntryWriter.WriteLine(); varEntryWriter.Write("#{0}: ", i); Locals[i].Dump(varEntryWriter); } Writer.WriteLine(); } else { Writer.WriteLine("- No local entries"); } if (BodyInstructions.Count > 0) { Writer.Write("- Function body:"); var instructionWriter = DumpHelpers.CreateIndentedTextWriter(Writer); foreach (var instr in BodyInstructions) { instructionWriter.WriteLine(); instr.Dump(instructionWriter); } Writer.WriteLine(); } else { Writer.WriteLine("- Empty function body"); } if (HasExtraPayload) { Writer.Write("- Extra payload size: "); Writer.Write(ExtraPayload.Length); Writer.WriteLine(); DumpHelpers.DumpBytes(ExtraPayload, Writer); Writer.WriteLine(); } }
/// <summary> /// Writes a textual representation of this element segment to the given writer. /// </summary> /// <param name="Writer">The writer to which text is written.</param> public void Dump(TextWriter Writer) { Writer.Write("- Table index: "); Writer.Write(TableIndex); Writer.WriteLine(); Writer.Write("- Offset:"); var indentedWriter = DumpHelpers.CreateIndentedTextWriter(Writer); foreach (var instruction in Offset.BodyInstructions) { indentedWriter.WriteLine(); instruction.Dump(indentedWriter); } Writer.WriteLine(); Writer.Write("- Elements:"); for (int i = 0; i < Elements.Count; i++) { indentedWriter.WriteLine(); indentedWriter.Write("#{0} -> func #{1}", i, Elements[i]); } }
/// <inheritdoc/> public override void Dump(TextWriter Writer) { Writer.Write(Name.ToString()); Writer.Write("; number of entries: "); Writer.Write(Bodies.Count); Writer.WriteLine(); var indentedWriter = DumpHelpers.CreateIndentedTextWriter(Writer); for (int i = 0; i < Bodies.Count; i++) { Writer.Write("#{0}: ", i); indentedWriter.WriteLine(); Bodies[i].Dump(indentedWriter); } if (ExtraPayload.Length > 0) { Writer.Write("Extra payload size: "); Writer.Write(ExtraPayload.Length); Writer.WriteLine(); DumpHelpers.DumpBytes(ExtraPayload, Writer); Writer.WriteLine(); } }