Platform$Java8.smali
.class Lretrofit2/Platform$Java8;
.super Lretrofit2/Platform;
.source "Platform.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lretrofit2/Platform;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "Java8"
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 1
.line 72
invoke-direct {p0}, Lretrofit2/Platform;-><init>()V
return-void
.end method
# virtual methods
.method varargs invokeDefaultMethod(Ljava/lang/reflect/Method;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.registers 11
.param p1, "method" # Ljava/lang/reflect/Method;
.param p3, "object" # Ljava/lang/Object;
.param p4, "args" # [Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Method;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Object;",
"[",
"Ljava/lang/Object;",
")",
"Ljava/lang/Object;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 81
.local p2, "declaringClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
const-class v0, Ljava/lang/invoke/MethodHandles$Lookup;
const/4 v1, 0x2
new-array v2, v1, [Ljava/lang/Class;
const-class v3, Ljava/lang/Class;
const/4 v4, 0x0
aput-object v3, v2, v4
sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v5, 0x1
aput-object v3, v2, v5
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 82
.local v0, "constructor":Ljava/lang/reflect/Constructor;, "Ljava/lang/reflect/Constructor<Ljava/lang/invoke/MethodHandles$Lookup;>;"
invoke-virtual {v0, v5}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 83
new-array v1, v1, [Ljava/lang/Object;
aput-object p2, v1, v4
const/4 v2, -0x1
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v1, v5
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/invoke/MethodHandles$Lookup;
.line 84
invoke-virtual {v1, p1, p2}, Ljava/lang/invoke/MethodHandles$Lookup;->unreflectSpecial(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
move-result-object v1
.line 85
invoke-virtual {v1, p3}, Ljava/lang/invoke/MethodHandle;->bindTo(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
move-result-object v1
.line 86
invoke-virtual {v1, p4}, Ljava/lang/invoke/MethodHandle;->invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 83
return-object v1
.end method
.method isDefaultMethod(Ljava/lang/reflect/Method;)Z
.registers 3
.param p1, "method" # Ljava/lang/reflect/Method;
.line 74
invoke-virtual {p1}, Ljava/lang/reflect/Method;->isDefault()Z
move-result v0
return v0
.end method