/// <summary> /// Deletes the aliases. /// </summary> /// <param name="targetIndex">Index of the target.</param> /// <param name="targetAliases">The target aliases.</param> private void deleteAliases(MemoryIndex targetIndex, IMemoryAlias targetAliases) { foreach (MemoryIndex aliasIndex in targetAliases.MustAliases) { MemoryAliasInfo aliasInfo = getAliasInfo(aliasIndex); aliasInfo.AddRemovedAlias(targetIndex); } foreach (MemoryIndex aliasIndex in targetAliases.MayAliases) { MemoryAliasInfo aliasInfo = getAliasInfo(aliasIndex); aliasInfo.AddRemovedAlias(targetIndex); } }
public override void provideCustomDeleteOperation(MemoryIndex targetIndex, IIndexDefinition targetDefinition) { if (targetDefinition.Array != null) { writeableTargetStructure.RemoveArray(targetIndex, targetDefinition.Array); } if (targetDefinition.Aliases != null) { foreach (MemoryIndex aliasIndex in targetDefinition.Aliases.MustAliases) { MemoryAliasInfo aliasInfo = mergeWorker.getAliasInfo(aliasIndex); aliasInfo.AddRemovedAlias(targetIndex); } foreach (MemoryIndex aliasIndex in targetDefinition.Aliases.MayAliases) { MemoryAliasInfo aliasInfo = mergeWorker.getAliasInfo(aliasIndex); aliasInfo.AddRemovedAlias(targetIndex); } } writeableTargetStructure.RemoveIndex(targetIndex); }