/// <summary> /// Update /// </summary> /// <param name="index"></param> /// <param name="address"></param> /// <param name="length"></param> public void UpdateFBQE(int index, long address, long length) { FBQE f = GetFBQE(index); //VSDebug.StopPoint(length, 5004); // Change values and update trees if (address != f.ADDRESS_START) { BT_FBQE_Address.Delete(f.ADDRESS_START, (long)index); f.ADDRESS_START = address; BT_FBQE_Address.Insert(f.ADDRESS_START, (long)index); } if (length != f.LENGTH) { BT_FBQE_Size.Delete(f.LENGTH, (long)index); f.LENGTH = length; f.ADDRESS_END = address + length; BT_FBQE_Size.Insert(f.LENGTH, (long)index); } // Update FBQE SerializeFBQE(f); }
//////////////////// OTHER METHODS /////////////////////////////// /// <summary> /// Delete field /// </summary> /// <param name="name"></param> /// <returns></returns> public bool Delete(string name) { int idx = find_field(name, 0); if (idx < 0) { return(false); } // Replace cache item with empty FieldCache f = new FieldCache(); f.DELETED = true; FCache.RemoveAt(idx); FCache.Insert(idx, f); //Delete from the tree FCacheTree.Delete(name); this.serialize(); return(true); }