.class public Ld/z;
.super Ljava/lang/Object;

# interfaces
.implements Ljava/lang/reflect/InvocationHandler;


# instance fields
.field public final a:Ld/v;

.field public final b:[Ljava/lang/Object;

.field public final synthetic c:Ljava/lang/Class;

.field public final synthetic d:Ld/a0;


# direct methods
.method public constructor <init>(Ld/a0;Ljava/lang/Class;)V
    .locals 0

    iput-object p1, p0, Ld/z;->d:Ld/a0;

    iput-object p2, p0, Ld/z;->c:Ljava/lang/Class;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    invoke-static {}, Ld/v;->b()Ld/v;

    move-result-object p1

    iput-object p1, p0, Ld/z;->a:Ld/v;

    const/4 p1, 0x0

    new-array p1, p1, [Ljava/lang/Object;

    iput-object p1, p0, Ld/z;->b:[Ljava/lang/Object;

    return-void
.end method


# virtual methods
.method public invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    .locals 2
    .param p3    # [Ljava/lang/Object;
        .annotation runtime Ljavax/annotation/Nullable;
        .end annotation
    .end param
    .annotation runtime Ljavax/annotation/Nullable;
    .end annotation

    invoke-virtual {p2}, Ljava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;

    move-result-object v0

    const-class v1, Ljava/lang/Object;

    if-ne v0, v1, :cond_0

    invoke-virtual {p2, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    return-object p1

    :cond_0
    if-eqz p3, :cond_1

    goto :goto_0

    :cond_1
    iget-object p3, p0, Ld/z;->b:[Ljava/lang/Object;

    :goto_0
    iget-object v0, p0, Ld/z;->a:Ld/v;

    invoke-virtual {v0, p2}, Ld/v;->a(Ljava/lang/reflect/Method;)Z

    move-result v0

    if-eqz v0, :cond_2

    iget-object v0, p0, Ld/z;->a:Ld/v;

    iget-object v1, p0, Ld/z;->c:Ljava/lang/Class;

    invoke-virtual {v0, p2, v1, p1, p3}, Ld/v;->a(Ljava/lang/reflect/Method;Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    goto :goto_1

    :cond_2
    iget-object p1, p0, Ld/z;->d:Ld/a0;

    invoke-virtual {p1, p2}, Ld/a0;->a(Ljava/lang/reflect/Method;)Ld/b0;

    move-result-object p1

    invoke-virtual {p1, p3}, Ld/b0;->a([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    :goto_1
    return-object p1
.end method