2022-06-10 21:38:30 +09:00

1728 lines
45 KiB
Smali

.class public final Lcom/google/common/collect/Range;
.super Lcom/google/common/collect/RangeGwtSerializationDependencies;
.source "Range.java"
# interfaces
.implements Lcom/google/common/base/Predicate;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/collect/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/Range$RangeLexOrdering;,
Lcom/google/common/collect/Range$UpperBoundFn;,
Lcom/google/common/collect/Range$LowerBoundFn;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable;",
">",
"Lcom/google/common/collect/RangeGwtSerializationDependencies;",
"Lcom/google/common/base/Predicate<",
"TC;>;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final ALL:Lcom/google/common/collect/Range;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/Range<",
"Ljava/lang/Comparable;",
">;"
}
.end annotation
.end field
.field private static final serialVersionUID:J
# instance fields
.field public final lowerBound:Lcom/google/common/collect/Cut;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/Cut<",
"TC;>;"
}
.end annotation
.end field
.field public final upperBound:Lcom/google/common/collect/Cut;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/Cut<",
"TC;>;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/collect/Range;
invoke-static {}, Lcom/google/common/collect/Cut;->belowAll()Lcom/google/common/collect/Cut;
move-result-object v1
invoke-static {}, Lcom/google/common/collect/Cut;->aboveAll()Lcom/google/common/collect/Cut;
move-result-object v2
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/Range;-><init>(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
sput-object v0, Lcom/google/common/collect/Range;->ALL:Lcom/google/common/collect/Range;
return-void
.end method
.method private constructor <init>(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Cut<",
"TC;>;",
"Lcom/google/common/collect/Cut<",
"TC;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/common/collect/RangeGwtSerializationDependencies;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/Cut;
iput-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
.line 3
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/Cut;
iput-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 4
invoke-virtual {p1, p2}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-gtz v0, :cond_1
.line 5
invoke-static {}, Lcom/google/common/collect/Cut;->aboveAll()Lcom/google/common/collect/Cut;
move-result-object v0
if-eq p1, v0, :cond_1
.line 6
invoke-static {}, Lcom/google/common/collect/Cut;->belowAll()Lcom/google/common/collect/Cut;
move-result-object v0
if-ne p2, v0, :cond_0
goto :goto_0
:cond_0
return-void
.line 7
:cond_1
:goto_0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Invalid range: "
invoke-static {p1, p2}, Lcom/google/common/collect/Range;->toString(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
if-eqz p2, :cond_2
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_1
:cond_2
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v1}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:goto_1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static all()Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>()",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range;->ALL:Lcom/google/common/collect/Range;
return-object v0
.end method
.method public static atLeast(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {}, Lcom/google/common/collect/Cut;->aboveAll()Lcom/google/common/collect/Cut;
move-result-object v0
invoke-static {p0, v0}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static atMost(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {}, Lcom/google/common/collect/Cut;->belowAll()Lcom/google/common/collect/Cut;
move-result-object v0
invoke-static {p0}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {v0, p0}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static closed(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {p1}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
invoke-static {p0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static closedOpen(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {p1}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
invoke-static {p0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static compareOrThrow(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
.locals 0
.line 1
invoke-interface {p0, p1}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result p0
return p0
.end method
.method public static create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(",
"Lcom/google/common/collect/Cut<",
"TC;>;",
"Lcom/google/common/collect/Cut<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/collect/Range;
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Range;-><init>(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
return-object v0
.end method
.method public static downTo(Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;",
"Lcom/google/common/collect/BoundType;",
")",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range$1;->$SwitchMap$com$google$common$collect$BoundType:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result p1
aget p1, v0, p1
const/4 v0, 0x1
if-eq p1, v0, :cond_1
const/4 v0, 0x2
if-ne p1, v0, :cond_0
.line 2
invoke-static {p0}, Lcom/google/common/collect/Range;->atLeast(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 4
:cond_1
invoke-static {p0}, Lcom/google/common/collect/Range;->greaterThan(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static encloseAll(Ljava/lang/Iterable;)Lcom/google/common/collect/Range;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(",
"Ljava/lang/Iterable<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
instance-of v0, p0, Ljava/util/SortedSet;
if-eqz v0, :cond_1
.line 3
move-object v0, p0
check-cast v0, Ljava/util/SortedSet;
.line 4
invoke-interface {v0}, Ljava/util/SortedSet;->comparator()Ljava/util/Comparator;
move-result-object v1
.line 5
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_0
if-nez v1, :cond_1
.line 6
:cond_0
invoke-interface {v0}, Ljava/util/SortedSet;->first()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Comparable;
invoke-interface {v0}, Ljava/util/SortedSet;->last()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Comparable;
invoke-static {p0, v0}, Lcom/google/common/collect/Range;->closed(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.line 7
:cond_1
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
.line 8
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Comparable;
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Comparable;
move-object v1, v0
.line 9
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
.line 10
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Comparable;
invoke-static {v2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Comparable;
.line 11
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v3
invoke-virtual {v3, v0, v2}, Lcom/google/common/collect/Ordering;->min(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Comparable;
.line 12
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v3
invoke-virtual {v3, v1, v2}, Lcom/google/common/collect/Ordering;->max(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Comparable;
goto :goto_0
.line 13
:cond_2
invoke-static {v0, v1}, Lcom/google/common/collect/Range;->closed(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static greaterThan(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {}, Lcom/google/common/collect/Cut;->aboveAll()Lcom/google/common/collect/Cut;
move-result-object v0
invoke-static {p0, v0}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static lessThan(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {}, Lcom/google/common/collect/Cut;->belowAll()Lcom/google/common/collect/Cut;
move-result-object v0
invoke-static {p0}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {v0, p0}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static lowerBoundFn()Lcom/google/common/base/Function;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>()",
"Lcom/google/common/base/Function<",
"Lcom/google/common/collect/Range<",
"TC;>;",
"Lcom/google/common/collect/Cut<",
"TC;>;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range$LowerBoundFn;->INSTANCE:Lcom/google/common/collect/Range$LowerBoundFn;
return-object v0
.end method
.method public static open(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {p1}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
invoke-static {p0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static openClosed(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
invoke-static {p1}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
invoke-static {p0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static range(Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;",
"Lcom/google/common/collect/BoundType;",
"TC;",
"Lcom/google/common/collect/BoundType;",
")",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
sget-object v0, Lcom/google/common/collect/BoundType;->OPEN:Lcom/google/common/collect/BoundType;
if-ne p1, v0, :cond_0
invoke-static {p0}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
goto :goto_0
:cond_0
invoke-static {p0}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p0
:goto_0
if-ne p3, v0, :cond_1
.line 4
invoke-static {p2}, Lcom/google/common/collect/Cut;->belowValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
goto :goto_1
:cond_1
invoke-static {p2}, Lcom/google/common/collect/Cut;->aboveValue(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
move-result-object p1
.line 5
:goto_1
invoke-static {p0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static rangeLexOrdering()Lcom/google/common/collect/Ordering;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>()",
"Lcom/google/common/collect/Ordering<",
"Lcom/google/common/collect/Range<",
"TC;>;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range$RangeLexOrdering;->INSTANCE:Lcom/google/common/collect/Ordering;
return-object v0
.end method
.method public static singleton(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p0, p0}, Lcom/google/common/collect/Range;->closed(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method private static toString(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Cut<",
"*>;",
"Lcom/google/common/collect/Cut<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.line 2
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x10
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
.line 3
invoke-virtual {p0, v0}, Lcom/google/common/collect/Cut;->describeAsLowerBound(Ljava/lang/StringBuilder;)V
const-string p0, ".."
.line 4
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 5
invoke-virtual {p1, v0}, Lcom/google/common/collect/Cut;->describeAsUpperBound(Ljava/lang/StringBuilder;)V
.line 6
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static upTo(Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>(TC;",
"Lcom/google/common/collect/BoundType;",
")",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range$1;->$SwitchMap$com$google$common$collect$BoundType:[I
invoke-virtual {p1}, Ljava/lang/Enum;->ordinal()I
move-result p1
aget p1, v0, p1
const/4 v0, 0x1
if-eq p1, v0, :cond_1
const/4 v0, 0x2
if-ne p1, v0, :cond_0
.line 2
invoke-static {p0}, Lcom/google/common/collect/Range;->atMost(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 4
:cond_1
invoke-static {p0}, Lcom/google/common/collect/Range;->lessThan(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
move-result-object p0
return-object p0
.end method
.method public static upperBoundFn()Lcom/google/common/base/Function;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<C::",
"Ljava/lang/Comparable<",
"*>;>()",
"Lcom/google/common/base/Function<",
"Lcom/google/common/collect/Range<",
"TC;>;",
"Lcom/google/common/collect/Cut<",
"TC;>;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/collect/Range$UpperBoundFn;->INSTANCE:Lcom/google/common/collect/Range$UpperBoundFn;
return-object v0
.end method
# virtual methods
.method public apply(Ljava/lang/Comparable;)Z
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(TC;)Z"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 2
invoke-virtual {p0, p1}, Lcom/google/common/collect/Range;->contains(Ljava/lang/Comparable;)Z
move-result p1
return p1
.end method
.method public bridge synthetic apply(Ljava/lang/Object;)Z
.locals 0
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
check-cast p1, Ljava/lang/Comparable;
invoke-virtual {p0, p1}, Lcom/google/common/collect/Range;->apply(Ljava/lang/Comparable;)Z
move-result p1
return p1
.end method
.method public canonical(Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Range;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/DiscreteDomain<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, p1}, Lcom/google/common/collect/Cut;->canonical(Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Cut;
move-result-object v0
.line 3
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v1, p1}, Lcom/google/common/collect/Cut;->canonical(Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Cut;
move-result-object p1
.line 4
iget-object v1, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
if-ne v0, v1, :cond_0
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
if-ne p1, v1, :cond_0
move-object p1, p0
goto :goto_0
:cond_0
invoke-static {v0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p1
:goto_0
return-object p1
.end method
.method public contains(Ljava/lang/Comparable;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TC;)Z"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, p1}, Lcom/google/common/collect/Cut;->isLessThan(Ljava/lang/Comparable;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, p1}, Lcom/google/common/collect/Cut;->isLessThan(Ljava/lang/Comparable;)Z
move-result p1
if-nez p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public containsAll(Ljava/lang/Iterable;)Z
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"+TC;>;)Z"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/collect/Iterables;->isEmpty(Ljava/lang/Iterable;)Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
.line 2
:cond_0
instance-of v0, p1, Ljava/util/SortedSet;
const/4 v2, 0x0
if-eqz v0, :cond_3
.line 3
move-object v0, p1
check-cast v0, Ljava/util/SortedSet;
.line 4
invoke-interface {v0}, Ljava/util/SortedSet;->comparator()Ljava/util/Comparator;
move-result-object v3
.line 5
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v4
invoke-virtual {v4, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_1
if-nez v3, :cond_3
.line 6
:cond_1
invoke-interface {v0}, Ljava/util/SortedSet;->first()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Comparable;
invoke-virtual {p0, p1}, Lcom/google/common/collect/Range;->contains(Ljava/lang/Comparable;)Z
move-result p1
if-eqz p1, :cond_2
invoke-interface {v0}, Ljava/util/SortedSet;->last()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Comparable;
invoke-virtual {p0, p1}, Lcom/google/common/collect/Range;->contains(Ljava/lang/Comparable;)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v1, v2
:goto_0
return v1
.line 7
:cond_3
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Comparable;
.line 8
invoke-virtual {p0, v0}, Lcom/google/common/collect/Range;->contains(Ljava/lang/Comparable;)Z
move-result v0
if-nez v0, :cond_4
return v2
:cond_5
return v1
.end method
.method public encloses(Lcom/google/common/collect/Range;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Range<",
"TC;>;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-gtz v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
iget-object p1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 2
invoke-virtual {v0, p1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result p1
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/collect/Range;
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/collect/Range;
.line 3
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v2, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v2}, Lcom/google/common/collect/Cut;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
iget-object p1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, p1}, Lcom/google/common/collect/Cut;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 v1, 0x1
:cond_0
return v1
.end method
.method public gap(Lcom/google/common/collect/Range;)Lcom/google/common/collect/Range;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Range<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-gez v0, :cond_1
iget-object v0, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 2
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-ltz v0, :cond_0
goto :goto_0
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x27
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, "Ranges have a nonempty intersection: "
const-string v4, ", "
invoke-static {v3, v2, v1, v4, p1}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 4
:cond_1
:goto_0
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-gez v0, :cond_2
const/4 v0, 0x1
goto :goto_1
:cond_2
const/4 v0, 0x0
:goto_1
if-eqz v0, :cond_3
move-object v1, p0
goto :goto_2
:cond_3
move-object v1, p1
:goto_2
if-eqz v0, :cond_4
goto :goto_3
:cond_4
move-object p1, p0
.line 5
:goto_3
iget-object v0, v1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
iget-object p1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-static {v0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p1
return-object p1
.end method
.method public hasLowerBound()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-static {}, Lcom/google/common/collect/Cut;->belowAll()Lcom/google/common/collect/Cut;
move-result-object v1
if-eq v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public hasUpperBound()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-static {}, Lcom/google/common/collect/Cut;->aboveAll()Lcom/google/common/collect/Cut;
move-result-object v1
if-eq v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0}, Lcom/google/common/collect/Cut;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v1}, Lcom/google/common/collect/Cut;->hashCode()I
move-result v1
add-int/2addr v0, v1
return v0
.end method
.method public intersection(Lcom/google/common/collect/Range;)Lcom/google/common/collect/Range;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Range<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
.line 2
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
iget-object v2, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v1, v2}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v1
if-ltz v0, :cond_0
if-gtz v1, :cond_0
return-object p0
:cond_0
if-gtz v0, :cond_1
if-ltz v1, :cond_1
return-object p1
:cond_1
if-ltz v0, :cond_2
.line 3
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
goto :goto_0
:cond_2
iget-object v0, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
:goto_0
if-gtz v1, :cond_3
.line 4
iget-object p1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
goto :goto_1
:cond_3
iget-object p1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 5
:goto_1
invoke-static {v0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p1
return-object p1
.end method
.method public isConnected(Lcom/google/common/collect/Range;)Z
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Range<",
"TC;>;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
if-gtz v0, :cond_0
iget-object p1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 2
invoke-virtual {p1, v0}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result p1
if-gtz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public isEmpty()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public lowerBoundType()Lcom/google/common/collect/BoundType;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0}, Lcom/google/common/collect/Cut;->typeAsLowerBound()Lcom/google/common/collect/BoundType;
move-result-object v0
return-object v0
.end method
.method public lowerEndpoint()Ljava/lang/Comparable;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()TC;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0}, Lcom/google/common/collect/Cut;->endpoint()Ljava/lang/Comparable;
move-result-object v0
return-object v0
.end method
.method public readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/collect/Range;->ALL:Lcom/google/common/collect/Range;
invoke-virtual {p0, v0}, Lcom/google/common/collect/Range;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 2
invoke-static {}, Lcom/google/common/collect/Range;->all()Lcom/google/common/collect/Range;
move-result-object v0
return-object v0
:cond_0
return-object p0
.end method
.method public span(Lcom/google/common/collect/Range;)Lcom/google/common/collect/Range;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/Range<",
"TC;>;)",
"Lcom/google/common/collect/Range<",
"TC;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0, v1}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v0
.line 2
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
iget-object v2, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v1, v2}, Lcom/google/common/collect/Cut;->compareTo(Lcom/google/common/collect/Cut;)I
move-result v1
if-gtz v0, :cond_0
if-ltz v1, :cond_0
return-object p0
:cond_0
if-ltz v0, :cond_1
if-gtz v1, :cond_1
return-object p1
:cond_1
if-gtz v0, :cond_2
.line 3
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
goto :goto_0
:cond_2
iget-object v0, p1, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
:goto_0
if-ltz v1, :cond_3
.line 4
iget-object p1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
goto :goto_1
:cond_3
iget-object p1, p1, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
.line 5
:goto_1
invoke-static {v0, p1}, Lcom/google/common/collect/Range;->create(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->lowerBound:Lcom/google/common/collect/Cut;
iget-object v1, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-static {v0, v1}, Lcom/google/common/collect/Range;->toString(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public upperBoundType()Lcom/google/common/collect/BoundType;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0}, Lcom/google/common/collect/Cut;->typeAsUpperBound()Lcom/google/common/collect/BoundType;
move-result-object v0
return-object v0
.end method
.method public upperEndpoint()Ljava/lang/Comparable;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()TC;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/collect/Range;->upperBound:Lcom/google/common/collect/Cut;
invoke-virtual {v0}, Lcom/google/common/collect/Cut;->endpoint()Ljava/lang/Comparable;
move-result-object v0
return-object v0
.end method