EvalError.smali

.class public Lbsh/EvalError;
.super Ljava/lang/Exception;


# instance fields
.field a:Lbsh/SimpleNode;

.field b:Ljava/lang/String;

.field c:Lbsh/c;


# direct methods
.method public constructor <init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V
    .registers 5

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

    invoke-virtual {p0, p1}, Lbsh/EvalError;->b(Ljava/lang/String;)V

    iput-object p2, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    if-eqz p3, :cond_10

    invoke-virtual {p3}, Lbsh/c;->f()Lbsh/c;

    move-result-object v0

    iput-object v0, p0, Lbsh/EvalError;->c:Lbsh/c;

    :cond_10
    return-void
.end method


# virtual methods
.method a()Lbsh/SimpleNode;
    .registers 2

    iget-object v0, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    return-object v0
.end method

.method a(Lbsh/SimpleNode;)V
    .registers 2

    iput-object p1, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    return-void
.end method

.method public a(Ljava/lang/String;)V
    .registers 2

    invoke-virtual {p0, p1}, Lbsh/EvalError;->c(Ljava/lang/String;)V

    throw p0
.end method

.method public b()Ljava/lang/String;
    .registers 6

    iget-object v0, p0, Lbsh/EvalError;->c:Lbsh/c;

    if-nez v0, :cond_8

    const-string/jumbo v0, "<Unknown>"

    :cond_7
    return-object v0

    :cond_8
    const-string/jumbo v0, ""

    iget-object v1, p0, Lbsh/EvalError;->c:Lbsh/c;

    invoke-virtual {v1}, Lbsh/c;->f()Lbsh/c;

    move-result-object v1

    :cond_11
    :goto_11
    invoke-virtual {v1}, Lbsh/c;->d()I

    move-result v2

    if-lez v2, :cond_7

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

    move-result-object v2

    invoke-virtual {v2}, Lbsh/NameSpace;->c()Lbsh/SimpleNode;

    move-result-object v3

    iget-boolean v4, v2, Lbsh/NameSpace;->d:Z

    if-eqz v4, :cond_11

    new-instance v4, Ljava/lang/StringBuffer;

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

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

    move-result-object v0

    const-string/jumbo v4, "\nCalled from method: "

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

    move-result-object v0

    invoke-virtual {v2}, Lbsh/NameSpace;->b()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v0

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

    move-result-object v0

    if-eqz v3, :cond_11

    new-instance v2, Ljava/lang/StringBuffer;

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

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

    move-result-object v0

    const-string/jumbo v2, " : at Line: "

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

    move-result-object v0

    invoke-virtual {v3}, Lbsh/SimpleNode;->i()I

    move-result v2

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

    move-result-object v0

    const-string/jumbo v2, " : in file: "

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

    move-result-object v0

    invoke-virtual {v3}, Lbsh/SimpleNode;->h()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v0

    const-string/jumbo v2, " : "

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

    move-result-object v0

    invoke-virtual {v3}, Lbsh/SimpleNode;->j()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_11
.end method

.method public b(Ljava/lang/String;)V
    .registers 2

    iput-object p1, p0, Lbsh/EvalError;->b:Ljava/lang/String;

    return-void
.end method

.method protected c(Ljava/lang/String;)V
    .registers 4

    if-nez p1, :cond_3

    :goto_2
    return-void

    :cond_3
    iget-object v0, p0, Lbsh/EvalError;->b:Ljava/lang/String;

    if-nez v0, :cond_a

    iput-object p1, p0, Lbsh/EvalError;->b:Ljava/lang/String;

    goto :goto_2

    :cond_a
    new-instance v0, Ljava/lang/StringBuffer;

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

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

    move-result-object v0

    const-string/jumbo v1, " : "

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

    move-result-object v0

    iget-object v1, p0, Lbsh/EvalError;->b:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    iput-object v0, p0, Lbsh/EvalError;->b:Ljava/lang/String;

    goto :goto_2
.end method

.method public getMessage()Ljava/lang/String;
    .registers 2

    iget-object v0, p0, Lbsh/EvalError;->b:Ljava/lang/String;

    return-object v0
.end method

.method public toString()Ljava/lang/String;
    .registers 4

    iget-object v0, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    if-eqz v0, :cond_76

    new-instance v0, Ljava/lang/StringBuffer;

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

    const-string/jumbo v1, " : at Line: "

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

    move-result-object v0

    iget-object v1, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    invoke-virtual {v1}, Lbsh/SimpleNode;->i()I

    move-result v1

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

    move-result-object v0

    const-string/jumbo v1, " : in file: "

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

    move-result-object v0

    iget-object v1, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    invoke-virtual {v1}, Lbsh/SimpleNode;->h()Ljava/lang/String;

    move-result-object v1

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

    move-result-object v0

    const-string/jumbo v1, " : "

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

    move-result-object v0

    iget-object v1, p0, Lbsh/EvalError;->a:Lbsh/SimpleNode;

    invoke-virtual {v1}, Lbsh/SimpleNode;->j()Ljava/lang/String;

    move-result-object v1

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

    move-result-object v0

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

    move-result-object v0

    :goto_40
    iget-object v1, p0, Lbsh/EvalError;->c:Lbsh/c;

    if-eqz v1, :cond_60

    new-instance v1, Ljava/lang/StringBuffer;

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

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

    move-result-object v0

    const-string/jumbo v1, "\n"

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

    move-result-object v0

    invoke-virtual {p0}, Lbsh/EvalError;->b()Ljava/lang/String;

    move-result-object v1

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

    move-result-object v0

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

    move-result-object v0

    :cond_60
    new-instance v1, Ljava/lang/StringBuffer;

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

    invoke-virtual {p0}, Lbsh/EvalError;->getMessage()Ljava/lang/String;

    move-result-object v2

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

    move-result-object v1

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

    move-result-object v0

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

    move-result-object v0

    return-object v0

    :cond_76
    const-string/jumbo v0, ": <at unknown location>"

    goto :goto_40
.end method