.class public final Lp4/b$a;
.super Li9/e;
.source ""

# interfaces
.implements Lh9/a;


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lp4/b;-><clinit>()V
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x19
    name = null
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Li9/e;",
        "Lh9/a<",
        "Lp4/a;",
        ">;"
    }
.end annotation


# static fields
.field public static final s:Lp4/b$a;


# direct methods
.method public static constructor <clinit>()V
    .registers 1

    new-instance v0, Lp4/b$a;

    invoke-direct {v0}, Lp4/b$a;-><init>()V

    sput-object v0, Lp4/b$a;->s:Lp4/b$a;

    return-void
.end method

.method public constructor <init>()V
    .registers 2

    const/4 v0, 0x0

    invoke-direct {p0, v0}, Li9/e;-><init>(I)V

    return-void
.end method


# virtual methods
.method public b()Ljava/lang/Object;
    .registers 11

    .line 1
    sget-object v0, Lp4/b;->b:Lya/b0;

    .line 2
    const-class v1, Lp4/a;

    invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 3
    invoke-virtual {v1}, Ljava/lang/Class;->isInterface()Z

    move-result v2

    if-eqz v2, :cond_9b

    new-instance v2, Ljava/util/ArrayDeque;

    const/4 v3, 0x1

    invoke-direct {v2, v3}, Ljava/util/ArrayDeque;-><init>(I)V

    invoke-virtual {v2, v1}, Ljava/util/ArrayDeque;->add(Ljava/lang/Object;)Z

    :goto_16
    invoke-virtual {v2}, Ljava/util/ArrayDeque;->isEmpty()Z

    move-result v4

    if-nez v4, :cond_57

    invoke-virtual {v2}, Ljava/util/ArrayDeque;->removeFirst()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Ljava/lang/Class;

    invoke-virtual {v4}, Ljava/lang/Class;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;

    move-result-object v5

    array-length v5, v5

    if-eqz v5, :cond_4f

    new-instance v0, Ljava/lang/StringBuilder;

    const-string v2, "Type parameters are unsupported on "

    invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v4}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eq v4, v1, :cond_45

    const-string v2, " which is an interface of "

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    :cond_45
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_4f
    invoke-virtual {v4}, Ljava/lang/Class;->getInterfaces()[Ljava/lang/Class;

    move-result-object v4

    invoke-static {v2, v4}, Ljava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z

    goto :goto_16

    :cond_57
    iget-boolean v2, v0, Lya/b0;->g:Z

    const/4 v4, 0x0

    if-eqz v2, :cond_87

    .line 4
    sget-object v2, Lya/u;->c:Lya/u;

    .line 5
    invoke-virtual {v1}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;

    move-result-object v5

    array-length v6, v5

    move v7, v4

    :goto_64
    if-ge v7, v6, :cond_87

    aget-object v8, v5, v7

    .line 6
    iget-boolean v9, v2, Lya/u;->a:Z

    if-eqz v9, :cond_74

    invoke-virtual {v8}, Ljava/lang/reflect/Method;->isDefault()Z

    move-result v9

    if-eqz v9, :cond_74

    move v9, v3

    goto :goto_75

    :cond_74
    move v9, v4

    :goto_75
    if-nez v9, :cond_84

    .line 7
    invoke-virtual {v8}, Ljava/lang/reflect/Method;->getModifiers()I

    move-result v9

    invoke-static {v9}, Ljava/lang/reflect/Modifier;->isStatic(I)Z

    move-result v9

    if-nez v9, :cond_84

    invoke-virtual {v0, v8}, Lya/b0;->b(Ljava/lang/reflect/Method;)Lya/c0;

    :cond_84
    add-int/lit8 v7, v7, 0x1

    goto :goto_64

    .line 8
    :cond_87
    invoke-virtual {v1}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;

    move-result-object v2

    new-array v3, v3, [Ljava/lang/Class;

    aput-object v1, v3, v4

    new-instance v4, Lya/a0;

    invoke-direct {v4, v0, v1}, Lya/a0;-><init>(Lya/b0;Ljava/lang/Class;)V

    invoke-static {v2, v3, v4}, Ljava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;

    move-result-object v0

    .line 9
    check-cast v0, Lp4/a;

    return-object v0

    .line 10
    :cond_9b
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "API declarations must be interfaces."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0
.end method
