Hack$HackedConstructor.smali

.class public Lorg/acdd/hack/Hack$HackedConstructor;
.super Ljava/lang/Object;
.source "Hack.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lorg/acdd/hack/Hack;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x9
    name = "HackedConstructor"
.end annotation


# instance fields
.field protected mConstructor:Ljava/lang/reflect/Constructor;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/reflect/Constructor",
            "<*>;"
        }
    .end annotation
.end field


# direct methods
.method constructor <init>(Ljava/lang/Class;[Ljava/lang/Class;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class",
            "<*>;[",
            "Ljava/lang/Class",
            "<*>;)V"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;
        }
    .end annotation

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

    .line 140
    if-eqz p1, :cond_b

    .line 142
    :try_start_5
    invoke-virtual {p1, p2}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;

    move-result-object v0

    iput-object v0, p0, Lorg/acdd/hack/Hack$HackedConstructor;->mConstructor:Ljava/lang/reflect/Constructor;
    :try_end_b
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b} :catch_c

    .line 149
    :cond_b
    :goto_b
    return-void

    .line 143
    :catch_c
    move-exception v0

    .line 144
    new-instance v1, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;

    invoke-direct {v1, v0}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;-><init>(Ljava/lang/Exception;)V

    .line 145
    invoke-virtual {v1, p1}, Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;->setHackedClass(Ljava/lang/Class;)V

    .line 146
    # invokes: Lorg/acdd/hack/Hack;->fail(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V
    invoke-static {v1}, Lorg/acdd/hack/Hack;->access$000(Lorg/acdd/hack/Hack$HackDeclaration$HackAssertionException;)V

    goto :goto_b
.end method


# virtual methods
.method public varargs getInstance([Ljava/lang/Object;)Ljava/lang/Object;
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/IllegalArgumentException;
        }
    .end annotation

    .prologue
    .line 153
    iget-object v0, p0, Lorg/acdd/hack/Hack$HackedConstructor;->mConstructor:Ljava/lang/reflect/Constructor;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V

    .line 155
    :try_start_6
    iget-object v0, p0, Lorg/acdd/hack/Hack$HackedConstructor;->mConstructor:Ljava/lang/reflect/Constructor;

    invoke-virtual {v0, p1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_b
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_b} :catch_d

    move-result-object v0

    .line 159
    :goto_c
    return-object v0

    .line 156
    :catch_d
    move-exception v0

    .line 157
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 159
    const/4 v0, 0x0

    goto :goto_c
.end method