private bool has_field_offset_attribute(attributes_list attrs) { foreach (attribute_node attr in attrs) { if (attr.attribute_type == SystemLibrary.SystemLibrary.field_offset_attribute_type) return true; } return false; }
private void SaveAttributes(attributes_list attrs, List<int> offs) { int tmp = (int)bw.BaseStream.Position; for (int i=0; i<offs.Count; i++) { bw.Seek(offs[i], SeekOrigin.Begin); bw.Write(tmp); bw.Seek(tmp, SeekOrigin.Begin); } bw.Write(attrs.Count); for (int i=0; i<attrs.Count; i++) SaveAttribute(attrs[i]); }
private attributes_list GetAttributes() { int pos = br.ReadInt32(); attributes_list attrs = new attributes_list(); int tmp = (int)br.BaseStream.Position; br.BaseStream.Seek(pos+start_pos, SeekOrigin.Begin); int count = br.ReadInt32(); for (int i=0; i<count; i++) attrs.AddElement(GetAttribute()); br.BaseStream.Seek(tmp, SeekOrigin.Begin); return attrs; }