今奥全景相机
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
4.2 KiB

.class abstract Lcom/google/common/cache/CacheBuilderSpec$DurationParser;
.super Ljava/lang/Object;
.source "CacheBuilderSpec.java"
# interfaces
.implements Lcom/google/common/cache/CacheBuilderSpec$ValueParser;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/cache/CacheBuilderSpec;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x408
name = "DurationParser"
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
.prologue
.line 408
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public parse(Lcom/google/common/cache/CacheBuilderSpec;Ljava/lang/String;Ljava/lang/String;)V
.locals 12
.prologue
const-wide/16 v10, 0x3c
const/4 v8, 0x2
const/4 v1, 0x1
const/4 v2, 0x0
.line 416
if-eqz p3, :cond_0
invoke-virtual {p3}, Ljava/lang/String;->length()I
move-result v0
if-eqz v0, :cond_0
move v0, v1
:goto_0
const-string v3, "value of key %s omitted"
new-array v4, v1, [Ljava/lang/Object;
aput-object p2, v4, v2
invoke-static {v0, v3, v4}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 418
:try_start_0
invoke-virtual {p3}, Ljava/lang/String;->length()I
move-result v0
add-int/lit8 v0, v0, -0x1
invoke-virtual {p3, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
.line 419
const-wide/16 v4, 0x1
.line 420
sparse-switch v0, :sswitch_data_0
.line 430
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v3, "key %s invalid format. was %s, must end with one of [dDhHmMsS]"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
aput-object p2, v4, v5
const/4 v5, 0x1
aput-object p3, v4, v5
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v3}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
.line 437
:catch_0
move-exception v0
.line 438
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v3, "key %s value set to %s, must be integer"
new-array v4, v8, [Ljava/lang/Object;
aput-object p2, v4, v2
aput-object p3, v4, v1
invoke-static {v3, v4}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_0
move v0, v2
.line 416
goto :goto_0
.line 422
:sswitch_0
const-wide/16 v6, 0x18
mul-long/2addr v4, v6
.line 424
:sswitch_1
mul-long/2addr v4, v10
.line 426
:sswitch_2
mul-long/2addr v4, v10
.line 435
:sswitch_3
const/4 v0, 0x0
:try_start_1
invoke-virtual {p3}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, -0x1
invoke-virtual {p3, v0, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v6
.line 436
mul-long/2addr v4, v6
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {p0, p1, v4, v5, v0}, Lcom/google/common/cache/CacheBuilderSpec$DurationParser;->parseDuration(Lcom/google/common/cache/CacheBuilderSpec;JLjava/util/concurrent/TimeUnit;)V
:try_end_1
.catch Ljava/lang/NumberFormatException; {:try_start_1 .. :try_end_1} :catch_0
.line 441
return-void
.line 420
nop
:sswitch_data_0
.sparse-switch
0x64 -> :sswitch_0
0x68 -> :sswitch_1
0x6d -> :sswitch_2
0x73 -> :sswitch_3
.end sparse-switch
.end method
.method protected abstract parseDuration(Lcom/google/common/cache/CacheBuilderSpec;JLjava/util/concurrent/TimeUnit;)V
.end method