po.java 2.89 KB
import com.google.common.base.Preconditions;
import com.google.common.collect.BoundType;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSortedMultiset;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Multiset.Entry;
import com.google.common.collect.Multisets;
import com.google.common.primitives.Ints;
import javax.annotation.Nullable;

public final class po<E>
  extends ImmutableSortedMultiset<E>
{
  private final transient pp<E> b;
  private final transient int[] c;
  private final transient long[] d;
  private final transient int e;
  private final transient int f;
  
  public po(pp<E> parampp, int[] paramArrayOfInt, long[] paramArrayOfLong, int paramInt1, int paramInt2)
  {
    this.b = parampp;
    this.c = paramArrayOfInt;
    this.d = paramArrayOfLong;
    this.e = paramInt1;
    this.f = paramInt2;
  }
  
  private ImmutableSortedMultiset<E> a(int paramInt1, int paramInt2)
  {
    Preconditions.checkPositionIndexes(paramInt1, paramInt2, this.f);
    Object localObject;
    if (paramInt1 == paramInt2) {
      localObject = a(comparator());
    }
    do
    {
      return (ImmutableSortedMultiset<E>)localObject;
      if (paramInt1 != 0) {
        break;
      }
      localObject = this;
    } while (paramInt2 == this.f);
    return new po((pp)this.b.a(paramInt1, paramInt2), this.c, this.d, this.e + paramInt1, paramInt2 - paramInt1);
  }
  
  final Multiset.Entry<E> a(int paramInt)
  {
    return Multisets.immutableEntry(this.b.asList().get(paramInt), this.c[(this.e + paramInt)]);
  }
  
  final boolean a()
  {
    return (this.e > 0) || (this.f < this.c.length);
  }
  
  public final int count(@Nullable Object paramObject)
  {
    int i = this.b.a(paramObject);
    if (i == -1) {
      return 0;
    }
    return this.c[(i + this.e)];
  }
  
  public final ImmutableSortedSet<E> elementSet()
  {
    return this.b;
  }
  
  public final Multiset.Entry<E> firstEntry()
  {
    return a(0);
  }
  
  public final ImmutableSortedMultiset<E> headMultiset(E paramE, BoundType paramBoundType)
  {
    pp localpp = this.b;
    if (Preconditions.checkNotNull(paramBoundType) == BoundType.CLOSED) {}
    for (boolean bool = true;; bool = false) {
      return a(0, localpp.c(paramE, bool));
    }
  }
  
  public final Multiset.Entry<E> lastEntry()
  {
    return a(this.f - 1);
  }
  
  public final int size()
  {
    return Ints.saturatedCast(this.d[(this.e + this.f)] - this.d[this.e]);
  }
  
  public final ImmutableSortedMultiset<E> tailMultiset(E paramE, BoundType paramBoundType)
  {
    pp localpp = this.b;
    if (Preconditions.checkNotNull(paramBoundType) == BoundType.CLOSED) {}
    for (boolean bool = true;; bool = false) {
      return a(localpp.d(paramE, bool), this.f);
    }
  }
}


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