/// <summary> /// Raise an exception for an invalid data reference field in a stream /// </summary> /// <param name="inner"></param> /// <param name="offset_field">Offset of the data reference field</param> /// <param name="offset_data">Offset of the data reference data</param> /// <param name="owner">Owner of the <see cref="StructReference{T}"/> field. Can be null.</param> /// <param name="tag">Tag which this data reference ultimately belongs to</param> public InvalidStructReference( Exception inner, uint offset_field, uint offset_data, IStructureOwner owner, IO.ITagStream tag ) : base(inner, "Invalid Data Reference") { Debug.LogFile.WriteLine( "Invalid data reference: field@{0:X8}\tdata@{1:X8}" + Program.NewLine + "\tIn {2} in {3}", offset_field, offset_data, tag.GetExceptionDescription(), owner != null ? owner.GetType().FullName : "UNKNOWN"); }
/// <summary> /// Raise an exception for an invalid inline struct field in a stream /// </summary> /// <param name="inner"></param> /// <param name="offset_data">Offset of the inline struct data</param> /// <param name="owner">Owner of the <see cref="Struct{T}"/> field. Can be null.</param> /// <param name="tag">Tag which this inline struct ultimately belongs to</param> public InvalidTagStruct( Exception inner, uint offset_data, IStructureOwner owner, IO.ITagStream tag ) : base(inner, "Invalid Tag Struct") { Debug.LogFile.WriteLine( "Invalid inline struct: data@{0:X8}" + Program.NewLine + "\tIn {1} in {2}", offset_data, tag.GetExceptionDescription(), owner != null ? owner.GetType().FullName : "UNKNOWN"); }
/// <summary> /// Raise an exception for an invalid <c>tag_reference</c> field in a stream /// </summary> /// <param name="inner"></param> /// <param name="offset_field">Offset of the <c>tag_reference</c> field</param> /// <param name="offset_data">Offset of the <c>tag_reference</c> data (ie, tag name)</param> /// <param name="owner">Owner of the <see cref="TagReference"/> field. Can be null.</param> /// <param name="tag">Tag which this <c>tag_reference</c> ultimately belongs to</param> /// <param name="group_tag"><c>tag_reference</c>'s group tag</param> /// <param name="value"><c>tag_reference</c>'s tag name data. Can be null.</param> public InvalidTagReference( Exception inner, uint offset_field, uint offset_data, IStructureOwner owner, IO.ITagStream tag, uint group_tag, string value) : base(inner, "Invalid Tag Reference") { Debug.LogFile.WriteLine( "Invalid tag_reference: field@{0:X8}\tdata@{1:X8}\tgroup={2,4}\tpath={3}" + Program.NewLine + "\tIn {4} in {5}", offset_field, offset_data, group_tag, value != null ? value : "UNKNOWN", tag.GetExceptionDescription(), owner != null ? owner.GetType().FullName : "UNKNOWN"); }