2019-12-21 01:41:59 +00:00
|
|
|
.class public abstract Lt/w/a;
|
|
|
|
.super Lt/w/c;
|
2019-07-24 11:27:29 +00:00
|
|
|
.source "PlatformRandom.kt"
|
|
|
|
|
|
|
|
|
|
|
|
# direct methods
|
|
|
|
.method public constructor <init>()V
|
|
|
|
.locals 0
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-direct {p0}, Lt/w/c;-><init>()V
|
2019-07-24 11:27:29 +00:00
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
|
|
|
|
# virtual methods
|
2019-10-09 23:16:36 +00:00
|
|
|
.method public abstract getImpl()Ljava/util/Random;
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method public nextBits(I)I
|
2019-12-06 03:29:40 +00:00
|
|
|
.locals 2
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
move-result-object v0
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextInt()I
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
move-result v0
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-12-06 03:29:40 +00:00
|
|
|
rsub-int/lit8 v1, p1, 0x20
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-12-06 03:29:40 +00:00
|
|
|
ushr-int/2addr v0, v1
|
|
|
|
|
|
|
|
neg-int p1, p1
|
|
|
|
|
|
|
|
shr-int/lit8 p1, p1, 0x1f
|
|
|
|
|
|
|
|
and-int/2addr p1, v0
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
return p1
|
2019-07-24 11:27:29 +00:00
|
|
|
.end method
|
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
.method public nextBytes([B)[B
|
2019-07-24 11:27:29 +00:00
|
|
|
.locals 1
|
|
|
|
|
2019-12-06 03:29:40 +00:00
|
|
|
if-eqz p1, :cond_0
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
move-result-object v0
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
invoke-virtual {v0, p1}, Ljava/util/Random;->nextBytes([B)V
|
2019-07-24 11:27:29 +00:00
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
return-object p1
|
2019-12-06 03:29:40 +00:00
|
|
|
|
|
|
|
:cond_0
|
|
|
|
const-string p1, "array"
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-static {p1}, Lt/u/b/j;->a(Ljava/lang/String;)V
|
2019-12-06 03:29:40 +00:00
|
|
|
|
|
|
|
const/4 p1, 0x0
|
|
|
|
|
|
|
|
throw p1
|
|
|
|
.end method
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
.method public nextFloat()F
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
|
|
|
|
|
|
|
move-result-object v0
|
|
|
|
|
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextFloat()F
|
|
|
|
|
|
|
|
move-result v0
|
|
|
|
|
|
|
|
return v0
|
|
|
|
.end method
|
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
.method public nextInt()I
|
2019-07-24 11:27:29 +00:00
|
|
|
.locals 1
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
2019-07-24 11:27:29 +00:00
|
|
|
|
|
|
|
move-result-object v0
|
|
|
|
|
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextInt()I
|
|
|
|
|
|
|
|
move-result v0
|
|
|
|
|
|
|
|
return v0
|
|
|
|
.end method
|
|
|
|
|
2019-10-28 23:46:47 +00:00
|
|
|
.method public nextInt(I)I
|
|
|
|
.locals 1
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
2019-10-28 23:46:47 +00:00
|
|
|
|
|
|
|
move-result-object v0
|
|
|
|
|
|
|
|
invoke-virtual {v0, p1}, Ljava/util/Random;->nextInt(I)I
|
|
|
|
|
|
|
|
move-result p1
|
|
|
|
|
|
|
|
return p1
|
|
|
|
.end method
|
|
|
|
|
2019-10-09 23:16:36 +00:00
|
|
|
.method public nextLong()J
|
2019-07-24 11:27:29 +00:00
|
|
|
.locals 2
|
|
|
|
|
2019-12-21 01:41:59 +00:00
|
|
|
invoke-virtual {p0}, Lt/w/a;->getImpl()Ljava/util/Random;
|
2019-07-24 11:27:29 +00:00
|
|
|
|
|
|
|
move-result-object v0
|
|
|
|
|
|
|
|
invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
|
|
|
|
|
|
|
|
move-result-wide v0
|
|
|
|
|
|
|
|
return-wide v0
|
|
|
|
.end method
|