package jetbrains.mps.internal.collections.runtime.impl; /*Generated by MPS */ import jetbrains.mps.internal.collections.runtime.ICollectionSequence; import java.util.Collection; import jetbrains.mps.internal.collections.runtime.ISequence; import jetbrains.mps.baseLanguage.closures.runtime._FunctionTypes; public class NullCollectionSequence<T> extends NullSequence<T> implements ICollectionSequence<T>, Collection<T> { protected static Object[] EMPTY_ARRAY = new Object[0]; private static final NullCollectionSequence<Object> INSTANCE = new NullCollectionSequence<Object>(); protected NullCollectionSequence() { } @Override public T addElement(T t) { return null; } @Override public ICollectionSequence<T> addSequence(ISequence<? extends T> seq) { return this; } @Override public T removeElement(T t) { return null; } @Override public ICollectionSequence<T> removeSequence(ISequence<? extends T> seq) { return this; } @Override public ICollectionSequence<T> removeWhere(_FunctionTypes._return_P1_E0<? extends Boolean, ? super T> filter) { return this; } @Override public boolean add(T o) { return false; } @Override public boolean addAll(Collection<? extends T> c) { return false; } @Override public void clear() { } @Override public boolean contains(Object o) { return false; } @Override public boolean containsAll(Collection<?> c) { return false; } @Override public boolean remove(Object o) { return false; } @Override public boolean removeAll(Collection<?> c) { return false; } @Override public boolean retainAll(Collection<?> c) { return false; } @Override public ICollectionSequence<T> asUnmodifiable() { return this; } @Override public ICollectionSequence<T> asSynchronized() { return this; } @Override public int size() { return 0; } @Override public Object[] toArray() { return EMPTY_ARRAY; } @SuppressWarnings(value = "unchecked") @Override public <U> U[] toArray(U[] a) { return (U[]) EMPTY_ARRAY; } @SuppressWarnings(value = "unchecked") public static <U> NullCollectionSequence<U> instance() { return (NullCollectionSequence<U>) NullCollectionSequence.INSTANCE; } }