Ejemplo n.º 1
0
  /**
   * {@inheritDoc}
   *
   * @see org.eclipse.acceleo.common.utils.CompactHashSet#setIndex(int, java.lang.Object)
   */
  @Override
  protected void setIndex(int index, E element) {
    super.setIndex(index, element);

    Entry newEntry = new Entry(index);
    header.last.next = newEntry;
    header.last = newEntry;
    newEntry.next = header;
  }
Ejemplo n.º 2
0
  /**
   * {@inheritDoc}
   *
   * @see org.eclipse.acceleo.common.utils.CompactHashSet#deleteIndex(int)
   */
  @Override
  protected void deleteIndex(int index) {
    super.deleteIndex(index);

    Entry previous = header;
    Entry entry = header.next;
    while (entry.index != index && entry != header) {
      previous = entry;
      entry = entry.next;
    }
    /*
     * TODO entry == header would mean we haven't found the index to delete in the linked list. How could
     * we be in such a state? Try and reproduce [341596].
     */
    if (entry != header) {
      previous.next = entry.next;
      if (entry == header.last) {
        header.last = previous;
      }
    }
  }
Ejemplo n.º 3
0
 /**
  * {@inheritDoc}
  *
  * @see org.eclipse.acceleo.common.utils.CompactHashSet#clear()
  */
 @Override
 public void clear() {
   super.clear();
   header.next = header;
   header.last = header;
 }
Ejemplo n.º 4
0
 /**
  * {@inheritDoc}
  *
  * @see org.eclipse.acceleo.common.utils.CompactHashSet#init()
  */
 @Override
 protected void init() {
   header = new LinkedListHeader();
   header.next = header;
   header.last = header;
 }