BSHCastExpression.smali

.class Lbsh/BSHCastExpression;
.super Lbsh/SimpleNode;


# direct methods
.method public constructor <init>(I)V
    .registers 2

    invoke-direct {p0, p1}, Lbsh/SimpleNode;-><init>(I)V

    return-void
.end method


# virtual methods
.method public a(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Object;
    .registers 6

    const/4 v0, 0x0

    invoke-virtual {p1}, Lbsh/c;->b()Lbsh/NameSpace;

    invoke-virtual {p0, v0}, Lbsh/BSHCastExpression;->a(I)Lbsh/Node;

    move-result-object v0

    check-cast v0, Lbsh/BSHType;

    invoke-virtual {v0, p1, p2}, Lbsh/BSHType;->b(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Class;

    move-result-object v1

    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Lbsh/BSHCastExpression;->a(I)Lbsh/Node;

    move-result-object v0

    check-cast v0, Lbsh/SimpleNode;

    invoke-virtual {v0, p1, p2}, Lbsh/SimpleNode;->a(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Object;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    const/4 v2, 0x0

    :try_start_1d
    invoke-static {v0, v1, v2}, Lbsh/r;->a(Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object;
    :try_end_20
    .catch Lbsh/UtilEvalError; {:try_start_1d .. :try_end_20} :catch_22

    move-result-object v0

    return-object v0

    :catch_22
    move-exception v0

    invoke-virtual {v0, p0, p1}, Lbsh/UtilEvalError;->a(Lbsh/SimpleNode;Lbsh/c;)Lbsh/EvalError;

    move-result-object v0

    throw v0
.end method