TraceId.smali
.class public final Lio/opencensus/trace/TraceId;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/lang/Comparable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lio/opencensus/trace/TraceId;",
">;"
}
.end annotation
# static fields
.field public static final h:Lio/opencensus/trace/TraceId;
# instance fields
.field private final f:J
.field private final g:J
# direct methods
.method static constructor <clinit>()V
.registers 3
new-instance v0, Lio/opencensus/trace/TraceId;
const-wide/16 v1, 0x0
invoke-direct {v0, v1, v2, v1, v2}, Lio/opencensus/trace/TraceId;-><init>(JJ)V
sput-object v0, Lio/opencensus/trace/TraceId;->h:Lio/opencensus/trace/TraceId;
return-void
.end method
.method private constructor <init>(JJ)V
.registers 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lio/opencensus/trace/TraceId;->f:J
iput-wide p3, p0, Lio/opencensus/trace/TraceId;->g:J
return-void
.end method
# virtual methods
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.registers 2
check-cast p1, Lio/opencensus/trace/TraceId;
invoke-virtual {p0, p1}, Lio/opencensus/trace/TraceId;->f(Lio/opencensus/trace/TraceId;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 9
const/4 v0, 0x1
if-ne p1, p0, :cond_4
return v0
:cond_4
instance-of v1, p1, Lio/opencensus/trace/TraceId;
const/4 v2, 0x0
if-nez v1, :cond_a
return v2
:cond_a
check-cast p1, Lio/opencensus/trace/TraceId;
iget-wide v3, p0, Lio/opencensus/trace/TraceId;->f:J
iget-wide v5, p1, Lio/opencensus/trace/TraceId;->f:J
cmp-long v1, v3, v5
if-nez v1, :cond_1d
iget-wide v3, p0, Lio/opencensus/trace/TraceId;->g:J
iget-wide v5, p1, Lio/opencensus/trace/TraceId;->g:J
cmp-long p1, v3, v5
if-nez p1, :cond_1d
goto :goto_1e
:cond_1d
const/4 v0, 0x0
:goto_1e
return v0
.end method
.method public f(Lio/opencensus/trace/TraceId;)I
.registers 9
iget-wide v0, p0, Lio/opencensus/trace/TraceId;->f:J
iget-wide v2, p1, Lio/opencensus/trace/TraceId;->f:J
const/4 v4, -0x1
const/4 v5, 0x1
cmp-long v6, v0, v2
if-nez v6, :cond_1b
iget-wide v0, p0, Lio/opencensus/trace/TraceId;->g:J
iget-wide v2, p1, Lio/opencensus/trace/TraceId;->g:J
cmp-long p1, v0, v2
if-nez p1, :cond_14
const/4 p1, 0x0
return p1
:cond_14
cmp-long p1, v0, v2
if-gez p1, :cond_19
goto :goto_1a
:cond_19
const/4 v4, 0x1
:goto_1a
return v4
:cond_1b
cmp-long p1, v0, v2
if-gez p1, :cond_20
goto :goto_21
:cond_20
const/4 v4, 0x1
:goto_21
return v4
.end method
.method public g([CI)V
.registers 5
iget-wide v0, p0, Lio/opencensus/trace/TraceId;->f:J
invoke-static {v0, v1, p1, p2}, Lio/opencensus/trace/BigendianEncoding;->d(J[CI)V
iget-wide v0, p0, Lio/opencensus/trace/TraceId;->g:J
add-int/lit8 p2, p2, 0x10
invoke-static {v0, v1, p1, p2}, Lio/opencensus/trace/BigendianEncoding;->d(J[CI)V
return-void
.end method
.method public hashCode()I
.registers 8
iget-wide v0, p0, Lio/opencensus/trace/TraceId;->f:J
const/16 v2, 0x20
ushr-long v3, v0, v2
xor-long/2addr v0, v3
long-to-int v1, v0
const/16 v0, 0x1f
add-int/2addr v1, v0
mul-int/lit8 v1, v1, 0x1f
iget-wide v3, p0, Lio/opencensus/trace/TraceId;->g:J
ushr-long v5, v3, v2
xor-long v2, v3, v5
long-to-int v0, v2
add-int/2addr v1, v0
return v1
.end method
.method public j()Ljava/lang/String;
.registers 3
const/16 v0, 0x20
new-array v0, v0, [C
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Lio/opencensus/trace/TraceId;->g([CI)V
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>([C)V
return-object v1
.end method
.method public toString()Ljava/lang/String;
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "TraceId{traceId="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lio/opencensus/trace/TraceId;->j()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "}"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method