public void VisitStructure(StructureType str) { var structOffset = rdr.Offset; for (int i = 0; i < str.Fields.Count; ++i) { long fieldOffset = structOffset + str.Fields[i].Offset; WritePadBytes(fieldOffset); Debug.Assert(rdr.Offset == fieldOffset); fmt.Indent(); str.Fields[i].DataType.Accept(this); } WritePadBytes(structOffset + str.GetInferredSize()); }
public void VisitAssignment(Assignment a) { writer.Indent(); if (a.Dst != null) { a.Dst.Accept(this); writer.Write(" = "); } a.Src.Accept(this); if (a.IsAlias) { writer.Write(" (alias)"); } writer.Terminate(); }