pp.java 8.09 KB
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterators;
import com.google.common.collect.Multiset;
import com.google.common.collect.Ordering;
import com.google.common.collect.PeekingIterator;
import com.google.common.collect.SortedLists;
import com.google.common.collect.SortedLists.KeyAbsentBehavior;
import com.google.common.collect.SortedLists.KeyPresentBehavior;
import com.google.common.collect.UnmodifiableIterator;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.Set;
import javax.annotation.Nullable;

@GwtCompatible(emulated=true, serializable=true)
public final class pp<E>
  extends ImmutableSortedSet<E>
{
  private final transient ImmutableList<E> a;
  
  public pp(ImmutableList<E> paramImmutableList, Comparator<? super E> paramComparator)
  {
    super(paramComparator);
    this.a = paramImmutableList;
    if (!paramImmutableList.isEmpty()) {}
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool);
      return;
    }
  }
  
  final int a(@Nullable Object paramObject)
  {
    if (paramObject == null) {}
    for (;;)
    {
      return -1;
      try
      {
        int i = SortedLists.a(this.a, paramObject, this.b, SortedLists.KeyPresentBehavior.ANY_PRESENT, SortedLists.KeyAbsentBehavior.INVERTED_INSERTION_INDEX);
        if (i >= 0) {
          return i;
        }
      }
      catch (ClassCastException paramObject) {}
    }
    return -1;
  }
  
  final int a(Object[] paramArrayOfObject, int paramInt)
  {
    return this.a.a(paramArrayOfObject, paramInt);
  }
  
  final ImmutableSortedSet<E> a(int paramInt1, int paramInt2)
  {
    if ((paramInt1 == 0) && (paramInt2 == size())) {
      return this;
    }
    if (paramInt1 < paramInt2) {
      return new pp(this.a.subList(paramInt1, paramInt2), this.b);
    }
    return a(this.b);
  }
  
  final ImmutableSortedSet<E> a(E paramE, boolean paramBoolean)
  {
    return a(d(paramE, paramBoolean), size());
  }
  
  final ImmutableSortedSet<E> a(E paramE1, boolean paramBoolean1, E paramE2, boolean paramBoolean2)
  {
    return a(paramE1, paramBoolean1).b(paramE2, paramBoolean2);
  }
  
  final boolean a()
  {
    return this.a.a();
  }
  
  final ImmutableSortedSet<E> b()
  {
    return new pp(this.a.reverse(), Ordering.from(this.b).reverse());
  }
  
  final ImmutableSortedSet<E> b(E paramE, boolean paramBoolean)
  {
    return a(0, c(paramE, paramBoolean));
  }
  
  final int c(E paramE, boolean paramBoolean)
  {
    ImmutableList localImmutableList = this.a;
    Object localObject = Preconditions.checkNotNull(paramE);
    Comparator localComparator = comparator();
    if (paramBoolean) {}
    for (paramE = SortedLists.KeyPresentBehavior.FIRST_AFTER;; paramE = SortedLists.KeyPresentBehavior.FIRST_PRESENT) {
      return SortedLists.a(localImmutableList, localObject, localComparator, paramE, SortedLists.KeyAbsentBehavior.NEXT_HIGHER);
    }
  }
  
  final ImmutableList<E> c()
  {
    return new ox(this, this.a);
  }
  
  public final E ceiling(E paramE)
  {
    int i = d(paramE, true);
    if (i == size()) {
      return null;
    }
    return (E)this.a.get(i);
  }
  
  public final boolean contains(Object paramObject)
  {
    boolean bool2 = false;
    boolean bool1 = bool2;
    if (paramObject != null) {}
    try
    {
      int i = Collections.binarySearch(this.a, paramObject, this.b);
      bool1 = bool2;
      if (i >= 0) {
        bool1 = true;
      }
      return bool1;
    }
    catch (ClassCastException paramObject) {}
    return false;
  }
  
  public final boolean containsAll(Collection<?> paramCollection)
  {
    boolean bool2 = true;
    Object localObject = paramCollection;
    if ((paramCollection instanceof Multiset)) {
      localObject = ((Multiset)paramCollection).elementSet();
    }
    boolean bool1;
    if ((!pz.a(comparator(), (Iterable)localObject)) || (((Collection)localObject).size() <= 1)) {
      bool1 = super.containsAll((Collection)localObject);
    }
    for (;;)
    {
      return bool1;
      PeekingIterator localPeekingIterator = Iterators.peekingIterator(iterator());
      localObject = ((Collection)localObject).iterator();
      paramCollection = ((Iterator)localObject).next();
      try
      {
        for (;;)
        {
          if (localPeekingIterator.hasNext())
          {
            int i = a(localPeekingIterator.peek(), paramCollection);
            if (i < 0)
            {
              localPeekingIterator.next();
            }
            else
            {
              if (i == 0)
              {
                bool1 = bool2;
                if (!((Iterator)localObject).hasNext()) {
                  break;
                }
                paramCollection = ((Iterator)localObject).next();
                continue;
              }
              if (i > 0) {
                return false;
              }
            }
          }
        }
      }
      catch (ClassCastException paramCollection)
      {
        return false;
        return false;
      }
      catch (NullPointerException paramCollection) {}
    }
    return false;
  }
  
  final int d(E paramE, boolean paramBoolean)
  {
    ImmutableList localImmutableList = this.a;
    Object localObject = Preconditions.checkNotNull(paramE);
    Comparator localComparator = comparator();
    if (paramBoolean) {}
    for (paramE = SortedLists.KeyPresentBehavior.FIRST_PRESENT;; paramE = SortedLists.KeyPresentBehavior.FIRST_AFTER) {
      return SortedLists.a(localImmutableList, localObject, localComparator, paramE, SortedLists.KeyAbsentBehavior.NEXT_HIGHER);
    }
  }
  
  @GwtIncompatible("NavigableSet")
  public final UnmodifiableIterator<E> descendingIterator()
  {
    return this.a.reverse().iterator();
  }
  
  public final boolean equals(@Nullable Object paramObject)
  {
    if (paramObject == this) {}
    for (;;)
    {
      return true;
      if (!(paramObject instanceof Set)) {
        return false;
      }
      paramObject = (Set)paramObject;
      if (size() != ((Set)paramObject).size()) {
        return false;
      }
      if (pz.a(this.b, (Iterable)paramObject))
      {
        paramObject = ((Set)paramObject).iterator();
        try
        {
          UnmodifiableIterator localUnmodifiableIterator = iterator();
          int i;
          do
          {
            if (!localUnmodifiableIterator.hasNext()) {
              break;
            }
            Object localObject1 = localUnmodifiableIterator.next();
            Object localObject2 = ((Iterator)paramObject).next();
            if (localObject2 == null) {
              break label102;
            }
            i = a(localObject1, localObject2);
          } while (i == 0);
          label102:
          return false;
        }
        catch (ClassCastException paramObject)
        {
          return false;
        }
        catch (NoSuchElementException paramObject)
        {
          return false;
        }
      }
    }
    return containsAll((Collection)paramObject);
  }
  
  public final E first()
  {
    return (E)this.a.get(0);
  }
  
  public final E floor(E paramE)
  {
    int i = c(paramE, true) - 1;
    if (i == -1) {
      return null;
    }
    return (E)this.a.get(i);
  }
  
  public final E higher(E paramE)
  {
    int i = d(paramE, false);
    if (i == size()) {
      return null;
    }
    return (E)this.a.get(i);
  }
  
  public final boolean isEmpty()
  {
    return false;
  }
  
  public final UnmodifiableIterator<E> iterator()
  {
    return this.a.iterator();
  }
  
  public final E last()
  {
    return (E)this.a.get(size() - 1);
  }
  
  public final E lower(E paramE)
  {
    int i = c(paramE, false) - 1;
    if (i == -1) {
      return null;
    }
    return (E)this.a.get(i);
  }
  
  public final int size()
  {
    return this.a.size();
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/pp.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */