static final class FilteredEntryBiMap<K, V> extends FilteredEntryMap<K, V> implements BiMap<K, V> { @RetainedWith private final BiMap<V, K> inverse;
static final class FilteredEntryBiMap<K, V> extends FilteredEntryMap<K, V> implements BiMap<K, V> { @RetainedWith private final BiMap<V, K> inverse;
static final class FilteredEntryBiMap<K, V> extends FilteredEntryMap<K, V> implements BiMap<K, V> { @RetainedWith private final BiMap<V, K> inverse;
implements BiMap<K, V>, Serializable { private transient @MonotonicNonNull Set<V> valueSet; @MonotonicNonNull @RetainedWith private transient BiMap<V, K> inverse;
final Map<K, V> unmodifiableMap; final BiMap<? extends K, ? extends V> delegate; @MonotonicNonNull @RetainedWith BiMap<V, K> inverse; @MonotonicNonNull transient Set<V> values;
abstract class Itr<T> implements Iterator<T> { BiEntry<K, V> next = firstInKeyInsertionOrder; BiEntry<K, V> toRemove = null; int expectedModCount = modCount; int remaining = size(); @Override public boolean hasNext() { if (modCount != expectedModCount) { throw new ConcurrentModificationException(); } return next != null && remaining > 0; } @Override public T next() { if (!hasNext()) { throw new NoSuchElementException(); } BiEntry<K, V> entry = next; next = entry.nextInKeyInsertionOrder; toRemove = entry; remaining--; return output(entry); } @Override public void remove() { if (modCount != expectedModCount) {
@LazyInit @RetainedWith transient ImmutableBiMap<V, K> inverse;
@LazyInit @RetainedWith private transient JdkBackedImmutableBiMap<V, K> inverse;
final Map<K, V> unmodifiableMap; final BiMap<? extends K, ? extends V> delegate; @MonotonicNonNullDecl @RetainedWith BiMap<V, K> inverse; @MonotonicNonNullDecl transient Set<V> values;
@LazyInit @RetainedWith private transient ImmutableBiMap<V, K> inverse;
implements BiMap<K, V>, Serializable { @MonotonicNonNullDecl private transient Set<V> valueSet; @MonotonicNonNullDecl @RetainedWith private transient BiMap<V, K> inverse;
@LazyInit @RetainedWith transient ImmutableBiMap<V, K> inverse;
abstract class Itr<T> implements Iterator<T> { BiEntry<K, V> next = firstInKeyInsertionOrder; BiEntry<K, V> toRemove = null; int expectedModCount = modCount; int remaining = size(); @Override public boolean hasNext() { if (modCount != expectedModCount) { throw new ConcurrentModificationException(); } return next != null && remaining > 0; } @Override public T next() { if (!hasNext()) { throw new NoSuchElementException(); } BiEntry<K, V> entry = next; next = entry.nextInKeyInsertionOrder; toRemove = entry; remaining--; return output(entry); } @Override public void remove() { if (modCount != expectedModCount) {
@LazyInit @RetainedWith private transient JdkBackedImmutableBiMap<V, K> inverse;
final Map<K, V> unmodifiableMap; final BiMap<? extends K, ? extends V> delegate; @MonotonicNonNullDecl @RetainedWith BiMap<V, K> inverse; @MonotonicNonNullDecl transient Set<V> values;
implements BiMap<K, V>, Serializable { @MonotonicNonNullDecl private transient Set<V> valueSet; @MonotonicNonNullDecl @RetainedWith private transient BiMap<V, K> inverse;
@LazyInit @RetainedWith transient ImmutableBiMap<V, K> inverse;
final Map<K, V> unmodifiableMap; final BiMap<? extends K, ? extends V> delegate; @MonotonicNonNullDecl @RetainedWith BiMap<V, K> inverse; @MonotonicNonNullDecl transient Set<V> values;
implements BiMap<K, V>, Serializable { @MonotonicNonNullDecl private transient Set<V> valueSet; @MonotonicNonNullDecl @RetainedWith private transient BiMap<V, K> inverse;
@LazyInit @RetainedWith private transient JdkBackedImmutableBiMap<V, K> inverse;